CN101542449B - 优化存储控制器高速缓存卸载电路性能和可靠性的系统 - Google Patents

优化存储控制器高速缓存卸载电路性能和可靠性的系统 Download PDF

Info

Publication number
CN101542449B
CN101542449B CN2007800439252A CN200780043925A CN101542449B CN 101542449 B CN101542449 B CN 101542449B CN 2007800439252 A CN2007800439252 A CN 2007800439252A CN 200780043925 A CN200780043925 A CN 200780043925A CN 101542449 B CN101542449 B CN 101542449B
Authority
CN
China
Prior art keywords
memory
cache
circuit
bandwidth
power
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.)
Expired - Fee Related
Application number
CN2007800439252A
Other languages
English (en)
Other versions
CN101542449A (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.)
Avago Technologies General IP Singapore Pte Ltd
Original Assignee
Infineon Technologies North America 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 Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN101542449A publication Critical patent/CN101542449A/zh
Application granted granted Critical
Publication of CN101542449B publication Critical patent/CN101542449B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1009Cache, i.e. caches used in RAID system with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Abstract

公开了一种用于对高速缓冲存储器进行卸载的方法(140)。该方法大体包括以下步骤:(A)响应于信号的认定对高速缓冲存储器的多条高速缓存线中的所有高速缓存线进行读取,以对高速缓冲存储器进行卸载(144),(B)根据RAID配置通过对各高速缓存线进行分割来产生多个块(146),以及(C)将这些块写入RAID配置中的多个非易失性存储器中,其中,每个非易失性存储器均具有小于高速缓冲存储器的读取带宽的写入带宽(148)。

Description

