CN1934529A - 海量存储加速器 - Google Patents

海量存储加速器 Download PDF

Info

Publication number
CN1934529A
CN1934529A CNA2005800081633A CN200580008163A CN1934529A CN 1934529 A CN1934529 A CN 1934529A CN A2005800081633 A CNA2005800081633 A CN A2005800081633A CN 200580008163 A CN200580008163 A CN 200580008163A CN 1934529 A CN1934529 A CN 1934529A
Authority
CN
China
Prior art keywords
data
memory storage
storage
memory
address
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
CNA2005800081633A
Other languages
English (en)
Other versions
CN100570546C (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.)
Delphi International Operations Luxembourg SARL
Original Assignee
SanDisk 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 SanDisk Corp filed Critical SanDisk Corp
Publication of CN1934529A publication Critical patent/CN1934529A/zh
Application granted granted Critical
Publication of CN100570546C publication Critical patent/CN100570546C/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Abstract

本发明提供一种数据存储装置。一磁盘装置与一非易失性存储器装置结合以提供较一单独磁盘装置所能实现的写入存取时间及数据写入速度更短的写入存取时间及更高的数据写入速度。两个存储装置之间的区段写入交错丛发能够有效消除对所述磁盘装置的搜寻时间的影响。依据一来自一主机系统的非邻接逻辑地址变迁,所述存储控制器能够在所述磁盘装置上实施一先行搜寻作业,同时将当前数据写入至所述非易失性存储器装置。此一系统能够利用一非易失性存储器装置固有的快速写入存取特性,消除通常由磁盘搜寻时间所导致的停滞时间。

Description