优化存储控制器高速缓存卸载电路性能和可靠性的系统
技术领域
本发明大体涉及存储控制器,且更具体地,涉及用于优化存储控制器高速缓存卸载电路的性能和可靠性的方法和/或设备。
背景技术
一旦AC电源有功率损耗,传统存储控制器就被迫使用来自储量有限的电池备用单元的功率来尽可能快且可靠地将高速缓冲内容从高速缓冲存储器卸载到本地持久性存储装置。该持久性存储装置(i)通常是本地的以避免依赖于要被加电的远程装置,以及(ii)利用非常少量的功率来避免大的电池。非常少的功率导致持久性存储装置具有有限的访问带宽。大的电池非常昂贵且具有随着时间而降低的可靠性。
发明内容
本发明涉及用于对高速缓冲存储器进行卸载的方法。该方法大体包括以下步骤:(A)响应于信号的认定(assert)对高速缓冲存储器的多条高速缓存线中的所有高速缓存线进行读取,以对高速缓冲存储器进行卸载,(B)根据RAID配置通过对各高速缓存线进行分割来产生多个块,以及(C)将这些块写入RAID配置中的多个非易失性存储器中,其中,每个非易失性存储器都具有小于高速缓冲存储器的读取带宽的写入带宽。
本发明的目的、特征和优点包括:提供用于优化存储器控制器高速缓存卸载电路的性能和可靠性的方法和/或设备,该方法和/或设备可以(i)在RAID配置中布置多个非易失性存储器,(ii)基本上同时地对两个或更多的非易失性存储器进行写入,(iii)使得能够通过添加更多的存储器电路来进行非易失性存储器的容量扩展,(iv)相比于传统方法允许更小的电池备用单元大小,和/或(v)允许使用超电容器技术作为传统电池单元的替代。
附图说明
本发明的这些和其他目的、特征和优点将从下面的详细描述和所附权利要求以及附图中变得显而易见,附图中:
图1是根据本发明优选实施例的系统的框图;
图2是非易失性存储器电路的示例性实现的示图;
图3是用于对高速缓冲存储器进行卸载的示例性方法的流程图;
图4是示例性RAID 0配置的示图;
图5是示例性RAID 1配置的示图;以及
图6是示例性RAID 5配置的示图。
具体实施方式
本发明大体实现了并行使用多个非易失性驱动器的快速高速缓存卸载架构。这些非易失性驱动器可以被安排在RAID配置中,诸如RAID 0配置、RAID 1配置、或RAID 5配置。还可以实现其他的RAID配置以满足特定应用的标准。相比于传统技术,多个RAID配置的并行写入特性通常考虑了高速缓存卸载接口上更高的性能和更高的可靠性。
参照图1,示出了根据本发明一个优选实施例的系统100的框图。该系统(或设备)100可以实现为一个基于高速缓存的处理系统。该系统100通常包括:电路(或模块)102、电路(或模块)104、电路(或模块)106、电路(或模块)108、电路(或模块)110、和电路(或模块)112。可以通过电路110接收信号(例如,PWR)。可以由电路110产生一个信号(例如,OFFLOAD)并将其提供给电路104。接口114可以使得电路102和电路104能够彼此进行通信。电路104可以通过接口116与电路106进行通信。接口118可以允许电路104与电路108进行通信。电路104可以通过接口120与电路112进行通信。
电路102可以实现为处理器电路。电路102可以用于通过执行软件程序来执行各种功能。电路102可以通过电路104从电路106、108和112读取软件程序的指令和/或数据,以及将软件程序的指令和/或数据写入电路106、108和112。
电路104可以实现为存储器控制器电路。电路104可以用于控制电路106、电路108和电路112。电路104可以通过处理器接口114与电路102交换软件程序的指令和数据。这些数据和指令可以(i)通过高速缓存接口116在电路104和电路106之间、(ii)通过闪存接口118在电路104和电路108之间、以及通过存储器接口120在电路104和电路112之间进行交换。电路104可以进一步用于响应于信号OFFLOAD的认定状态(例如,逻辑低)来通过接口118将存储在电路106中的所有信息(例如,数据和指令)卸载到电路108中(见箭头128)。
电路106可以实现为易失性存储器。具体地,电路106可以被实现为易失性高速缓冲存储器。电路106通常可用于缓冲由在电流102中执行的软件产生和使用的数据和指令。存储在电路106中的信息可以被安排为高速缓存线124a-124n。高速缓存线124a-124n中的每一个都可以基于高速缓存命中和高速缓存未命中来与电路112进行交换。这些高速缓存线可以被以第一读取带宽从电路106被读取,而以第一写入带宽被写入。
电路108可以实现为非易失性存储器126a-126d的阵列。存储器(或部件)126a-126d可以被安排在RAID(独立磁盘的冗余阵列)配置中。在一些实施例中,电路108的每个存储器“磁盘”126a-126d都可以实现为闪存。还可以实现其他的非易失性存储器技术来满足特定应用的标准。信息可以以第二写入带宽被写入到存储器126a-126d中的每一个,以及以第二读取带宽被读取。
电路110可以实现为备用功率单元。电路110可以用于将在信号PWR中接收到的电功率存储、变换、调整和/或滤波成适于电路102、104、106、108和112使用的一个或多个功率网络。电路110还可用于在有限的时间内提供电功率,以适于使电路104、106和108至少工作足够的时间以将信息从电路106卸载到电路108中。此外,电路110可以监控通过信号PWR流入的功率状况,以及响应于信号PWR中功率的严重下降和/或完全损失来认定信号OFFLINE。在一些实施例中,电路110可以实现为一个或多个电池。在至少一个实施例中,电路110可以实现为一个或多个超电容器或超级电容器(super-capacitor或ultra-capacitor)。
电路112可以实现为主存储器电路。具体地,电路112可以实现为易失性随机存取存储器。电路112可以用于存储在电路102上执行的软件的指令和数据。如由电路104所确定的,电路112可以为电路106提供高速缓存线以及接收来自电路106的高速缓存线。
参照图2,示出了电路108的示例性实现的示图。除了存储器部件126a-126d以外,电路108还可以包括多个插口130a-130d。这些插口(或端口)130a-130d中的每一个都通常被安排为连接至单个的存储器126a-126d。该连接可以包括物理连接、电功率连接和通信连接。在系统100的至少一个配置中,插口130a-130d可以由单个存储器部件(例如,126a)总装(populate)。在系统100的其他配置中,两个或更多的存储器126a-126d可以被安装在插口130a-130d中。
参照图3,示出了用于对电路106进行卸载的示例性方法140的流程图。该方法140大体实现了将数据从电路106移至电路108的快速卸载方法。方法140大体包括步骤(或块)142、步骤(或块)144、可选步骤(或块)146和步骤(或块)148。
该方法140可以利用信号OFFLOAD的认定来触发。诸如来自电路102的命令的其他触发也可以启动该方法140。在步骤142中,一旦检测到信号PWR中的电功率损失,则电路110可认定信号OFFLOAD。信号OFFLOAD的认定可以由电路104感测。作为响应,在步骤144中,电路104可以读取(卸载)来自电路106的高速缓存线124a-124n。信息从电路106到电路104的传送速度可以由电路106的读取带宽控制。
根据在电路108中实现的具体RAID配置,在步骤146中,电路104可以/不可以对高速缓存线124a-124n中的信息分条(stripe)。之后在步骤148中,信息块/信息条以及误差校正信息(如果有的话)可以由电路104写入到存储器126a-126d中。这些块/条从电路104到电路108的传送速度可以由存储器126a-126d的写入带宽确定。
由于信息可以被基本同时地沿多条并行路径从电路104写入到存储器126a-126d,因此到存储器126a-126d的组合写入带宽可以大于(快于)从电路106的读取带宽。相比于传统技术,更高的组合写入带宽通常减少执行传送所耗费的时间。系统100的架构可以以低成本利用可移动非易失性存储器部件126a-126d。示例性的存储器部件126a-126d可以包括但不限于安全数字(SD)闪存卡和USB闪存驱动器。
近年来,用于电路106的用户指定的高速缓存大小已经变得很大。因此,由于较慢的写入时间和更小的容量,低成本的非易失性存储器选择通常是不可用的。本发明通常使用多个非易失性存储器,从而可以使用RAID技术建立比单个普通非易失性存储器元件更大且更快的虚拟非易失性存储器(电路108),来提高非易失性存储器的容量和速度。
通过使用多个存储器126a-126d,电路104和电路108可以与由用户定制的高速缓存的数量成比例的缩放。例如,电路104可以支持电路106中的8十亿字节(GB)、16十亿字节(GB)和32十亿字节(GB)的高速缓存大小选项。电路104可以被配置为控制电路108中的多个(例如,四个)存储器部件126a-126d,这些部件中的每一个都为8GB大小。如此,8GB的高速缓存系统100可以利用单个8GB的存储器(例如,126a)来构建。16GB的高速缓存系统100可以利用两个8GB的存储器(例如,126a和126b)来构建。32GB的高速缓存系统可以利用四个8GB的存储器(例如,126a-126d)来构建。
考虑了存储器126a-126d中的每一个都具有20兆字节每秒(MB/sec)的示例性写速度。8GB高速缓存系统100可以使用约8GB/(20MB/sec)=400秒将8GB易失性电路106卸载至8GB的非易失性电路108。对于16GB的高速缓存系统100,由于使用了RAID技术来配置两个存储器(例如,126a和126b),到电路108的写入带宽通常被加倍。用于将信息从16GB电路106移出的全部卸载时间可以为16GB/(2×20MB/sec)=400秒。32GB的高速缓存系统100可以使用四个存储器元件126a-126d,来提供4×20MB/sec=80MB/sec的有效带宽。较大的写入带宽可以允许32 GB/(4×20MB/sec)=400秒的高速缓存卸载时间。在所有的三个实例中,高速缓存卸载时间都可以保持在约400秒。较大数量的存储器部件126a-126d可以用于减少卸载时间,允许更大的高速缓存大小和/或实现其他的RAID配置。
参照图4,示出了示例性RAID 0配置的示图。RAID 0配置可以实现由存储器部件126a-126d构成的条阵列。电路104可以将从电路106读取的高速缓存线124a-124n分组成多个块(例如,A-H)。各块A-H中的每一个都可以被写至单个存储器126a-126d,其中多个块被基本同时地沿并行路径150a-150d写入。例如,电路104可以并行或以交错起始顺序将块A写至存储器126a,将块B写至存储器126b,将块C写至存储器126c,将块D写至存储器126d。在交错起始序列中,电路104可以开始对块A进行写入,同时仍然从高速缓存线124a-124n来组装块B。一旦块B准备好,电路104就可以开始对块B进行写入,继续块A的写入以及开始组装块C。RAID 0配置通常以存储器126a-126d中的至少两个实现。
参照图5,示出了RAID 1配置的示图。RAID 1配置通常使用多个(例如,8个)存储器126a-126h来实现镜像对的双工。电路104可以将从电路106读取的高速缓存线124a-124n分组成多个块A-H。各块A-H中的每一个都可以被写至存储器126a-126h中的两个,其中多个块被基本同时地沿并行路径150a-150h写入。例如,块A可以被写至存储器126a和126b两者,块B可以被写至存储器126c和126d两者,等等。RAID 1配置通常提供所存信息的容错。对于每个存储器对,即使这些存储器部件之一失效,写入到该对中的块也可以被恢复。RAID 1配置以存储器126a-126h中的至少四个实现。
参照图6,示出了示例性RAID 5配置的框图。RAID 5配置可以实现具有分布式奇偶校验(parity)的数据条。如前所述,电路104可以响应于信号OFFLOAD的认定读取来自电路106的高速缓存线124a-124n。读取的信息可以被组装成块A-H。然后块A-H中的每一个都可以被形成条。例如,块A可以变成条A0、A1和A2,块B可以变成条B0、B1和B3,块C可以变成条C0、C2和C3,块D可以变成条D1、D2和D3等等。给定块的各条可以被按顺序写至单个存储器126a-126d。
可以由电路104以相同的等级对所有的条计算奇偶校验条,然后将其写入到单个存储器126a-126d中。例如,0级奇偶校验(例如,0 PARITY)可以由条A0、条B0和条C0产生,并被写入到存储器126d中。第一级奇偶校验(例如,1 PARITY)可以用条A1、条B1和条D1计算,并被写入到存储器126c中。在写入每个新的级时都可以继续奇偶校验计算。RAID 5配置通常提供在单个存储器部件126a-126d失效的情况下恢复所存信息的能力。分布式奇偶校验的使用可以允许存储器126a-126d的有效使用。RAID 5配置可以以存储器126a-126d中的三个或更多个来实现。可以在电路108中实现其他的RAID配置来满足特定应用的标准。
由图1和图3的示图执行的功能可以使用根据本说明书的教导编程的传统的通用数字计算机实现,这对本领域技术人员将是显而易见的。有经验的程序员基于本公开的教导可以容易地制备适当的软件代码,这对于本领域技术人员也将是显而易见的。
本发明还可以通过制备ASIC、FPGA,或通过将传统部件电路的适当网络进行互联来实现,如在本文中所述,其改进对于本领域技术人员也是显而易见的。
因此,本发明还可以包括计算机产品,该计算机产品可以是存储介质,该存储介质包括可以被用于对计算机进行编程以执行根据本发明的过程的指令。存储介质可以包括但不限于任何类型的磁盘,包括软磁盘、光盘、CD-ROM、磁光盘、ROM、RAM、EPROM、EEPROM、闪存、磁或光卡、或适于存储电子指令的任何类型的介质。如在本文中使用的,术语“同时”是指描述共享一些公共时间段的一些事件,但是该术语不意味着限制于以同一时间点开始、以同一时间点结束、或具有相同的持续时间的事件。
尽管已经参照优选实施例具体示出并描述了本发明,但是应该理解,在不背离本发明范围的条件下,本领域技术人员可以进行形式和细节上的各种改变。