海量存储加速器
技术领域
本发明一般而言涉及数据存储装置,且更具体而言涉及双媒体存储。
背景技术
通用计算机需要一海量存储系统。不同于用于直接调处数据的主存储器,海量存储器是用来保存数据。通常,一程序存储于海量存储器内且,当执行所述程序时,将所述整个程序或所述程序的部分复制至主存储器内。一系统能够将所述程序及其相关数据定位且从海量存储装置传输至主存储器的速度是与所述系统的整体速度成一体。
常见的海量存储装置包括:软盘、硬盘、光盘及磁带。每种装置均在容量、价格、速度及方便性方面各具有其强点及弱点。
此外,诸如快闪存储器的其它装置能够提供非易失性存储。快闪存储器是一种电可擦可编程只读存储器(EEPROM)。尽管快闪存储器通常不像易失性主存储器那样快,但其仍快于硬盘。
本发明人先前已研究过将多个单独装置整合至一海量存储系统来最大化每一装置的强点及最小化每一装置的弱点的概念。例如,本发明人也是1997年12月31日公开的WO97/50035号PCT申请案“存储器装置”的发明人,此案以引用的方式并入本文中。所述PCT申请案阐释一种既包括一相对慢存取的海量存储装置(诸如一硬盘)也包括一相对快存取的数据存储装置(诸如一快闪存储器)的存储器系统。一类似概念业已揭示于2000年1月18日颁予Daniel Auclair及Eliyahou Harari的第6,016,530号“既具有固态也具有旋转磁盘型存储器的计算机海量存储系统”的美国专利中,所述申请案的全文以引用的方式并入本文中。
通过将一非易失性快闪存储器装置与一非易失性硬盘相组合,一合成海量存储系统的总容量能够大于其全部部件的容量之和。然而,以往,此一存储器系统被限制于始终保持每一数据区段的唯一版本的情形。所述数据区段即可存储在高速存储器内也可存储在一慢存取海量数据存储装置内,由此使逻辑地址空间等于高速存储器及慢存取海量数据存储装置的容量的和。
当今,存在多种正使用的在商业上取得成功的非易失性存储器产品,其通常采用一形成于一个或一个以上集成电路芯片上的快闪单元阵列。一通常位于一单独集成电路芯片上的存储器控制器(但非必须)控制所述存储器阵列的运作。此一控制器通常包括:一微处理器、某一非易失性只读存储器(ROM)、一易失性随机存取存储器(RAM)及一个或一个以上特殊电路,诸如,一个在数据于程序化及读取运作期间穿过所述控制器时计算所述数据中的错误修正码(ECC)的电路。
一典型快闪阵列的存储器单元可划分为多个能够一起擦除的离散存储器单元区块。亦即,所述擦除区块是所述擦除单元--一可同时擦除的最小数量的存储器单元。每一擦除区块通常存储一个或一个以上数据页,可在不同的子阵列或平面内并行编程或读取所述页。每一平面通常存储一个或一个以上数据区段,所述区段的大小是由主机系统来决定。按照一磁盘驱动器所建立的标准,一实例性区段包括512个字节的使用者数据。此等存储器通常配置为每一擦除区块内具有16、32或更多个页,且每一页存储一个或几个主数据区段。
为提高并行度,一般会将所述阵列划分为通常称作平面的子阵列。每一平面均可包括其自己的数据寄存器及允许并行运作的其它电路,以便可将所述数据区段同时编程至所有平面内或从所有平面读取。一单个集成电路上的阵列可物理上划分为多个平面,或每一平面可由单独的一个或一个以上集成电路芯片形成。此一存储器构建方案的实例阐释于1998年8月25日颁予Lee等人的第5,798,968号美国专利“平面解码/虚拟区段构造”,及1999年3月30日颁予Lee等人的第5,890,192号美国专利“将多个资料区块并行写入快闪EEPROM的多个子阵列”中,所述两个专利的全文以引用的方式并入本文中。
为进一步有效管理存储器,擦除区块可连接在一起形成虚拟区块或元区块。亦即,可规定每一元区块包括一来自每一平面的擦除区块。所述元区块的使用阐释于2002年7月25日公开的第WO02/058074号PCT专利申请案“一非易失性存储器内的部分区块数据编程及读取运作”中,所述申请案的全文以引用的方式并入本文中。所述元区块由一主机逻辑区块地址识别为一编程及读取数据的目的地。同样,一元区块的全部擦除区块能够一起擦除。一存储器系统内由这些大区块及/或元区块运作的控制器需执行大量功能,其中包括接收自一主机的逻辑区块地址(LBAs)与存储器单元阵列内物理区块编号(PBNs)之间的转换。所述区块内的个别页通常是通过所述区块地址内的偏置来识别。
此类型的快闪存储器系统通常在可携式应用中用作海量存储装置。所述快闪存储器装置使用一诸如ATA的协议经由一逻辑接口与一主机系统进行通讯,且常常呈一可移动卡的形式。某些市面出售的卡是:CompactFlashTM(CF)卡、多媒体卡(MMC)、安全数字(SD)卡、智能媒体卡、个人信息卡(P-Tag)及存储器卡。主机包括个人计算机、笔记本计算机、个人数字助理(PDAs)、各种数据通讯系统、及类似形式的设备。除存储器卡实施方案外,此类型的存储器也可嵌装于各种类型的主机系统内。
至今,人们仍在不断努力改进海量存储装置。
发明内容
本发明提供一种数据存储系统,其通常包括:一第一存储装置、一第二存储装置及一存储控制器。所述第二存储装置具有一比所述第一存储装置慢的平均存取时间及一高的容量。平均存取时间是所述装置能够开始读取或写入数据之前必需的平均延迟。
于一实施例中,所述存储控制器可运作以将数据的第一部分引导至所述第一存储装置及将数据的第二部分引导至所述第二存储装置。于另一实施例中,存储控制器可运作以从所述第一存储装置检索数据的第一部分及从所述第二存储装置检索数据的第二部分。
通常,所述数据的第一部分是一连续数据流内数据的第一部分。同样,所述数据的第二部分是来自所述数据流的剩余数据。通常使用一表来包含关于所述数据的第一部分的位置及所述数据的第二部分的位置的信息。
于另一实施例中,首先通过从一主机系统总线接收一写入指令将数据写入至一数据地址来存储所述数据。然后,将所述数据的第一部分存储于所述第一存储装置内。在所述数据的第一部分完全存储入所述第一装置内之前,所述第二存储装置业已做好写入数据的准备。在所述第二存储装置准备就绪后,将所述数据的剩余部分存储入所述第二存储装置内。
于再一实施例中,首先从所述主机系统总线接收一读取指令。然后,所述数据存储系统决定所述数据的第一部分是否驻存于所述第一存储装置上。如果所述数据确实驻存于所述第一存储装置上,则:从所述第一存储装置读取所述数据的第一部分;在完成读取所述数据的第一部分之前,所述第二存储装置做好读取所述数据的剩余部分的准备;及从第二存储装置读取所述数据的剩余部分。否则,如果所述数据的一部分并未驻存于所述第一存储装置上,则从所述第二存储装置读取所述数据的第一部分及所述数据的剩余部分二者。
通过结合以举例方式图解说明本发明原理的附图来阅读下述详细说明,本发明的其它方面及优点将显而易见。
附图说明
结合附图参照以下说明可最佳地理解本发明,图式中:
图1A描绘一能够使用本发明的实例性通用计算机系统;
图1B描绘一图1A的通用计算机系统的抽象示意图;
图2A描绘根据本发明一实例性实施例的改进型海量存储装置;
图2B描绘根据本发明另一实例性实施例的改进型海量存储装置;
图3A描绘一硬盘驱动器地址空间及一快闪地址空间内的磁头数据及主体数据的抽象示意图;
图3B描绘一硬盘驱动器地址空间及一快闪地址空间与整个改进型海量存储装置的地址空间关系的抽象示意图;
图4A是一时序图,其描绘当一未使用磁盘加速的系统接收一写入指令时所发生的传统写入处理。
图4B是一时序图,其描绘根据本发明一实例性实施例当一使用磁盘加速的系统接收一写入指令时所发生的写入处理;
图5A描绘一图解说明当快闪容量增加时系统性能益处的图表;
图5B描绘一图解说明当所述改进型海量存储装置的利用率降低时系统性能益处的图表;
图6描绘一环形缓冲区的仿效示意图;
图7是一根据本发明一实例性实施例的实例性写入技术的流程图;
图8是一根据本发明的一实例性实施例的实例性读取技术的流程图;及
图9是一图6环形缓冲区内一区段存储位置图的示意图。
应了解,在这些附图中,相同的参考编号代表相同的结构性元件。同样,应了解这些图式中的描绘未必按照比例尺。
具体实施方式
在下文说明中,列举了大量具体细节以使人们能够彻底了解本发明。当然,所属领域的技术人员应明了:无需这些具体细节的某些或全部细节也可实施本发明。在其它示例中,为避免对本发明产生不必要的混淆,本文不再赘述众所周知的过程步骤。
通常,本发明是通过组合两个各具有其强点及弱点的单独存储装置来改进先前的海量存储装置(一般也称为辅助存储器)。例如,尽管快闪比一硬盘驱动器具有更快的存取时间,但其一般不具备硬盘驱动器的存储容量。如那些所属领域的技术人员所了解的,任何两个非易失性存储装置均能够用于本发明中,只要其中一个比另一个具有更快的存取时间。应用于存储装置的存取时间通常是定义为一存储装置接收一数据请求与所述存储装置实际开始读取及/或写入所述数据之间的时间。例如,对于位于一硬盘或软盘上的数据而言,存取时间一般等于指令耗用时间、搜寻时间、稳定时间及等待时间的总和。
搜寻时间及等待时间决定一磁盘的整体存取时间。一磁盘的搜寻时间是一读/写磁头从一个磁道移动至另一个磁道所花费的时间。对于一硬盘而言,搜寻至一相邻磁道通常需要lmSec,一全程搜寻(一从内磁道至外磁道的搜寻,或反之亦然)需要15mSec,且随机搜寻的平均时间为10mSec。等待时间是指在磁头定位于一地址磁道上后所述盘片上的一已寻址区段转动至磁头的时间,且是磁盘旋转速度的函数。对于一7200rpm的旋转速度,平均等待时间是4.14mSec,而最大等待时间是8.3mSec。
相反地,于一典型的快闪磁盘装置上,可将一数据区段以约30μS的速度转移至所述装置,且可以200μS将八个区段并行编程至所述快闪存储器内。此可提供一约16MB/s的丛发写入速度,其中每250μS可将八个区段写至装置。然而,由于所述装置偶尔也须执行某些内务运作,诸如垃圾收集、再定位数据区段来完成一数据区块、及区块擦除;因此,编程八个区段的有效时间有时相当长。由此,一快闪的维持写入速率大约为15MB/Sec。当然,也可于一快闪磁盘装置内使用其它区段转移及并行编程方案,以提供一不同的运作速度。
图1A描绘一能够使用本发明的实例性通用计算机系统100。所述系统的组件包括:一计算机105、诸如一鼠标110及键盘115等各种输入装置、及诸如一监视器120及一打印机125等各种输出装置。
图1B一描绘图1所示计算机系统100的抽象视图,图中仅描绘系统的基本组件。一单个组件130表示允许一使用者与计算机系统100交作的输入装置,例如一鼠标及键盘。同样,一单个组件135表示能够显示计算机系统100所完成任务的输出装置,例如一监视器及打印机。计算机系统100的核心是一中央处理单元(CPU)140及执行指令的组件。主存储器145一般为易失性且给CPU140提供供执行的指令及供所述指令调处的数据两者。此等组件130、135、140及145均在所属技术领域中众所周知。
一改进型海量存储装置150允许计算机系统100永久保存海量数据。组件130、135、140、145及150能够经由一主机总线155相互交换信息。
图2A描绘一根据本发明一实施例的改进型海量存储装置150A。其中两个存储装置,即一快闪存储器系统205及一硬盘驱动器210为并行连接。所述快闪存储器系统205包括一快闪存储器阵列215及一快闪控制器220。硬盘驱动器210包括一硬磁盘225及一磁盘控制器230。每一控制器220及230各负责相应类型存储器的特定作业。例如,快闪控制器220控制所有数据区段的逻辑-至-物理映像及所有快闪存储器的管理,以使快闪控制器220与快闪存储器阵列215间的接口250是一物理接口。磁盘控制器230管理硬磁盘225的读取及写入作业。控制器220及230两者经由一逻辑接口260及265连接至路由器235。
一主机接口240及一存储控制器245双双定位于路由器235的上游,以允许数据及控制信息于主机接口240与磁盘控制器230或快闪控制器220之间的任一方向上通行。此外,路由器235能够控制于磁盘控制器230与快闪控制器220之间任一方向上的数据转移。此等转移可作为一独立作业实施。另一选择是,此等转移可结合主机接口240与海量存储控制器220及230之间的任一方向上的数据转移来实施。路由器235可含纳用于数据转移的控制逻辑。
主机接口240给主机总线155提供一直接接口,且能够给主机总线155上使用的特定协议提供全部支持。所述由主机接口240、磁盘控制器230及硬磁盘225构成的子系统及由主机接口240、快闪控制器220及快闪存储器阵列215构成的子系统各构成完整的数据存储系统。路由器235可使数据及控制信号通过而无需主机接口240的修改,或可建立一用于与控制器220及230通讯的替代协议。路由器235与海量存储控制器220或230之间的接口260及265可是一标准协议,例如ATA,或可是一规定用于改进型海量存储装置150的特殊接口。接口260及265通常是提供对快闪存储器系统205及硬盘驱动器210内单独数据区段的随机读取及写入存取的逻辑接口,且不相依于各自存储媒体的物理特征。
此外,快闪控制器220也可支持接口260上的特殊指令或作业,以便直接存取快闪存储器阵列215的保留区域,所述区域可用来存储供存储控制器245A使用的表及信息记录。另一选择是,存储控制器245A可具有自己的非易失性存储器供存储这些表及记录。
存储控制器245A是一能够指挥主机接口240与海量存储控制器220及230之间信息转移的智能型控制单元。存储控制器245A可协调至或自快闪存储器系统205或硬盘驱动器210内数据的存储或数据的读取。存储控制器245A能够为存储于快闪存储器阵列215中的信息维持地址列表。
易失性存储器可在诸多改进型海量存储装置150的组件中担当一缓冲区或高速缓冲存储器,所述组件包括主机接口240、路由器235、快闪控制器220及磁盘控制器230。或可排定一单个易失性存储器运作于不同组件内,或可将单独的易失性存储器专用于每一组件。
于另一实施例中,可将控制器220及230的功能与路由器235一起合并于一集成式控制装置内。此装置也可包括存储控制器245及主机接口240。然而,此一配置需要产生新的控制器单元。相应地,控制器220及230中的任一个或其两者均不会再包括在存储器装置内。虽然此配置将需要开发新的控制电路,但此也可减少所需组件的总数量。
图2B描绘一根据本发明另一实施例的改进型海量存储装置150B。所述改进型存储装置150B保留与图2A中改进型海量存储装置150A内相同的硬盘驱动器210组件,但其使用一包含路由器235及主机接口240的功能以及图2A中存储控制器245A的主要功能的存储控制器245B。逻辑接口260被去除并由一直接连接至一快闪存储器阵列215B的物理接口275所替代。于此一配置中,一磁盘加速器250宜为一位于硬盘驱动器210的ATA接口上的前端高速缓冲存储器或为利用硬盘驱动器210的既有组件而集成于硬盘驱动器210组合件中。于此实施例中,不再需要快闪控制器220的功能且快闪存储器阵列215B也不再构成一逻辑数据存储装置的部分,但其可直接用作一物理存储器。此配置特别适合临时存储数据流。
无论使用何种具体构造,磁盘加速通常均可通过在一第二存储装置正经历等待的同时将一“磁头”数据写至一第一存储装置及/或从所述第一存储装置读取所述“磁头”数据来实现。在图2A及图2B中所示的实施例中,快闪存储器阵列215所经历的等待时间明显小于硬磁盘225。将数据流的一初始部分(“磁头数据”)写入至快闪存储器系统205的快闪存储器阵列215,而非等待硬磁盘225的读/写磁头合适定位。一旦硬磁盘225已准备接收数据,即将剩余部分(“主体数据”)写入至硬盘驱动器210的硬磁盘225。同时,所述磁头数据及主体数据形成一单个资料片段。一数据片段可定义为一能够导致所述第二存储装置经历一非一般存取时间的数据簇。如果是一硬磁盘225,则可将一数据片段阐释为一非邻接先前数据的顺序数据,由此可迫使硬盘驱动器210经历搜寻时间及/或等待时间。
取决于如何利用改进型海量存储装置150,所述磁头数据的大小或可基于需要来计算或可是一标准大小。一标准大小可取决于多个因素,包括一硬盘驱动器210的平均搜寻时间、快闪存储器阵列215的大小、及/或在因一垃圾收集运作而出现一显著延长的有效编程时间之前可写入的逻辑上相邻区段的数量。
图3A是一描绘一硬盘驱动器地址空间315及快闪地址空间320内磁头数据305及主体数据310的抽象视图。存储控制器245A或245B使用一磁头映像表325来协调磁头数据305及主体数据310的存储。如果快闪存地址空间320足够大,则磁头数据305能够永久驻存于快闪存储器阵列215内。然而,如果所述快闪空间有限,则需要构建机理以允许从快闪存储器阵列215中移除磁头数据305,从而给新磁头数据腾出空间。
一种此类机理可包括将磁盘地址空间305内的空间330保留用于磁头数据305。当快闪存储器阵列215内需要空间时,可将磁头数据305复制至保留空间330,以使整个数据片段在硬磁盘225上邻接。较佳地,在未使用改进型海量存储装置150A或150B时,磁头数据305的复制可作为一背景作业予以实施。这一区段再定位的频率较佳是根据磁盘装置与快闪存储器装置的存储器容量的比率,及根据能够写至改进型海量存储装置150的单独邻接区段序列的数量而定。
同样,图3B是一描绘所述整个改进型海量存储装置的一地址空间350与磁盘地址空间315及快闪地址空间320之间关系的抽象视图。由于磁盘地址空间315内保留有用于磁头数据的空间,所以用于所述改进型海量存储装置的地址空间350等于磁盘地址空间315。
从图4A与图4B的差异可看出:系统性能因使用改进型海量存储装置而提高。图4A是一时序图,其描绘当从一海量存储系统接收到一写入指令405时所发生的传统写入处理,此处,所述海量存储系统未使用本发明所提供的磁盘加速。通常,大约在硬盘驱动器210的读/写磁头开始移动415至适当位置的同时,数据410开始转移至一磁盘高速缓冲存储器。一旦所述读/写磁头及硬磁盘225均已进入位置,即可开始将数据420写至硬磁盘225。通常,将数据420从所述高速缓冲存储器写至硬磁盘225所花费置时间长于将进入数据410转移至高速缓冲存储器内所花费的时间。
图4B是一描绘根据本发明实施例在一使用磁盘加速的海量存储系统接收到一写入指令405时所发生的写入处理的时序图。一旦接收到写入指令405,数个不同的运作即可开始。例如,可开始将磁头数据425及430转移至快闪存储器内。易失性缓冲存储器无需快闪所需的内务运作。因此,将磁头数据430存储于快闪存储器系统205内通常包括:将磁头数据425转移至一缓冲区,且随后将磁头数据425从所述缓冲区转移至快闪存储器系统205以于快闪存储器系统205内产生磁头数据430。在存储磁头数据425及430的同时,硬盘驱动器210准备接收数据。如果正为所述磁头数据保留空间,则给硬盘驱动器210提供一新的写入指令435。所述新的写入指令435不会将读/写磁头引导至所述数据片段地址,而是引导至所述主体数据地址,而所述主体数据地址仅是偏置开分配给所述磁头数据的分配空间的片段地址。在硬盘驱动器210接收到新的写入指令435之后,即可将读/写磁头及硬盘适当定位440。
一旦磁头数据425全部转移至快闪缓冲区425,则开始将主体数据445存储于改进型海量存储装置的磁盘高速缓冲存储器内,因此,一主机系统将数据转移至改进型海量存储装置150内的速度与一未使用磁盘加速的系统的转移速度相同。当读/写磁头及硬盘均已进入位置时,一旦所述主体数据可用,即可开始将主体数据450写至硬磁盘。写入图4B中的数据片段所花费的总时间明显小于图4A中所需的总时间。
然而,系统性能的整体提高既取决于快闪存储器阵列215的容量也取决于存取改进型海量存储装置150的频率。如图5A所示,当快闪存储器阵列215的容量增加时,系统性能会显著获益。快闪存储器阵列215越大,在具有多个数据片段的丛发行动期间可存储的数据越多。
同样地,图5B显示:当利用更多改进型海量存储装置150时,系统性能会降低。如果持续不断地存取海量存储装置150,则将没有足够的时间将磁头数据从快闪存储器阵列215转移至硬磁盘225(假设必须转移)。最后,根据其错误处理例程,海量存储装置150或必须在接收新磁头数据之前转移旧磁头数据,或必须停止使用快闪存储器阵列215而将硬盘驱动器210专用于新数据片段。如图5B所示,假若采用后一错误处理例程,则系统性能应与一仅使用一硬盘驱动器210的系统相同。如果快闪存储器阵列215暂时不可用,则也可利用此一错误处理例程(例如,快闪存储器阵列215参与一垃圾收集过程)。如果在主机数据正被写入至硬盘驱动器210的同时,执行垃圾收集作业,则会减少与垃圾收集的冲突,其原因是此时通常为快闪存储器阵列215的待用时间。
图6描绘一种以环形缓冲区600形式组织快闪存储器阵列215B的数据流中的区段存储的方式。供写入一数据区段的当前位置由一写入指针605来界定,所述写入指针以一无终点循环在图6所示的地址空间内顺时针移动。所述地址空间是由元区块来界定(例如,610及615),所述元区块以一预定次序或以写入指针605从一全元区块移动至一新擦除元区块时动态决定的次序链接(例如620)。同样地,一擦除指针625以一无终点循环在图6所示的地址空间内顺时针移动。为存储新的数据区段,以一能够确保在写入指针605前维持少量备用已擦除元区块的速率,擦除由擦除指针625识别的元区块。所述正被擦除的区块包含最少量最近写入环形缓冲区600内的数据。
磁头数据存储于一循环地址空间内,亦即,一于其内可通过提供一从最高地址返回至最低地址的递增步骤,连续实施递增地址变迁的地址空间。于图2A中所描绘的改进型海量存储装置150A的实施例中,快闪存储器系统205的逻辑地址空间的一部分内的循环缓冲区提供所述循环地址空间。于图2B中所描绘的改进型海量存储装置150B的实施例中,快闪存储器阵列215B的物理地址空间内的环形缓冲区600提供所述循环地址空间。
为保持快闪存储器的成本尽可能低,快闪存储器阵列215的容量通常小于存储与改进型海量存储装置150的整个地址空间350相关的全部磁头数据所需的容量。由此,为了在快闪存储器阵列215内腾出空间供继续存储磁头数据,需要将磁头数据从快闪存储器阵列215复制至硬磁盘225上适合的保留空间。执行此作业的方法对通过改进型海量存储装置150而实现的系统性能的整体提高具有重要作用。
图9描绘一与将磁头数据复制至硬盘驱动器210的管理方法相关的环形缓冲区600内的区段存储位置图。所述环形缓冲区600具有一从其最后物理地址至其第一物理地址呈环绕状的环形地址空间。所述环形缓冲区600包括元区块960、965、970、975、980、985、990及995。区段数据在由递增写入指针605所界定的位置处写至所述缓冲区。图9将此循环地址空间描绘为一移动线性地址空间,其中包括写入指针605的元区块960被指配为缓冲区910的顶部。循环缓冲区600内写入指针605前面的元区块995被指配为缓冲区940的底部。擦除指针625界定供擦除的下一目标区块,且也界定所述缓冲区内磁头数据输入项的尾部。擦除指针625与缓冲区底部940之间的元区块均处于被擦除状态。
自擦除指针625所识别的元区块990复制有效磁头数据,以允许擦除元区块990。如果磁头数据305自其写至环形缓冲区600后尚未被读取,则将其复制至硬磁盘225上对应的保留空间330。然而,如果磁头数据305自写入后已被读取,则也可将其在写入指针605处复制回快闪存储器,且因此保存在环形缓冲区600内。此可允许可能供主机系统读取的磁头数据仍会在环形缓冲区600内保持可用。可使用磁头映像表325及数据区段自身的一标头内的逻辑地址信息来识别有效磁头数据。如果有效磁头数据重叠元区块990与另一元区块间的边界,则完整地复制整个磁头数据。
然而,磁头数据可能因相同逻辑地址的更新磁头数据存在于环形缓冲区600内的其它地方而无效。于此情形下,无需在擦除元区块990之前复制所述磁头数据。
在除所述由擦除指针625识别的元区块外的元区块上执行提前复制作业。此可允许,例如,在主机所需的一磁盘存取临时阻止对硬磁盘225的复制作业时,继续实施对快闪存储器阵列115的复制作业。一快闪复制指针915及一磁盘复制指针905均可用于识别下一需要复制作业的位置。位于擦除指针625与复制指针905及915之间的有效磁头数据均应已执行其所要求的复制作业。由于人们期望在环形缓冲区600内存储尽可能多的有效磁头数据,因此,对此等提前复制作业的程度设定若干限制。一磁盘复制限制920及一快闪复制限制930界定磁盘复制指针905及快闪复制指针915可在擦除指针625前移动的最大限度。
无需将擦除元区块限定于指针625所识别的元区块。例如,如果擦除指针625处的元区块990需要进一步快闪复制作业,同时擦除指针625与磁盘复制指针905之间的元区块980不包含未复制的有效数据,则可立即擦除元区块980。于此情形下,可修改一规定元区块链接次序形成环形缓冲区的区块链接表,以将新擦除元区块980移至擦除指针625下方。
在任何可能的地方,将磁头数据的复制作为一背景任务予以实施。一至快闪存储器阵列215的复制可与主机-至-磁盘或磁盘-至-主机的数据转移同时实施。另一选择是,假如果复制一完整的元区块,则无需移动一实际数据。可仅修改区块链接表来再定位缓冲区内的数据。当主机接口非现用时,可在环形缓冲区600与硬盘高速缓冲存储器之间实施一快速磁盘复制。如果主机开始活动,则会安全地终止一磁盘复制,且所述磁盘复制可在一随后时间恢复或重复实施。
存储在快闪存储器阵列215内的管理表可包括一磁头映像表325及一区块链接表。于一实施例中,所述磁头映像表325仅能为存储于快闪存储器阵列215内的每一有效磁头数据片段提供一个输入项。随后,所述输入项将以一非连续逻辑地址次序存储于一专用区块内的一磁头映像表区段集合内,以允许借助一已界定的逻辑地址来搜寻一输入项。每一输入项可具有单独字段用于:一改进型海量存储装置内的逻辑地址、一环形缓冲区内的物理地址、一磁头数据的大小(如果未使用一固定磁头大小)、一指示所述磁头数据自写入后已被读取的读取旗标、及一指示所述磁头数据已复制至硬盘驱动器210的复制旗标。所述区块链接表给环形缓冲区600内的每一链接元区块提供一个输入项。所述输入项以区块链接次序存储在一专用区块内的一链接表区段集合内。可添加新的链接表区段,并可修改其次序。每一区段无需满载,且可添加新输入项。所述最后写入的链接表区段可包括界定所述专用区块内所有有效链接表区段的位置及其次序的信息。
图7是一本发明实例性实施例的实例性写入技术的流程图。在705处,从主机系统总线155接收一在某个地址X写入数据的指令。在710处,改进型海量存储装置150决定地址X是否邻接于先前已存取的地址且因此是一现有数据片段的部分、或是非邻接于先前地址并界定一新数据片段的开始。如果所述地址是邻接,则所述数据在715处被直接写入至硬盘驱动器210并续接所述现有数据片段。如果快闪存储器阵列215是非邻接,则尝试将所述数据作为新数据片段的磁头数据写入至快闪存储器阵列215。
如果欲写入磁头数据,则所述系统在720处决定快闪存储器阵列215是否已准备就绪。如果因任何原因快闪存储器阵列215不可用,则所述系统可在715处简单地将磁头数据写入至硬盘驱动器210且不对所述片段执行加速。如果快闪存储器阵列215可用,则接下来的三个作业可大致同时进行。
三个作业中的第一个是在725处发送一搜寻指令至硬盘驱动器210。如果数据最终将从快闪存储器阵列215转移至硬盘驱动器210,则所述搜寻指令应考虑一等同于所述磁头数据大小的偏差。因此,硬盘驱动器210应接收一搜寻指令以将读/写磁头定位至地址X+H,其中H是所述磁头数据偏差的大小。在730处,将所述磁头数据写入至快闪存储器阵列215。如果使用一环形缓冲区,则在写入指针处写入所述磁头数据。在735处,更新所述区块映像表以指示磁头数据被独自存储在快闪存储器阵列215内。为适当地协调数据,存储控制器245应具有关于硬磁盘225内逻辑地址及快闪存储器阵列215内物理地址的信息。另一选择是,其它信息也可存储在区块映像表内。例如,如果所述磁头大小是可变,则也应存储所述磁头的大小。下文将结合图8讨论其它旗标。
在所述磁头数据正被写入至快闪存储器阵列215且所述区块映像表被更新的同时,硬盘驱动器210在740处等待硬磁盘225适当定位。一旦进入合适位置,假若改进型海量存储装置150已从主机系统总线155接收到主体数据,则在745处,所述主体数据开始被写入至硬磁盘225。
图8是本发明一实施例的实例性读取技术的流程图。在805处,从主机系统总线155接收一在某个地址X读取数据的指令。在810处,存储控制器245决定在区块映像表内是否存在一地址X的输入项。如果所述地址未在区块映像表内,则所述系统在815处从硬盘驱动器210读取所述数据。随后,在820处,系统决定快闪存储器阵列215是否准备写入。如果因某个原因(例如,垃圾收集)快闪存储器阵列215不可用,则可结束所述过程,从而担当一无磁盘加速的系统。然而,如果快闪存储器215是可用,则在825处,可在从硬盘驱动器210读取数据的同时,将磁头数据复制至快闪存储器阵列215。随后,在830处,可更新所述区块映像表来指示现在驻存于快闪存储器阵列215上的磁头数据。
一旦一输入存在于所述区块映射表内,则在805处接收一读取指令后,存储控制器245将遵循一不同的路径。如果在810处所述地址是在区块映像表内,则存储控制器245将给硬盘驱动器210发送一搜寻指令来搜寻硬盘驱动器210内主体数据的地址。在本发明的实施例中,所述主体数据的地址将是偏置磁头数据大小的地址X。随后,在840处,存储控制器245通常等待快闪存储器阵列215准备就绪。然而,某些实施例可具有额外的错误处理例程,所述额外的错误处理例程可决定在硬盘驱动器210内是否也存在所述磁头的一副本,且如果适合,如果其在快闪存储器阵列215之前可用,则仅从硬盘驱动器210读取所述数据。在某些专使用读取技术的实施例中,所述磁头数据的一副本始终存在于所述硬盘驱动器内。一旦快闪存储器阵列215可用,则在845处从所述快闪读取磁头数据。在850处,可在所述区块映射表内设置一旗标来指示已读取对应于表输入项的数据。假若使用一环形缓冲区布置,在必须擦除含有所述输入项的元区块时,此一旗标将允许所述输入项通过复制至所述缓冲区的顶部而非硬盘驱动器而得以保存在所述环形缓冲区内。
当所述磁头数据完全从快闪存储器阵列215读出后,则在855处,所述系统可能需要等待硬磁盘225正确定位。一旦合适定位,则在860处从硬磁盘225读取所述主体数据。
尽管本文以其当前所设想的最佳模式阐释本发明,但应了解:本发明可具有诸多修改、运作模式及实施例,且这些均在所属领域技术人员的能力范围内且无需进一步实施发明性行动。例如,其它改进型存储装置可使用除快闪或硬盘驱动器外的技术,且可包括电池支持型RAM、光盘、相变化存储器(OUM)、磁性RAM(MRAM)、铁电聚合物、铁电RAM(FeRAM)、绝缘体上覆硅(Sol)等。相应地,意欲受到专利保护的内容陈述于权利要求且包括属于权利要求精神及范围内的所有改变及修改。

Claims (24)

1、一种数据存储系统,其包括:
一第一非易失性存储装置;
一具有比所述第一存储装置慢的平均存取时间及高的容量的第二非易失性存储装置,其中所述较慢的平均存取时间是所述第二非易失性存储装置开始写入数据之前必须的平均延迟;及
一可运作用来将数据的一第一部分引导至所述第一存储装置及将数据的一第二部分引导至所述第二存储装置的存储控制器。
2、如权利要求1所述的数据存储系统,其中所述存储控制器可运作以指挥所述第二装置保留足够的空间来容纳所述数据的第一部分。
3、如权利要求2所述的数据存储系统,其中所述存储控制器可运作以指挥所述第一存储装置将所述数据的所述第一部分发送至所述第二存储装置内所述所保留的空间。
4、如权利要求1所述的数据存储系统,其中所述第一非易失性存储装置在所述存储控制器正将所述数据的第二部分引导至所述第二存储装置时,执行非直接与所述数据存储相关的作业。
5、如权利要求4所述的数据存储系统,其中非直接与所述数据存储相关的作业包括垃圾收集。
6、如权利要求1所述的数据存储系统,其中所述第二存储装置在所述数据的整个第一部分被引导至所述第一存储装置之前开始经历其延迟。
7、如权利要求1所述的数据存储系统,其中所述第一存储装置将数据存储于物理地址的一环形缓冲区布置内。
8、如权利要求1所述的数据存储系统,其中所述第一存储装置将数据存储于逻辑地址的一循环缓冲区布置内。
9、如权利要求1所述的数据存储系统,其中所述存储控制器可额外运作以从所述第一存储装置检索数据的一第一部分及从所述第二存储装置检索数据的一第二部分。
10、如权利要求1所述的数据存储系统,其中:
所述第一非易失性存储装置是一固态存储器;及
所述第二非易失性存储装置是一硬磁盘。
11、如权利要求10所述的数据存储系统,其中所述固态存储器是一快闪存储器系统。
12、一种数据存储系统,其包括:
一第一非易失性存储装置;
一具有比所述第一存储装置慢的平均存取时间及高的容量的第二非易失性存储装置,其中所述较慢的平均存取时间是所述第二非易失性存储装置开始读取数据之前必须的平均延迟;及
一可运作以从所述第一存储装置检索数据的一第一部分及从所述第二存储装置检索数据的一第二部分的存储控制器。
13、一种数据存储系统,其包括:
一可运作以存储磁头数据的第一存储装置,所述磁头数据是一邻接数据流中的数据的一第一部分;
一具有比所述第一存储装置慢的平均存取时间及高的容量的第二存储装置,所述第二存储装置可运作以存储主体数据,所述主体数据是一邻接数据流中的数据的一剩余部分;
一可运作以包含关于所述磁头数据的位置及所述主体数据的位置的信息的磁头表;及
一可运作以通过使用所述磁头表来满足数据存储请求的存储控制器。
14、一种用于存储数据的方法,其包括:
从一主机系统总线接收一写入指令以写至一数据地址;
从所述主机系统总线接收一数据片段;
将所述数据的一第一部分存储于一第一存储装置内;
在完成将所述数据片段的所述第一部分存储于所述第一存储装置前,使一第二存储装置做好写入数据的准备;及
在所述第二存储装置已做好准备后,将所述数据片段的一剩余部分存储于所述第二存储装置内。
15、如权利要求15所述的存储数据的方法,其进一步包括更新一包含关于所述数据的第一部分及所述数据的剩余部分的所述位置信息的磁头表。
16、如权利要求14所述的存储数据的方法,其中使所述第二存储装置做好写入数据准备包括将一搜寻指令发送至一等于所述数据地址的第二地址及一足够大以存储所述数据片段的所述第一部分的偏置。
17、如权利要求16所述的存储数据的方法,其进一步包括随后将所述数据片段的所述第一部分从所述第一存储装置复制至所述第二存储装置内的所述数据地址。
18、如权利要求17所述的存储数据的方法,其中在所述主机系统总线未请求存取所述包含在所述第一或所述第二存储装置内的数据期间,实施所述复制。
19、如权利要求14所述的存储数据的方法,其中如果所述第一存储装置不可用,则将所述整个数据片段都存储于所述第二存储装置内。
20、一种检索数据的方法,其包括:
从一主机系统总线接收一读取指令以在一数据地址读取数据;
决定所述数据的一第一部分是否驻存于一第一存储装置上;
如果所述数据的第一部分驻存于所述第一存储装置上,则
从所述第一存储装置读取所述数据的所述第一部分;
在完成读取所述第一存储装置内的所述数据片段的所述第一部分之前,使一第二存储装置准备读取所述数据的一剩余部分;及
在所述第二存储装置已准备好读取所述数据的所述剩余部分后,从所述第二存储装置读取所述数据的剩余部分;及
如果所述数据的第一部分并未驻存于所述第一存储装置上,则从所述第二存储装置读取所述数据的所述第一部分且读取所述数据的所述剩余部分。
21、如权利要求20所述的检索数据的方法,其进一步包括:如果决定所述数据的第一部分并未驻存于所述第一装置上,则将所述数据的第一部分从所述第二存储装置复制至所述第一存储装置。
22、如权利要求20所述的检索数据的方法,其进一步包括于一磁头映像表内设置一指示已请求所述数据的旗标。
23、如权利要求20所述的检索数据的方法,其中如果所述第一存储装置不可用,则从所述第二存储装置读取所述数据的第一部分及所述数据的剩余部分。
24、一种至少包括用来存储数据的计算机程序码的计算机可读媒体,所述计算机可读媒体包括:
用于从一主机系统总线接收一写入指令以写至一数据地址的计算机程序码;
用于从所述主机系统总线接收一数据片段的计算机程序码;
用于将所述数据片段的一第一部分存储于一第一存储装置内的计算机程序码;
用于在完成将所述数据片段的所述第一部分存储于所述第一存储装置内之前,使一第二存储装置做好写入数据准备的计算机程序码;及
用于在所述第二存储装置已准备好后,将所述数据片段的一剩余部分存储于所述第二存储装置内的计算机程序码。
CNB2005800081633A 2004-02-04 2005-01-05 使用第一和第二存储装置的磁盘加速 Active CN100570546C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/772,789 US7127549B2 (en) 2004-02-04 2004-02-04 Disk acceleration using first and second storage devices
US10/772,789 2004-02-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN200910206622.9A Division CN101685382B (zh) 2004-02-04 2005-01-05 使用第一及第二存储装置的磁盘加速