Claims (20)

1.一种用于对高速缓冲存储器进行卸载的方法,包括以下步骤:
(A)直接通过控制器在所述高速缓冲存储器和主存储器之间交换多条高速缓存线,其中,所述主存储器和所述高速缓冲存储器是易失性的;
(B)通过所述控制器而不经过所述高速缓冲存储器在处理器和所述主存储器之间交换数据;
(C)响应于表示功率损耗的信号的认定,将来自所述高速缓冲存储器的所有所述高速缓存线缓存到所述控制器中;
(D)根据RAID配置,通过对缓存的所述高速缓存线进行分割来在所述控制器中产生多个块;以及
(E)将来自所述控制器的所述块直接写入所述RAID配置中的多个非易失性存储器,其中,每个所述非易失性存储器均具有(i)小于所述高速缓冲存储器的读取带宽的写入带宽以及(ii)至所述控制器的用于传送所述块的不同的独立路径。
2.根据权利要求1所述的方法,其中,所述块中的至少两个块被基本上同时地写入所述非易失性存储器。
3.根据权利要求1所述的方法,还包括以下步骤:
通过将所述块分成条来产生多个条,其中,每个所述块成为多个条。
4.根据权利要求3所述的方法,其中,所述步骤(E)包括以下子步骤:
将(i)所述条和(ii)相同等级的所述条的奇偶校验写入所述非易失性存储器之中。
5.根据权利要求4所述的方法,其中,所述条中的至少两个条被基本上同时地写入所述非易失性存储器。
6.根据权利要求1所述的方法,其中,(i)所述信号的所述认定表示流入功率电路的功率的损耗,以及(ii)所述功率电路被配置为在所述功率的损耗之后向所述控制器、所述高速缓冲存储器和所述非易失性存储器提供功率。
7.根据权利要求1所述的方法,其中,(i)每个所述非易失性存储器均具有第一存储容量,(ii)所述高速缓冲存储器具有第二存储容量,以及(iii)全部的所述第一存储容量至少与所述第二存储容量一样大。
8.根据权利要求1所述的方法,其中,所述非易失性存储器的所述写入带宽的全部至少与所述高速缓冲存储器的所述读取带宽一样大。
9.根据权利要求1所述的方法,其中,以最接近所述高速缓冲存储器的所述读取带宽的第一带宽从所述高速缓冲存储器读取所述高速缓存线。
10.根据权利要求9所述的方法,其中,以最接近所述非易失性存储器的所述写入带宽的第二带宽将所述块写入所述非易失性存储器。
11.一种系统,包括:
高速缓冲存储器,具有读取带宽并配置为存储多条高速缓存线,所述高速缓冲存储器是易失性的;
多个非易失性存储器,其中每一个均具有小于所述读取带宽的写入带宽;
控制器,配置为(i)响应于表示功率损耗的信号的认定对来自所述高速缓冲存储器的所有所述高速缓存线进行缓存;
(ii)根据RAID配置通过对缓存的所述高速缓存线进行分割来产生多个块;以及(iii)在所述功率的损耗之后,将所述块直接写入所述RAID配置中的所述非易失性存储器,其中,每个所述非易失性存储器均具有至所述控制器的用于传送所述块的不同的独立路径;主存储器,配置为直接通过所述控制器与所述高速缓冲存储器交换所述高速缓存线,所述主存储器是易失性的;以及
处理器,配置为通过所述控制器而不经过所述高速缓冲存储器与所述主存储器交换第一数据。
12.根据权利要求11所述的系统,其中,所述块中的至少两个块被基本上同时地写入所述非易失性存储器。
13.根据权利要求11所述的系统,其中所述处理器还被配置为通过所述控制器与所述高速缓冲存储器交换第二数据。
14.根据权利要求11所述的系统,还包括功率电路,所述功率电路配置为认定所述信号。
15.根据权利要求14所述的系统,其中,所述信号的所述认定表示流入到所述功率电路的功率的损耗,以及所述功率电路还被配置为在所述功率的损耗之后向所述控制器、所述高速缓冲存储器和所述非易失性存储器提供功率。
16.根据权利要求14所述的系统,其中,所述功率电路包括超电容器和超级电容器中的至少一个,以在源功率释放之后传送功率。
17.根据权利要求11所述的系统,还包括至少四个插口,每个所述插口均配置为连接至一个所述非易失性存储器。
18.根据权利要求17所述的系统,其中,至少一个所述插口在所述系统的至少一种配置中为空。
19.根据权利要求17所述的系统,其中,所述RAID配置包括以下各项之一:(i)RAID 0配置,(ii)RAID 1配置,以及(iii)RAID 5配置。
20.一种系统,包括:
用于易失性存储的装置,具有读取带宽且配置为存储多条高速缓存线;
用于非易失性存储的多个装置,其中每一个均具有小于所述读取带宽的写入带宽;
用于控制包括以下各项的装置,(i)响应于表示功率损耗的信号的认定对来自所述用于易失性存储的装置的所有所述高速缓存线进行缓存;(ii)根据RAID配置通过对缓存的所述高速缓存线进行分割来产生多个块;以及(iii)在所述功率的损耗之后,将所述块直接写入所述RAID配置中的所述用于非易失性存储的装置,其中,所述每个所述用于非易失性存储的装置具有至所述用于控制的装置用来传送所述块的不同的独立路径;
用于主存储器的装置,配置为直接通过所述用于控制的装置与所述用于易失性存储的装置交换所述高速缓存线;以及
用于处理的装置,配置为通过所述用于控制的装置而不经过所述用于易失性存储的装置与所述用户主存储器的装置交换数据。
CN2007800439252A 2006-11-27 2007-10-09 优化存储控制器高速缓存卸载电路性能和可靠性的系统 Expired - Fee Related CN101542449B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/604,631 US7904647B2 (en) 2006-11-27 2006-11-27 System for optimizing the performance and reliability of a storage controller cache offload circuit
US11/604,631 2006-11-27
PCT/US2007/021692 WO2008066605A2 (en) 2006-11-27 2007-10-09 System for optimizing the performance and reliability of a storage controller cache offload circuit

Publications (2)

Publication Number Publication Date
CN101542449A CN101542449A (zh) 2009-09-23
CN101542449B true CN101542449B (zh) 2012-06-13

Family

ID=39465141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800439252A Expired - Fee Related CN101542449B (zh) 2006-11-27 2007-10-09 优化存储控制器高速缓存卸载电路性能和可靠性的系统

Country Status (6)

Country Link
US (1) US7904647B2 (zh)
EP (1) EP2097822A4 (zh)
JP (1) JP4996693B2 (zh)
KR (1) KR101214206B1 (zh)
CN (1) CN101542449B (zh)
WO (1) WO2008066605A2 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296337B2 (en) 2006-12-06 2012-10-23 Fusion-Io, Inc. Apparatus, system, and method for managing data from a requesting device with an empty data token directive
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8719501B2 (en) * 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8566639B2 (en) * 2009-02-11 2013-10-22 Stec, Inc. Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus
US20100205349A1 (en) * 2009-02-11 2010-08-12 Stec, Inc. Segmented-memory flash backed dram module
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
JP5518197B2 (ja) * 2009-09-09 2014-06-11 フュージョン−アイオー・インコーポレーテッド ストレージを割り当てるための装置、システム、および方法
KR101777376B1 (ko) * 2010-11-08 2017-09-11 삼성전자주식회사 데이터 저장 장치 및 그것의 구동 방법
US20120239860A1 (en) 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8484408B2 (en) 2010-12-29 2013-07-09 International Business Machines Corporation Storage system cache with flash memory in a raid configuration that commits writes as full stripes
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US20120278528A1 (en) * 2011-04-28 2012-11-01 International Business Machines Corporation Iimplementing storage adapter with enhanced flash backed dram management
TW201310337A (zh) * 2011-08-31 2013-03-01 Ily Entpr Inc Dba Ez Dupe 應用於一對多複製裝置之資料複製方法
US8996805B2 (en) 2011-10-26 2015-03-31 Hewlett-Packard Development Company, L.P. Shared cache module and method thereof
CN103092722A (zh) * 2011-11-08 2013-05-08 艾利科技股份有限公司 应用于一对多复制装置的数据复制方法
US20140281222A1 (en) * 2011-11-17 2014-09-18 Ching-Chung Lee Antiharmonic data copying method
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US9489151B2 (en) 2013-05-23 2016-11-08 Netapp, Inc. Systems and methods including an application server in an enclosure with a communication link to an external controller
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US20160188414A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Fault tolerant automatic dual in-line memory module refresh
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596708A (en) 1994-04-04 1997-01-21 At&T Global Information Solutions Company Method and apparatus for the protection of write data in a disk array
JP3065481B2 (ja) * 1994-04-22 2000-07-17 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク・アレイ装置およびデータの格納方法
GB2293668B (en) * 1994-09-30 1999-09-29 Advanced Risc Mach Ltd Accessing data memories
JPH10269138A (ja) * 1997-03-25 1998-10-09 Hitachi Ltd キャッシュメモリ制御及びそれを用いたデータ処理装置
JP3204295B2 (ja) * 1997-03-31 2001-09-04 日本電気株式会社 キャッシュメモリシステム
JP2000187616A (ja) * 1998-12-22 2000-07-04 Nec Corp キャッシュラインをクリーンな状態に保つメモリシステム
US6370605B1 (en) * 1999-03-04 2002-04-09 Sun Microsystems, Inc. Switch based scalable performance storage architecture
JP3611763B2 (ja) * 1999-11-22 2005-01-19 株式会社日立製作所 ディスク制御装置
US7107480B1 (en) * 2000-12-22 2006-09-12 Simpletech, Inc. System and method for preventing data corruption in solid-state memory devices after a power failure
US7979632B2 (en) 2002-09-06 2011-07-12 Hewlett-Packard Development Company, L.P. Storage system including a fast storage device for storing redundant data
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
US20040078508A1 (en) * 2002-10-02 2004-04-22 Rivard William G. System and method for high performance data storage and retrieval
JP2004127031A (ja) * 2002-10-03 2004-04-22 Yaskawa Electric Corp メモリ切り替え回路
JP4469563B2 (ja) * 2003-06-05 2010-05-26 株式会社ソニー・コンピュータエンタテインメント 電子機器、電磁波放射抑制部材
US7073027B2 (en) * 2003-07-11 2006-07-04 International Business Machines Corporation Methods, systems and computer program products for controlling caching of distributed data
US7085887B2 (en) * 2003-08-21 2006-08-01 Hewlett-Packard Development Company, L.P. Processor and processor method of operation
JP4374221B2 (ja) * 2003-08-29 2009-12-02 パナソニック株式会社 コンピュータシステムおよび記録媒体
GB2407405B (en) 2003-10-23 2008-05-21 Andrew Lester Small-scale RAID arrays and adapters for mobile computing devices
JP2005352746A (ja) * 2004-06-10 2005-12-22 Canon Inc アレイ型記憶装置
US7536506B2 (en) * 2004-06-21 2009-05-19 Dot Hill Systems Corporation RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage
US7702864B2 (en) * 2004-11-18 2010-04-20 International Business Machines Corporation Apparatus, system, and method for writing stripes in parallel to unique persistent storage devices
JP4401954B2 (ja) * 2004-12-20 2010-01-20 富士通株式会社 電源制御装置及び電源制御プログラム
US7685376B2 (en) * 2006-05-03 2010-03-23 Intel Corporation Method to support heterogeneous memories