Publications (2)

Publication Number Publication Date
CN1934529A true CN1934529A (zh) 2007-03-21
CN100570546C CN100570546C (zh) 2009-12-16

Family

ID=34808627

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800081633A Active CN100570546C (zh) 2004-02-04 2005-01-05 使用第一和第二存储装置的磁盘加速

Country Status (7)

Country Link
US (2) US7127549B2 (zh)
EP (2) EP2241966A3 (zh)
JP (3) JP4777263B2 (zh)
KR (1) KR101200670B1 (zh)
CN (1) CN100570546C (zh)
TW (1) TWI360050B (zh)
WO (1) WO2005081097A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102265267A (zh) * 2009-07-07 2011-11-30 Lsi公司 用于分层非易失性存储设备的系统和方法
CN102103545B (zh) * 2009-12-16 2013-03-27 中兴通讯股份有限公司 一种数据缓存的方法、装置及系统
CN106469119A (zh) * 2015-08-10 2017-03-01 北京忆恒创源科技有限公司 一种基于nvdimm的数据写缓存方法及其装置
CN107704198A (zh) * 2012-12-17 2018-02-16 联想(北京)有限公司 信息处理的方法及电子设备

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
US8291149B2 (en) * 2003-07-07 2012-10-16 Hitachi Ulsi Systems Co., Ltd. Storage device and storage system having a hard disk drive and flash memory
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7472222B2 (en) * 2004-10-12 2008-12-30 Hitachi Global Storage Technologies Netherlands B.V. HDD having both DRAM and flash memory
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
SG126788A1 (en) * 2005-04-19 2006-11-29 Trek 2000 Int Ltd Interface for non-volatile memories
US7318118B2 (en) * 2005-07-14 2008-01-08 Hitachi Global Storage Technologies B.V. System and method for selective write to flash memory in HDD
JP5619355B2 (ja) 2005-08-26 2014-11-05 トムソン ライセンシングThomson Licensing 画像を処理する方法及び装置
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
KR100755702B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
US20070147115A1 (en) * 2005-12-28 2007-06-28 Fong-Long Lin Unified memory and controller
JP2008033412A (ja) * 2006-07-26 2008-02-14 Hitachi Ltd 計算機システムの性能管理方法、管理計算機、及びストレージ装置
US20080072084A1 (en) * 2006-09-20 2008-03-20 Chao-Kuang Yang Method for Power Management
WO2008057557A2 (en) 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
US20080244105A1 (en) * 2007-03-27 2008-10-02 Rothman Michael A Enhancing performance of input-output (i/o) components
WO2008149453A1 (ja) * 2007-06-08 2008-12-11 Fujitsu Limited 記憶装置、記憶制御装置及び制御方法
US8032699B2 (en) * 2007-06-15 2011-10-04 Seagate Technology Llc System and method of monitoring data storage activity
US20090006720A1 (en) * 2007-06-27 2009-01-01 Shai Traister Scheduling phased garbage collection and house keeping operations in a flash memory system
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US20090002863A1 (en) * 2007-06-29 2009-01-01 Seagate Technology, Llc System and method of monitoring data operations at a data storage device
US8122322B2 (en) 2007-07-31 2012-02-21 Seagate Technology Llc System and method of storing reliability data
JP5124217B2 (ja) * 2007-09-18 2013-01-23 株式会社日立製作所 ストレージ装置
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US8416657B2 (en) * 2007-12-03 2013-04-09 Mediatek Inc. Method and system for managing data from host to optical disc
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US20090172048A1 (en) * 2007-12-31 2009-07-02 Intel Corporation Memory storage of file fragments
US8327095B2 (en) * 2008-06-06 2012-12-04 International Business Machines Corporation Maintaining information of a relationship of target volumes comprising logical copies of a source volume
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
KR101521493B1 (ko) * 2008-07-16 2015-05-19 시게이트 테크놀로지 엘엘씨 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템
KR101459520B1 (ko) * 2008-07-16 2014-11-07 시게이트 테크놀로지 엘엘씨 기입 속도를 향상시킬 수 있는 데이터 저장 장치, 및 이를포함하는 데이터 저장 시스템
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
WO2010041093A1 (en) 2008-10-09 2010-04-15 Federico Tiziani Virtualized ecc nand
US8112580B2 (en) * 2009-01-19 2012-02-07 Hitachi Global Storage Technologies Netherlands B.V. Disk drive having multiple disk surfaces accessible by a read/write head and nonvolatile memory for continuous data transfer
US20100199036A1 (en) * 2009-02-02 2010-08-05 Atrato, Inc. Systems and methods for block-level management of tiered storage
JP2010211858A (ja) 2009-03-09 2010-09-24 Sony Corp 記録再生装置及び記録再生方法
US20100262979A1 (en) * 2009-04-08 2010-10-14 Google Inc. Circular command queues for communication between a host and a data storage device
US8433845B2 (en) * 2009-04-08 2013-04-30 Google Inc. Data storage device which serializes memory device ready/busy signals
US20100287217A1 (en) * 2009-04-08 2010-11-11 Google Inc. Host control of background garbage collection in a data storage device
US8566507B2 (en) * 2009-04-08 2013-10-22 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8516264B2 (en) * 2009-10-09 2013-08-20 Lsi Corporation Interlocking plain text passwords to data encryption keys
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US9063561B2 (en) * 2009-05-06 2015-06-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Direct memory access for loopback transfers in a media controller architecture
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8151137B2 (en) * 2009-05-28 2012-04-03 Lsi Corporation Systems and methods for governing the life cycle of a solid state drive
US8176367B2 (en) 2009-05-28 2012-05-08 Agere Systems Inc. Systems and methods for managing end of life in a solid state drive
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8243546B2 (en) * 2009-09-08 2012-08-14 Lsi Corporation Systems and methods for peak power and/or EMI reduction
US8174912B2 (en) * 2009-09-08 2012-05-08 Lsi Corporation Systems and methods for circular buffering control in a memory device
US20110060862A1 (en) * 2009-09-08 2011-03-10 Lsi Corporation Systems and Methods for Switchable Memory Configuration
US8243536B2 (en) * 2009-09-08 2012-08-14 Lsi Corporation Systems and methods for increasing bit density in a memory cell
US8499220B2 (en) * 2009-09-08 2013-07-30 Lsi Corporation Systems and methods for re-designating memory regions as error code corrected memory regions
US8560765B2 (en) * 2009-09-08 2013-10-15 Lsi Corporation Systems and methods for variable level use of a multi-level flash memory
US8458416B2 (en) * 2009-09-08 2013-06-04 Lsi Corporation Systems and methods for selecting bit per cell density of a memory cell based on data typing
US20110060865A1 (en) * 2009-09-08 2011-03-10 Lsi Corporation Systems and Methods for Flash Memory Utilization
US8381077B2 (en) * 2009-09-08 2013-02-19 Lsi Corporation Systems and methods for implementing error correction in relation to a flash memory
US8560804B2 (en) * 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
US8996785B2 (en) * 2009-09-21 2015-03-31 Aplus Flash Technology, Inc. NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with serial interface
US8775719B2 (en) * 2009-09-21 2014-07-08 Aplus Flash Technology, Inc. NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with parallel interface
US8463984B2 (en) * 2009-12-31 2013-06-11 Seagate Technology Llc Dynamic data flow management in a multiple cache architecture
US8289768B2 (en) * 2010-01-22 2012-10-16 Lsi Corporation Systems and methods for extended life multi-bit memory cells
US8756387B2 (en) 2010-03-05 2014-06-17 International Business Machines Corporation Method and apparatus for optimizing the performance of a storage system
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
US8504766B2 (en) 2010-04-15 2013-08-06 Netapp, Inc. Methods and apparatus for cut-through cache management for a mirrored virtual volume of a virtualized storage system
US8489940B2 (en) 2010-04-16 2013-07-16 Netapp, Inc. Methods and apparatus for managing asynchronous dependent I/O for a virtual fibre channel target
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
USRE49818E1 (en) * 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system
JP4988008B2 (ja) * 2010-05-13 2012-08-01 株式会社東芝 情報処理装置およびドライバ
JP4988007B2 (ja) * 2010-05-13 2012-08-01 株式会社東芝 情報処理装置およびドライバ
US9213628B2 (en) 2010-07-14 2015-12-15 Nimble Storage, Inc. Methods and systems for reducing churn in flash-based cache
JP4886887B2 (ja) * 2010-07-23 2012-02-29 株式会社東芝 コマンド管理装置及び同コマンド管理装置を備えた記憶装置
US8255634B2 (en) * 2010-08-11 2012-08-28 Lsi Corporation Apparatus and methods for look-ahead virtual volume meta-data processing in a storage controller
US8261003B2 (en) 2010-08-11 2012-09-04 Lsi Corporation Apparatus and methods for managing expanded capacity of virtual volumes in a storage system
US8176218B2 (en) 2010-08-11 2012-05-08 Lsi Corporation Apparatus and methods for real-time routing of received commands in a split-path architecture storage controller
US8635412B1 (en) 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
US8825976B1 (en) 2010-09-28 2014-09-02 Western Digital Technologies, Inc. Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory
US8560759B1 (en) * 2010-10-25 2013-10-15 Western Digital Technologies, Inc. Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency
US20120275046A1 (en) * 2011-04-27 2012-11-01 Toshiba America Information Systems, Inc. Splitting a data stream between two storage media in a hybrid disk drive
US9158670B1 (en) 2011-06-30 2015-10-13 Western Digital Technologies, Inc. System and method for dynamically adjusting garbage collection policies in solid-state memory
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
KR101342658B1 (ko) 2011-12-06 2013-12-16 주식회사 디에이아이오 비휘발성 메모리 시스템 및 그 구성 방법
KR20130064521A (ko) * 2011-12-08 2013-06-18 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 관리 방법
US9128949B2 (en) * 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US9009392B2 (en) 2012-04-25 2015-04-14 International Business Machines Corporation Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US10073851B2 (en) 2013-01-08 2018-09-11 Apple Inc. Fast new file creation cache
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9164828B2 (en) 2013-09-26 2015-10-20 Seagate Technology Llc Systems and methods for enhanced data recovery in a solid state memory system
US9424179B2 (en) 2013-10-17 2016-08-23 Seagate Technology Llc Systems and methods for latency based data recycling in a solid state memory system
US9201729B2 (en) 2013-10-21 2015-12-01 Seagate Technology, Llc Systems and methods for soft data utilization in a solid state memory system
US9378840B2 (en) 2013-10-28 2016-06-28 Seagate Technology Llc Systems and methods for sub-zero threshold characterization in a memory cell
US9323467B2 (en) 2013-10-29 2016-04-26 Western Digital Technologies, Inc. Data storage device startup
US9276609B2 (en) 2013-11-16 2016-03-01 Seagate Technology Llc Systems and methods for soft decision generation in a solid state memory system
US9576683B2 (en) 2014-02-06 2017-02-21 Seagate Technology Llc Systems and methods for hard error reduction in a solid state memory device
US9378810B2 (en) 2014-02-11 2016-06-28 Seagate Technology Llc Systems and methods for last written page handling in a memory device
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US9672107B1 (en) * 2015-02-11 2017-06-06 Western Digital Technologies, Inc. Data protection for a data storage device
US9942324B2 (en) * 2015-08-05 2018-04-10 Futurewei Technologies, Inc. Rebalancing and elastic storage scheme with elastic named distributed circular buffers
TWI588824B (zh) * 2015-12-11 2017-06-21 捷鼎國際股份有限公司 加快在不連續頁面寫入資料之電腦系統及其方法
US9886209B2 (en) * 2016-02-16 2018-02-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Controlling file placement on a disk drive to improve file access
US10942844B2 (en) 2016-06-10 2021-03-09 Apple Inc. Reserved memory in memory management system
DE102016211386A1 (de) * 2016-06-14 2017-12-14 Robert Bosch Gmbh Verfahren zum Betreiben einer Recheneinheit
US10459658B2 (en) * 2016-06-23 2019-10-29 Seagate Technology Llc Hybrid data storage device with embedded command queuing
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
KR102586768B1 (ko) 2018-03-27 2023-10-16 에스케이하이닉스 주식회사 컴퓨팅 시스템 및 그것의 동작방법
DE102019117794A1 (de) * 2018-11-16 2020-06-10 Samsung Electronics Co., Ltd. Speichervorrichtungen, die heterogene Prozessoren umfassen, welche sich Speicher teilen, und Verfahren zu deren Betrieb

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US408357A (en) * 1889-08-06 William ruttan
US4896262A (en) 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5778418A (en) 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
JPH0590669U (ja) * 1992-05-20 1993-12-10 ミツミ電機株式会社 再生装置
US5636355A (en) 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5542066A (en) 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
JPH0883148A (ja) 1994-09-13 1996-03-26 Nec Corp 磁気ディスク装置
JPH08195022A (ja) * 1994-11-14 1996-07-30 Sega Enterp Ltd ディスク再生装置、カラオケシステム及びディスク再生方法
US5586291A (en) 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
US5708846A (en) 1995-02-24 1998-01-13 Intel Corporation System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5754888A (en) 1996-01-18 1998-05-19 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment
GB9613088D0 (en) 1996-06-21 1996-08-28 Memory Corp Plc Memory device
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US6424486B2 (en) * 1997-12-17 2002-07-23 Texas Instruments Incorporated Method and apparatus for positioning a read/write head of a hard disk drive
US6286056B1 (en) * 1998-06-26 2001-09-04 Seagate Technology Llc Data storage device with small computer system interface providing persistent reservations
US6408357B1 (en) 1999-01-15 2002-06-18 Western Digital Technologies, Inc. Disk drive having a cache portion for storing write data segments of a predetermined length
US6370614B1 (en) 1999-01-26 2002-04-09 Motive Power, Inc. I/O cache with user configurable preload
JP2000285590A (ja) * 1999-03-26 2000-10-13 Sony Corp ディスク装置
JP2001189912A (ja) * 1999-10-21 2001-07-10 Sanyo Electric Co Ltd デジタルtv放送記録再生装置
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
JP2002133835A (ja) * 2000-10-27 2002-05-10 Sharp Corp 記録装置
JP4523150B2 (ja) 2000-12-27 2010-08-11 レノボ シンガポール プライヴェート リミテッド データサーバシステム、コンピュータ装置、記憶媒体
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6631456B2 (en) 2001-03-06 2003-10-07 Lance Leighnor Hypercache RAM based disk emulation and method
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
JP3770138B2 (ja) * 2001-10-18 2006-04-26 ソニー株式会社 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及び情報処理装置の制御プログラムを記録した記録媒体
JP2003123381A (ja) * 2001-10-11 2003-04-25 Sony Computer Entertainment Inc ディスク再生装置及び方法、メモリ制御プログラム、メモリ制御プログラムを記録した記録媒体
US6646948B1 (en) 2002-08-29 2003-11-11 Motorola, Inc. Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time
US7024614B1 (en) * 2002-12-24 2006-04-04 Western Digital Technologies, Inc. Disk drive employing a configuration data structure comprising a plurality of configuration parameters to facilitate disk commands
US20050125603A1 (en) * 2003-12-04 2005-06-09 Ehrlich Richard M. Method for rapid availability of critical data through re-allocation
US20050125602A1 (en) * 2003-12-04 2005-06-09 Ehrlich Richard M. HDD with storage of critical data in FLASH
US20050125600A1 (en) * 2003-12-04 2005-06-09 Ehrlich Richard M. Method for storing HDD critical data in flash

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102265267A (zh) * 2009-07-07 2011-11-30 Lsi公司 用于分层非易失性存储设备的系统和方法
CN102103545B (zh) * 2009-12-16 2013-03-27 中兴通讯股份有限公司 一种数据缓存的方法、装置及系统
CN107704198A (zh) * 2012-12-17 2018-02-16 联想(北京)有限公司 信息处理的方法及电子设备
CN106469119A (zh) * 2015-08-10 2017-03-01 北京忆恒创源科技有限公司 一种基于nvdimm的数据写缓存方法及其装置