Also Published As

Publication number Publication date
JP4996693B2 (ja) 2012-08-08
US7904647B2 (en) 2011-03-08
WO2008066605A2 (en) 2008-06-05
EP2097822A4 (en) 2010-06-02
CN101542449A (zh) 2009-09-23
KR20090086266A (ko) 2009-08-11
WO2008066605A3 (en) 2008-09-18
WO2008066605B1 (en) 2008-10-30
KR101214206B1 (ko) 2012-12-20
EP2097822A2 (en) 2009-09-09
US20080126700A1 (en) 2008-05-29
JP2010511224A (ja) 2010-04-08

Similar Documents

Publication Publication Date Title
CN101542449B (zh) 优化存储控制器高速缓存卸载电路性能和可靠性的系统
US10146700B2 (en) Systems and methods for storage space recovery
US9170941B2 (en) Data hardening in a storage system
US5392445A (en) Data storing system and data transfer method with a plurality of disk units
KR101689420B1 (ko) 저장 장치의 전력 감소 관리를 위한 장치, 시스템, 및 방법
CN105556416B (zh) 数据存储设备/系统中利用低功率状态的停电保护和恢复
CN102024044B (zh) 分布式文件系统
US8074112B1 (en) Memory backup used in a raid system
US7228381B2 (en) Storage system using fast storage device for storing redundant data
JP4881856B2 (ja) 記憶装置
US9645769B2 (en) Performance acceleration during shutdown of a data storage device
CN103970688A (zh) 缩短数据存储系统中写入等待时间的方法和系统
US9582192B2 (en) Geometry aware block reclamation
CN102054534A (zh) 包括响应电源故障信号而刷新写入数据的电源故障电路的非易失性半导体存储器
CN102177496A (zh) 用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法
CN101510223A (zh) 一种数据处理方法和系统
TW202143052A (zh) 用於固態硬碟的緩衝區最佳化
US20130117603A1 (en) Method for completing write operations to a raid drive pool with an abnormally slow drive in a timely fashion
US20210318739A1 (en) Systems and methods for managing reduced power failure energy requirements on a solid state drive
US7206908B2 (en) Apparatus and method to convert a plurality of sectors from a first sector format to a second sector format
CN107797946B (zh) 一种车载存储装置
CN103049221A (zh) 磁盘阵列缓存刷写处理方法和装置
KR20230099605A (ko) 호스트를 이용해 비정상 셧다운을 핸들링하기 위한 ssd 보조 배터리 전력

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160725

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: California, USA

Patentee before: LSI Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120613

Termination date: 20151009

EXPY Termination of patent right or utility model