Also Published As

Publication number Publication date
TWI360050B (en) 2012-03-11
US20070028040A1 (en) 2007-02-01
JP4777263B2 (ja) 2011-09-21
KR20070001136A (ko) 2007-01-03
US7310699B2 (en) 2007-12-18
EP1716477A2 (en) 2006-11-02
TW200604796A (en) 2006-02-01
EP2241966A2 (en) 2010-10-20
EP2241966A3 (en) 2010-11-17
JP2013218741A (ja) 2013-10-24
CN101685382A (zh) 2010-03-31
WO2005081097A3 (en) 2005-11-24
US20050172067A1 (en) 2005-08-04
JP2011192298A (ja) 2011-09-29
JP2007522560A (ja) 2007-08-09
WO2005081097A2 (en) 2005-09-01
CN100570546C (zh) 2009-12-16
US7127549B2 (en) 2006-10-24
KR101200670B1 (ko) 2012-11-12

Similar Documents

Publication Publication Date Title
CN100570546C (zh) 使用第一和第二存储装置的磁盘加速
US10126959B2 (en) Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US10860477B2 (en) Apparatus and method for low power low latency high capacity storage class memory
US6751155B2 (en) Non-volatile memory control
US8452911B2 (en) Synchronized maintenance operations in a multi-bank storage system
US7302534B2 (en) Dual media storage device
US8489803B2 (en) Efficient use of flash memory in flash drives
WO2012050934A2 (en) Apparatus, system, and method for a direct interface between a memory controller and non-volatile memory using a command protocol
CN101571832B (zh) 数据写入方法及使用该方法的快闪存储系统与其控制器
US20150242310A1 (en) Data Accessing Method And Data Accessing Apparatus
WO2011071645A1 (en) Method and system for concurrent background and foreground operations in a non-volatile memory array
CN103186350A (zh) 混合存储系统及热点数据块的迁移方法
CN102819408A (zh) 可动态调整条带深度的raid 0的实现方法及系统
CN101996137A (zh) 存储装置与其资料处理方法
CN101685382B (zh) 使用第一及第二存储装置的磁盘加速
CN1749971A (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: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120508

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

Effective date of registration: 20120508

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American Texas

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: American Texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Corp.