分割快闪存储器数据存储装置的制作方法

文档序号:6349136阅读:185来源:国知局
专利名称:分割快闪存储器数据存储装置的制作方法
技术领域
本说明涉及一种数据存储装置。
背景技术
可使用数据存储装置来存储数据。数据存储装置可与计算装置一同使用以提供所述计算装置的数据存储需要。在某些实例中,可期望在数据存储装置上存储大量数据。此外,可期望快速地执行从所述数据存储装置读取数据及向所述数据存储装置写入数据的命令。

发明内容
根据一个一般方面,揭示一种分割包括多个存储器芯片的数据存储装置的方法。 所述方法包括确定所述数据存储装置中的存储器芯片的数目。耦合到所述数据存储装置的主机界定所述数据存储装置的第一分区及第二分区,其中所述第一分区包括所述多个存储器芯片的第一子集且其中所述第二分区包括所述多个存储器芯片的第二子集。所述第一子集不包括所述第二子集中的任何存储器芯片,且其中所述第二子集不包括所述第一子集中的任何存储器芯片。在另一一般方面中,揭示一种分割包括多个存储器芯片的数据存储装置的方法, 其中读取所述数据存储装置的物理配置,其中包括所述数据存储装置中的存储器芯片的数目;及所述数据存储装置的分割方案。耦合到所述数据存储装置的主机界定所述数据存储装置的第一分区及第二分区,其中所述第一分区包括所述多个存储器芯片的第一子集且所述第二分区包括所述多个存储器芯片的第二子集,且其中所述第一子集不包括所述第二子集中的任何存储器芯片且其中所述第二子集不包括所述第一子集中的任何存储器芯片。 针对所述第一分区分配逻辑/物理存储器映射且针对所述第二分区分配逻辑/物理存储器映射。实施方案可包括以下特征中的一者或一者以上。可在从所述第二分区读取数据的同时将数据写入到所述第一分区。确定所述数据存储装置中的存储器芯片的数目可包括将指示所述数据存储装置中的存储器芯片的所述数目的信息从所述数据存储装置传输到所述主机。所述主机可界定所述数据存储装置中的将从所述主机向其写入数据的地址位置, 其中所述地址位置规定将所述数据写入到所述多个存储器芯片中的特定一者。
所述数据存储装置可包括用于在所述主机与所述多个存储器芯片之间传递数据的多个物理通道,每一通道可操作地连接到不同多个所述存储器芯片,且接着可确定物理通道的所述数目。可界定所述通道的第一子集及第二子集,其中所述通道的所述第一子集中的通道仅可操作地连接到存储器芯片的所述第一子集中的存储器芯片且其中所述通道的所述第二子集中的通道仅可操作地连接到存储器芯片的所述第二子集中的存储器芯片。 且所述主机可界定所述数据存储装置中的将从所述主机向其写入数据的地址位置,其中所述地址位置规定经由特定通道将所述数据写入到所述多个存储器芯片中的特定一者。所述第一分区可包括可操作地连接到单个通道的存储器芯片。所述主机可将所述数据存储装置的所述第一分区重新界定为包括所述多个存储器芯片的第三子集,其中所述第三子集不同于所述第一子集,且其中所述第三子集不包括所述第二子集中的任何存储器芯片且其中所述第二子集不包括所述第三子集中的任何存储器芯片。可接收所述第一子集中的所述存储器芯片中的一者已出故障或接近出故障的指示,且接着重新界定所述第一分区可包括将所述第三子集界定为所述第一子集的除已出故障或接近出故障的所述存储器芯片以外的存储器芯片。在另一一般方面中,一种设备包括数据存储装置,其包括多个存储器芯片;及主机,其经由接口可操作地耦合到所述数据存储装置。所述主机包括配置检测引擎,其经配置以检测所述数据存储装置中的存储器芯片的数目;及分区引擎。所述分区引擎经配置以 界定所述数据存储装置的第一分区,其中所述第一分区包括所述多个存储器芯片的第一子集;及界定所述数据存储装置的第二分区,其中所述第二分区包括所述多个存储器芯片的第二子集,且其中所述第一子集不包括所述第二子集中的任何存储器芯片且其中所述第二子集不包括所述第一子集中的任何存储器芯片。在另一一般方面中,一种设备包括数据存储装置,其包括多个存储器芯片;及主机,其经由接口可操作地耦合到所述数据存储装置。所述主机包括配置检测引擎,所述配置检测引擎经配置以读取所述数据存储装置的物理配置,其中包括所述数据存储装置中的存储器芯片的数目,且经配置以读取所述数据存储装置的分割方案。所述主机还包括分区引擎,所述分区引擎经配置以界定所述数据存储装置的第一分区,其中所述第一分区包括所述多个存储器芯片的第一子集;及界定所述数据存储装置的第二分区,其中所述第二分区包括所述多个存储器芯片的第二子集,且经配置以分配所述第一分区的逻辑/物理存储器映射且分配所述第二分区的逻辑/物理存储器映射。所述第一子集不包括所述第二子集中的任何存储器芯片,且所述第二子集不包括所述第一子集中的任何存储器芯片。实施方案可包括以下特征中的一者或一者以上。举例来说,所述数据存储装置可经配置以在从所述主机接收到命令后即刻将指示所述数据存储装置中的存储器芯片的所述数目的信息从所述数据存储装置传输到所述主机。所述主机还可包括经配置以给待写入到所述数据存储装置的数据指派存储器地址的地址指派引擎,其中所述所指派存储器地址规定将所述数据写入到所述多个存储器芯片中的特定一者。所述数据存储装置可包括用于在所述主机与所述多个存储器芯片之间传递数据的多个物理通道,其中每一通道可操作地连接到不同多个所述存储器芯片。接着,所述配置检测引擎可进一步经配置以检测所述数据存储装置中的通道的所述数目,且所述分区引擎可进一步经配置以界定所述通道的第一子集,其中通道的所述第一子集中的通道仅可操作地连接到存储器芯片的所述第一子集中的存储器芯片,且其中所述分区引擎可进一步经配置以界定所述通道的第二子集,其中通道的所述第二子集中的通道仅可操作地连接到存储器芯片的所述第二子集中的存储器芯片。所述主机可进一步包括经配置以给待写入到所述数据存储装置的数据指派存储器地址的地址指派引擎,其中所述所指派存储器地址规定经由特定通道将所述数据写入到所述多个存储器芯片中的特定一者。所述第一分区可包括可操作地连接到单个通道的存储器芯片。所述分区引擎可进一步经配置以将所述数据存储装置的所述第一分区重新界定为包括所述多个存储器芯片的第三子集,其中所述第三子集不同于所述第一子集,且其中所述第三子集不包括所述第二子集中的任何存储器芯片且其中所述第二子集不包括所述第三子集中的任何存储器芯片。所述分区引擎可进一步经配置以接收所述第一子集中的所述存储器芯片中的一者已出故障或接近出故障的指示;且将所述第一分区重新界定为包括所述多个存储器芯片的所述第三子集可包括将所述第三子集界定为所述第一子集的除已出故障或接近出故障的所述存储器芯片以外的存储器芯片。


图1是数据存储装置的示范性框图。图2是可在图1的数据存储装置中使用的FPGA控制器的示范性框图。图3A是与图1的数据存储装置一同使用的示范性计算装置的示范性框图。图;3B是与图1的数据存储装置一同使用的示范性计算装置的示范性框图。图4是图解说明图1的数据存储装置的实例性过程的示范性流程图。图5是图解说明分割图1的数据存储装置的实例性过程的另一示范性流程图。
具体实施例方式本文件描述用于数据存储的设备、系统及技术。此数据存储设备可包括可与一个或一个以上不同存储器板一同使用的控制器的控制器板,其中所述存储器板中的每一者具有多个快闪存储器芯片。所述数据存储设备可使用所述控制器板上的接口来与主机进行通信。以此方式,所述控制器板上的所述控制器可经配置以使用所述接口来从所述主机接收命令且使用所述存储器板上的所述快闪存储器芯片来执行这些命令。图1是数据存储装置100的框图。数据存储装置100可包括控制器板102以及一个或一个以上存储器板10 及104b。数据存储装置100可经由接口 108与主机106进行通信。接口 108可在主机106与控制器板102之间。控制器板102可包括控制器110、DRAM 111、多个通道112、电力模块114及存储器模块116。存储器板10 及104b可包括所述存储器板中的每一者上的多个快闪存储器芯片118a及118b。存储器板10 及104b还可包括存储器装置120a及120b。一般来说,数据存储装置100可经配置以将数据存储于快闪存储器芯片118a及 118b上。主机106可将数据写入到快闪存储器芯片118a及118b及从快闪存储器芯片118a 及118b读取数据,并且引起将关于快闪存储器芯片118a及118b执行的其它操作。可经由控制器板102上的控制器110来处理且由控制器110来控制主机106与快闪存储器芯片 118a及11 之间的数据读取及写入以及其它操作。控制器110可从主机106接收命令且致使使用存储器板10 及104b上的快闪存储器芯片118a及11 来执行这些命令。主机 106与控制器110之间的通信可经由接口 108。控制器110可使用通道112来与快闪存储器芯片118a及118b进行通信。控制器板102可包括DRAM 111。DRAM 111可为可操作地耦合到控制器110且可用以存储信息。举例来说,DRAM 111可用以存储逻辑地址到物理地址映射及坏块信息。DRAM 111还可经配置以用作主机106与快闪存储器芯片118a及11 之间的缓冲器。在一个示范性实施方案中,控制器板102以及存储器板10 及104b中的每一者为物理上单独的印刷电路板(PCB)。存储器板10 可在可操作地连接到控制器板102PCB 的一个PCB上。举例来说,存储器板10 可物理及/或电连接到控制器板102。类似地, 存储器板104b可为与存储器板10 分开的PCB且可为可操作地连接到控制器板102PCB。 举例来说,存储器板104b可物理及/或电连接到控制器板102。存储器板10 及104b每一者可单独地与控制器板102断开及从控制器板102移除。举例来说,存储器板10 可从控制器板102断开且由另一存储器板(未展示)替换, 其中所述另一存储器板可操作地连接到控制器板102。在此实例中,可用其它存储器板换出存储器板10 及104b中的任一者或两者,使得所述其它存储器板可与同一控制器板102 及控制器110—同操作。在一个示范性实施方案中,控制器板102以及存储器板10 及104b中的每一者可以磁盘驱动器形状因数物理连接。所述磁盘驱动器形状因数可包括不同大小,例如(举例来说)3. 5"磁盘驱动器形状因数及2. 5"磁盘驱动器形状因数。在一个示范性实施方案中,控制器板102以及存储器板10 及104b中的每一者可使用高密度球栅阵列(BGA)连接器电连接。可使用BGA连接器的其它变化形式,其中包括 (举例来说)细球栅阵列(FBGA)连接器、超细球栅阵列(UBGA)连接器及微球栅阵列(MBGA) 连接器。也可使用其它类型的电连接构件。接口 108可包括控制器110与主机106之间的高速接口。所述高速接口可使得能够在主机106与快闪存储器芯片118a及118b之间快速传送数据。在一个示范性实施方案中,所述高速接口可包括外围组件互连高速(“PCIe”)接口。举例来说,所述PCIe接口可为PCIe x4接口或PCIe x8接口。PCIe接口 108可包括到主机106的PCIe连接器电缆组合件。在此实例中,控制器110可包括经配置以在主机106与接口 108介接的接口控制器。 所述接口控制器可包括PCIe端点控制器。也可使用其它高速接口、连接器及连接器组合件。在一个示范性实施方案中,控制器板102与存储器板10 及104b上的快闪存储器芯片118a及118b之间的通信可布置及配置成多个通道112。通道112中的每一者可与一个或一个以上快闪存储器芯片118a及11 通信。控制器110可经配置而使得从主机 106接收的命令可由控制器110使用通道112中的每一者同时或至少实质上同时执行。以此方式,可在不同通道112上同时执行多个命令,此可改善数据存储装置100的吞吐量。在图1的实例中,图解说明二十00)个通道112。完全实线图解说明控制器110 与存储器板10 上的快闪存储器芯片118a之间的十(10)个通道。混合的实线与虚线图解说明控制器110与存储器板104b上的快闪存储器芯片118b之间的十(10)个通道。如图1中所图解说明,通道112中的每一者可支持多个快闪存储器芯片。举例来说,通道112中的每一者可支持多达32个快闪存储器芯片。在一个示范性实施方案中,所述20个通道中的每一者可经配置以支持6个快闪存储器芯片并与其通信。在此实例中,存储器板10 及104b中的每一者将各自包括60个快闪存储器芯片。依据快闪存储器芯片118a及11 的类型及数目,数据存储100装置可经配置以存储多达多个数据太字节且包括多个数据太字节在内。控制器110可包括微控制器、FPGA控制器、其它类型的控制器或这些控制器的组合。在一个示范性实施方案中,控制器110为微控制器。可以硬件、软件或硬件与软件的组合来实施所述微控制器。举例来说,可从存储器(例如,存储器模块116)给所述微控制器加载计算机程序产品,所述计算机程序产品包括在被执行时可致使所述微控制器以某一方式执行的指令。所述微控制器可经配置以使用接口 108从主机106接收命令且执行所述命令。举例来说,所述命令可包括用以使用快闪存储器芯片118a及118b读取、写入、拷贝及擦除数据块的命令以及其它命令。在另一示范性实施方案中,控制器110为FPGA控制器。可以硬件、软件或硬件与软件的组合来实施所述FPGA控制器。举例来说,可从存储器(例如,存储器模块116)给所述FPGA控制器加载固件,所述固件包括在被执行时可致使所述FPGA控制器以某一方式执行的指令。所述FPGA控制器可经配置以使用接口 108从主机106接收命令且执行所述命令。举例来说,所述命令可包括用以使用快闪存储器芯片118a及118b读取、写入、拷贝及擦除数据块的命令以及其它命令。存储器模块116可经配置以存储数据,可将所述数据加载到控制器110。举例来说,存储器模块116可经配置以存储FPGA控制器的一个或一个以上图像,其中所述图像包括供所述FPGA控制器使用的固件。存储器模块116可与主机106介接以与主机106通信。 存储器模块116可与主机106直接介接及/或可经由控制器110间接与主机106介接。举例来说,主机106可将固件的一个或一个以上图像传递到存储器模块116以进行存储。在一个示范性实施方案中,存储器模块116包括电可擦除可编程只读存储器(EEPROM)。存储器模块116还可包括其它类型的存储器模块。存储器板10 及104b可经配置以与不同类型的快闪存储器芯片118a及118b — 同操作。在一个示范性实施方案中,快闪存储器芯片118a及快闪存储器芯片118b可为相同类型的快闪存储器芯片,其中包括需要来自电力模块114的相同电压及来自相同快闪存储器芯片销售商。术语销售商与制造商在本文件通篇中可互换使用。在另一示范性实施方案中,存储器板10 上的快闪存储器芯片118a可为与存储器板104b上的快闪存储器芯片118b不同的类型的快闪存储器芯片。举例来说,存储器板 10 可包括SLC NAND快闪存储器芯片且存储器板104b可包括MLC NAND快闪存储器芯片。 在另一实例中,存储器板10 可包括来自一个快闪存储器芯片制造商的快闪存储器芯片且存储器板104b可包括来自不同快闪存储器芯片制造商的快闪存储器芯片。具有全部相同类型的快闪存储器芯片或具有不同类型的快闪存储器芯片的灵活性使得能够使数据存储装置100适合主机106正在使用的不同应用程序。在另一示范性实施方案中,存储器板10 及104b可在同一存储器板上包括不同类型的快闪存储器芯片。举例来说,存储器板10 可在同一 PCB上包括SLC NAND芯片及 MLC NAND芯片两者。类似地,存储器板104b可包括SLC NAND芯片及MLC NAND芯片两者。以此方式,数据存储装置100可有利地经定制以满足主机106的规格。在另一示范性实施方案中,存储器板10 及104b可包括其它类型的存储器装置, 其中包括非快闪存储器芯片。举例来说,存储器板10 及104b可包括随机存取存储器 (RAM),例如(举例来说)动态RAM (DRAM)及静态RAM (SRAM)以及其它类型的RAM及其它类型的存储器装置。在一个示范性实施方案中,存储器板10 及104b两者可包括RAM。在另一示范性实施方案中,所述存储器板中的一者可包括RAM且另一存储器板可包括快闪存储器芯片。此外,所述存储器板中的一者可包括RAM及快闪存储器芯片两者。存储器板10 及104b上的存储器模块120a及120b可分别用以存储与快闪存储器芯片118a及118b相关的信息。在一个示范性实施方案中,存储器模块120a及120b可存储快闪存储器芯片的装置特性。所述装置特性可包括所述芯片为SLC芯片还是MLC芯片、 所述芯片为NAND还是NOR芯片、芯片选择的数目、块的数目、每块页的数目、每页字节的数目及所述芯片的速度。在一个示范性实施方案中,存储器模块120a及120b可包括串行EEPROM。EEPROM 可存储装置特性。可针对任何给定类型的快闪存储器芯片汇编一次装置特性且可用所述装置特性产生适当EEPROM图像。当存储器板10 及104b可操作地连接到控制器板102时, 则可从EEPROM读取所述装置特性,使得控制器110可自动辨识控制器110正在控制的快闪存储器芯片118a及11 的类型。另外,可针对特定类型的快闪存储器芯片118a及118b 使用所述装置特性来将控制器110配置为适当参数。如上文所论述,控制器110可包括FPGA控制器。参照图2,其图解说明FPGA控制器210的示范性框图。FPGA控制器可经配置以按上文关于图1的控制器110所描述的方式操作。FPGA控制器210可包括用以将多个通道112连接到快闪存储器芯片218的多个通道控制器250。快闪存储器芯片218被图解说明为连接到通道控制器250中的每一者的多个快闪存储器芯片。快闪存储器芯片218表示图1的快闪存储器芯片118a及118b,快闪存储器芯片118a及118b在图1的单独存储器板10 及104b上。所述单独存储器板未在图2 的实例中展示。FPGA控制器210可包括PCIe接口模块208、双向直接存储器存取(DMA)控制器252、动态随机存取存储器(DRAM)控制器254、命令处理器/队列256及信息与配置接口模块258。可使用接口与主机(例如,图1的主机106)传递信息。在此实例(图2)中,FPGA 控制器210包括用以与主机及PCIe接口模块208通信的PCIe接口。PCIe接口模块208可经布置及配置以从主机接收命令且将命令发送到主机。PCIe接口模块208可在主机与数据存储装置之间提供数据流控制。PCIe接口模块208可使得能够在主机与控制器210且最终快闪存储器芯片218之间高速传送数据。在一个示范性实施方案中,PCIe接口及PCIe接口模块208可包括64位总线。双向直接存储器存取(DMA)控制器252可经布置及配置以控制PCIe接口模块208与命令处理器/队列256之间的总线的操作。双向DMA控制器252可经配置以与PCIe接口 208及通道控制器250中的每一者介接。双向DMA控制器252使得能够在主机106与快闪存储器芯片218之间进行双向直接存储器存取。DRAM控制器2M可经布置及配置以控制逻辑地址到物理地址的翻译。举例来说, 在其中主机使用逻辑地址来寻址存储器空间的实施方案中,DRAM控制器邪4可借助将由主机使用的逻辑地址翻译成快闪存储器芯片218中的实际物理地址(与正被写入到快闪存储器芯片218或从快闪存储器芯片218读取的数据相关)来辅助命令处理器/队列256。从主机接收的逻辑地址可翻译成快闪存储器芯片218中的一者中的位置的物理地址。类似地, 快闪存储器芯片218中的一者中的位置的物理地址可翻译成逻辑地址且被传递到主机。命令处理器/队列256可经布置及配置以经由PCIe接口模块208从主机接收命令且经由通道控制器250控制所述命令的执行。命令处理器/队列256可维持待执行的若干个命令的队列且使用有序列表来对所述命令进行排序以确保可首先处理最老命令。命令处理器100可维持指定给同一快闪存储器芯片的命令的次序且可对指定给不同快闪存储器芯片的命令进行重新排序。以此方式,可同时执行多个命令且可同时或至少实质同时使用通道112中的每一者。命令处理器/队列256可经配置以无序地处理不同通道112的命令且保持按通道命令排序。举例来说,命令处理器/队列256可无序地处理从主机接收且指定给不同通道的命令。以此方式,可保持所述通道忙碌。可按命令处理器/队列256从主机接收命令的次序来处理从主机接收以在同一通道上进行处理的命令。在一个示范性实施方案中,命令处理器/队列256可经配置以将从主机接收的命令的列表维持为先进先出排序列表,以确保所述命令的及时执行。通道控制器250可经布置及配置以处理来自命令处理器/队列256的命令。通道控制器250中的每一者可经配置以处理多个快闪存储器芯片218的命令。在一个示范性实施方案中,通道控制器250中的每一者可经配置以处理多达32个快闪存储器芯片218(且包括32个快闪存储器芯片218在内)的命令。通道控制器250可经配置以按命令处理器/队列256指定的次序来处理来自命令处理器/队列256的命令。可处理的命令的实例包括但不限于读取快闪页、编程快闪页、拷贝快闪页、擦除快闪块、读取快闪块的元数据、映射快闪存储器芯片的坏块及复位快闪存储
器芯片ο信息与配置接口模块258可经布置及配置以与存储器模块(例如,图1的存储器模块116)介接以接收FPGA控制器210的配置信息。举例来说,信息与配置接口模块258 可从所述存储器模块接收一个或一个以上图像以将固件提供到FPGA控制器210。对所述图像及对所述固件的修改可由主机经由信息与配置接口模块258提供到控制器210。经由信息与配置接口模块258接收的修改可应用于控制器210的组件中的任一者,其中包括(举例来说)PCIe接口模块208、双向直接存储器存取(DMA)控制器252、DRAM控制器254、命令处理器/队列256及通道控制器250。信息与配置接口模块258可包括一个或一个以上寄存器,可视需要通过来自主机的指令修改所述一个或一个以上寄存器。FPGA控制器210可经布置及配置以结合主机协作及处理命令。FPGA控制器210 可执行或至少辅助执行错误校正、坏块管理、逻辑/物理映射、无用单元收集、损耗均衡、与快闪存储器芯片218相关的分割及低级格式化。图3A是设备300的示意性框图,设备300包括具有组织成第一分区321及第二分区 322 的多个快闪存储器芯片 318a、318b、318c、318d、318e、318f、318g、318h、318i、318j、 318k、3181的数据存储装置302。第一及第二分区321及322界定数据存储装置302中的存储空间的不同物理区域,使得可将不同种类的目录及文件分类在不同分区中,或使得一个分区可用于不同于另一分区的目的。第一分区可包括第一子集快闪存储器芯片318a到 318f,而第二分区可包括第二子集快闪存储器芯片318g到3181,其中不存在任何为两个分区的部分的快闪存储器芯片。也就是说,在个别快闪存储器芯片之间划出分区321与分区 322之间的边界,以确保个别快闪存储器芯片不属于一个以上分区。将数据存储装置组织成两个或两个以上分区可用于若干个目的。举例来说,可保持存储于一个分区上的操作系统文件与存储于另一分区上的用户文件分离。可动态且快速地改变大小(可能使文件系统满)的高速缓冲存储器及日志文件可存储于一个分区上且保持与存储于不同分区上的其它文件分离。分区可用于多重引导设置,其允许用户在单个计算机上具有一个以上操作系统。举例来说,用户可在同一数据存储装置的不同分区上安装 Linux、Mac OS X及Microsoft Windows或操作系统且具有在加电时引导到任何操作系统 (由硬件支持)中的选择。可使用分区来保护或隔离文件以使得更容易地恢复遭破坏文件系统或操作系统安装。举例来说,如果一个分区遭破坏但任何其它文件系统均不受影响,那么所述存储装置上的数据仍可为可挽回的。针对只读数据使用单独的分区还减少所述分区上的文件系统遭破坏的机会。分区还可提高其中较小文件系统更高效的系统上的总体计算机性能。举例来说,仅具有一个NTFS文件系统的大硬盘驱动器通常具有非常大的顺序存取的主文件表(MFT),且通常比较小分区的较小MFT花费更多的时间来读取此MFT。在另一实例性实施例中,数据存储装置302可用以存储必须从所述数据存储装置快速读取且将其供应到主机的大量数据(例如,许多千兆字节或太字节的数据)。举例来说,所述数据存储装置可用以高速缓冲存储大量的公开可存取信息(例如,来自万维网的网页的大语料库、书籍的电子版本的大库或表示大量电信的数字信息等),所述大量的公开可存取信息可由主机响应于查询而提取。因此,可为重要的是响应于主机所发出的读取命令而非常快速地存取并返回相关数据。然而,还可需要随相关信息改变而不断地更新数据存储装置中所存储的信息以保持所述信息为最近的。举例来说,如果存储装置上的信息与网页的语料库相关,那么可需要随网页改变且随新网页被创建而更新存储装置上所存储的 fn息ο在此系统中,经分割快闪存储器数据存储装置302可提供优越性能。在快闪存储器存储装置中,到快闪存储器芯片的写入操作比从快闪存储器芯片的读取操作花费更长的时间(例如,长10到100倍)。因此,将数据存储装置的芯片318a到3181组织成两个或两个以上分区(其中,在不同芯片之间的边界处界定所述分区)提供用以确保快速读取操作同时还允许实时更新所述数据存储装置上所存储的信息的方式。举例来说,分区321及322 两者可用以存储待响应于查询而提供的数据语料库(例如,网页语料库),且个别分区可在服务于请求与用新信息更新之间交替。举例来说,在第一时间周期中,第一分区321可用以将信息提供到主机(例如,可响应于用户查询而请求的信息),同时更新第二分区322上的数据(例如,响应于对语料库的网页的改变或增加)。接着,在第二时间周期中,最近经更新的第二分区322可用以将信息提供到主机,同时更新第一分区321上的数据。可重复此过程,使得数据总是从充当只读装置的分区来提供,且因此提供对来自主机的读取命令的非常快速的响应,而不会因写入命令减慢,同时正在用新信息更新另一分区。界定分区而使得个别快闪存储器芯片仅包括于一个分区中确保没有快闪芯片将具有在实质相同时间向其写入且从其读取的数据,此将导致对来自主机350的读取请求的响应的延迟。
如上文所论述,存储器芯片318a到3181可连接到可包括FPGA控制器310的控制器。所述FPGA控制器可经配置以按上文关于图1控制器110或图2的FPGA 210所描述的方式操作。FPGA控制器310可包括用以将多个通道112连接到快闪存储器芯片318a到 3181的多个通道控制器3Ua、312b、312c、312d、3Ue、312f。当然,如上文所描述,存储装置可包括12个以上快闪存储器芯片、六个以上通道控制器,且远多于两个快闪存储器芯片可为跨越物理通道可操作地连接到通道控制器。因此,图3A及图;3B中所示的实施方案仅为示意性的,以用于说明的清晰性目的。在一个实施方案中,通道控制器312a、312b、312c、312d、312e、312f可控制可操作地连接到为每一分区321及322的部分的快闪存储器芯片的通道。举例来说,通道控制器 31 可为可操作地连接到存储器芯片318a (其为第一分区321的部分),且还可操作地连接到存储器芯片318g(其为第二分区322的部分)。在此配置中,第一分区321中的至少一个存储器芯片连接到数据存储装置302与主机之间的每一通信通道,且第二分区322中的至少一个存储器芯片连接到数据存储装置302与主机350之间的每一通信通道。此配置产生分区321或322与主机之间的通信的最大并行性,此可产生从数据存储装置302的快速读取存取时间及向数据存储装置302的快速写入时间。在另一实施方案中,大约一半通道控制器可为可操作地连接到第一分区中的快闪存储器芯片且大约一半通道控制器可为可操作地连接到第二分区中的快闪存储器芯片。在图;3B中所示的另一实施方案中,快闪存储器芯片318a、3imK318C、318d、318e、 318f、318g、318h、318i、318j、318k、3181 可组织成第一分区 331、第二分区 332、第三分区 333及第四分区334,其中不同分区界定数据存储装置302中的存储空间的不同物理区域, 使得不同种类的目录及文件可存储于不同分区中,或使得一个分区可用于不同于另一分区的目的。第一分区331可包括第一子集快闪存储器芯片318a到318c。第二分区332可包括第二子集快闪存储器芯片318d到318f。第三分区333可包括第三子集快闪存储器芯片 318g到318i。第四分区334可包括第四子集快闪存储器芯片318j到3181。在不同分区 331、332、333及334当中,不存在任何其物理存储器地址空间为两个或两个以上分区的部分的个别快闪存储器芯片。也就是说,在个别快闪存储器芯片之间划出分区331、332、333 及334之间的边界,以确保个别快闪存储器芯片不属于一个以上分区。在图;3B的系统中,经分割快闪存储器数据存储装置302可提供优越性能(例如, 当用以存储待响应于查询而提供的数据语料库(例如,网页语料库)时)且个别分区可在服务于请求与用新信息更新之间交替。举例来说,在第一时间周期中,第一、第二及第三分区331、332及333可用以将信息提供到主机(例如,可响应于用户查询而请求的信息),同时更新第四分区334上的数据(例如,响应于对语料库的网页的改变或增加)。接着,在第二时间周期中,最近经更新的第四分区334连同第二及第三分区332及333可用以将信息提供到主机,同时更新第一分区331上的数据。因此,可以循环方式更新每一分区上的数据,同时由其它分区服务于查询请求。可重复此过程,使得数据总是从充当只读装置的分区来提供,且因此提供对来自主机的读取命令的非常快速的响应,而不会因写入命令减慢,同时正在用新信息更新另一分区。界定四个分区产生数据存储装置上所存储的信息的冗余, 使得如果一分区、通道或个别存储器芯片出故障而导致一个分区不再可用,那么剩余三个分区可继续用以提供数据存储装置,其中轮流更新所述剩余分区中的每一者,同时其它剩余分区服务于数据请求。如上文所描述,数据存储装置302可经由接口 308连接到主机350,接口 308可为高速接口,例如(举例来说)PCIe接口。主机可包括(举例来说)处理器352、第一存储器 354、第二存储器356及分区引擎360。第一存储器3M可包括(举例来说)适于存储可由处理器352执行的机器可读、可执行代码指令的非易失性存储器装置(例如,硬磁盘)。第一存储器354上所存储的代码指令可加载到第二存储器(例如,易失性存储器,例如随机存取存储器)356中,在此处其可由处理器352执行以创建存储器装置检测引擎358及分区引擎360。第二存储器可包括专用于用户模式应用程序的“用户空间”的逻辑块及专用于运行用户级应用程序必须控制以执行其功能的较低级资源的“核心空间”364的逻辑块。存储器装置检测引擎358及分区引擎360可驻存于第二存储器356的核心空间364中。配置检测引擎358可经配置以检测数据存储装置302上的快闪存储器芯片318的数目,且分区引擎360可经配置以界定所述数据存储装置的第一分区321及第二分区322。 因此,在主机350上运行的配置检测引擎358及分区引擎360可由主机用来发现数据存储装置302的硬件装置性质且接着经由主机界定分区321及322。在一个实施方案中,配置检测引擎358可向数据存储装置发出查询命令,且响应于所述查询命令,数据存储装置可将关于(举例来说)快闪存储器芯片318的数目、每一芯片的大小(例如,按字节测量)、数据存储装置中的通道的数目及每一通道控制器31 到31 可操作地连接到的快闪存储器芯片的信息返回到主机。此信息可存储于FPGA 310的EEPROM 116上及/或数据存储装置 302的快闪板的EEPROM 120a上。配置检测引擎可轮询EEPR0M116或EEPROM 120a(例如, 在主机350的启动操作期间)以致使数据存储装置将此信息返回到主机350。在另一实施方案中,主机可轮询快闪存储器芯片318以提供关于(举例来说)快闪存储器芯片318的数目、每一芯片的大小(例如,按字节测量)、数据存储装置中的通道的数目、每一通道控制器31 到31 可操作地连接到的快闪存储器芯片的信息。分区引擎360可从存储器装置检测引擎358接收关于快闪芯片318的数目、每一快闪芯片的大小、通道的数目及每一通道可操作地连接到的存储器芯片的信息,且基于此信息,分区引擎可界定数据存储装置302中的第一分区321及第二分区322。在主机350上运行的分区引擎可将第一分区界定为包括从存储器芯片318的第一子集抽取的存储器块及从存储器芯片318的第二子集抽取的第二分区存储器块,其中所述第一子集不包括所述第二子集中的任何个别快闪芯片且所述第二子集不包括所述第一子集中的任何个别快闪芯片。分区引擎360接着可将物理存储器块地址(其可包括(举例来说)唯一通道编号、 唯一快闪存储器芯片编号及快闪存储器芯片内的块地址)映射到可由在用户空间中运行的应用程序使用的逻辑地址,使得在主机350上运行的用户空间应用程序可参照逻辑空间地址从数据存储装置302读取数据及向数据存储装置302写入数据。在已界定多个分区的分区方案且已将数据存储于数据存储装置100的快闪存储器芯片上之后,所述装置可将关于分割方案的信息存储于(例如)存储器116上,使得当在稍后时间引导所述装置时,其可将所述分割方案传递到主机106以供主机使用。举例来说, 所述装置可维持关于所述数据存储装置的物理配置的信息(包括所述装置中的快闪存储器芯片的数目)及关于所述分割方案的信息(包括哪些快闪存储器存储芯片及通道与存储器116上的哪些分区相关联)。接着,当引导包括主机106及数据存储装置100的系统时,存储装置100可(例如)响应于由主机106的配置检测引擎358执行的读取操作而将此信息传递到主机106。主机106的分割引擎360接着可界定在主机上运行的操作系统及应用程序的分区。举例来说,分割引擎360可基于从存储装置100读取的信息来界定第一及第二分区,其中所述第一及第二分区不包括相同存储器芯片中的任一者。分割引擎360还可分配第一及第二分区的逻辑/物理存储器映射,使得用户级应用程序可使用逻辑地址,所述逻辑地址接着被映射到存储装置100的快闪存储器芯片的物理存储器地址。分区引擎360还可用以将数据存储装置的第一分区重新界定为包括所述多个快闪存储器芯片的第三子集,其中所述第三子集不同于所述第一子集,且其中所述第三子集不包括所述第二子集中的任何快闪存储器芯片且其中所述第二子集不包括所述第三子集中的任何快闪存储器芯片。举例来说,参照图3A及图:3B,用户可决定图3A中所示的原始分区方案不适合他或她的需要,且因此可使用主机来重新界定分区321及322(例如,以在特定分区中包括更多或更少的快闪存储器芯片)或向所述方案添加额外分区。在一个实施方案中,第一分区321可重新界定为分区331及333。允许用户经由主机界定分区而非迫使用户接受由控制器310预界定或预加载于控制器310中的分区方案给予用户按照他或她的期望来界定分区且在需要产生时改变分区方案的灵活性。在另一实施方案中,主机可检测快闪存储器芯片中的一者(例如,318a)的即将来临的故障,且响应于此信息,分区引擎可将第一分区321重新界定为从分区排除快闪存储器芯片318a,即重新界定为除存储器芯片 318a以外的原始界定的第一分区。因此,可界定任何数目个分区(多达存储装置100中的快闪存储器芯片118a及118b的数目),且分区方案内的不同分区可包括不同数目个快闪存储器芯片且可包括不同量的存储器空间。主机还可包括地址指派引擎366,地址指派引擎366可存在于核心364中且可给待写入到数据存储装置302的数据指派物理存储器地址。举例来说,在用户空间362中运行的应用程序可要求将数据从主机350写入到数据存储装置302,且用户空间应用程序可规定将数据写入到特定逻辑存储器地址。地址指派引擎366可将逻辑地址翻译成物理地址, 所述物理地址可包括(举例来说)应将数据写入到的特定通道、可操作地连接到应将数据写入到其的所述所规定通道的特定快闪存储器芯片及应将数据写入到其的所述所规定存储器芯片的特定物理块地址。在此实施方案中,逻辑地址到物理存储器空间地址的翻译可由地址指派引擎366来执行,使得FPGA 210的DRAM控制器254的作用减小或不相关。图4是图解说明分割图1的数据存储装置的实例性过程400的示范性流程图,其中所述装置包括多个快闪存储器芯片。过程400可包括确定数据存储装置中的快闪存储器芯片的数目402。举例来说,配置检测引擎可查询数据存储装置以收集关于数据存储装置中的快闪存储器芯片的数目的信息。可经由耦合到数据存储装置的主机来界定数据存储装置的第一分区,其中所述第一分区包括所述多个快闪存储器芯片的第一子集404。可经由主机来界定数据存储装置的第二分区,其中所述第二分区包括所述多个快闪存储器芯片的第二子集406。作为此过程的结果,确保第一子集不包括第二子集中的任何快闪存储器芯片且第二子集不包括第一子集中的任何快闪存储器芯片。任选地,过程400可包括在从第二分区读取数据的同时将数据写入到第一分区 408。确定数据存储装置中的快闪存储器芯片的数目可包括将指示数据存储装置中的快闪存储器芯片的数目的信息从数据存储装置传输到主机410。可在主机中界定所述数据存储装置中的将从主机向其写入数据的地址位置,其中所述地址位置规定将所述数据写入到所述多个存储器芯片中的特定一者412。当数据存储装置包括用于在主机与多个快闪存储器芯片之间传递数据的多个物理通道时,其中每一通道可操作地连接到不同多个所述存储器芯片,过程400可进一步包括确定物理通道的数目414 ;确定所述通道的第一子集,其中所述通道的所述第一子集中的通道仅可操作地连接到存储器芯片的第一子集中的存储器芯片416 ;确定所述通道的第二子集,其中所述通道的所述第二子集中的通道仅可操作地连接到存储器芯片的第二子集中的存储器芯片418 ;及在主机中界定数据存储装置中的将从主机向其写入数据的地址位置,其中所述地址位置规定经由特定通道将数据写入到所述多个存储器芯片中的特定一者 420。另外,过程400可包括经由耦合到数据存储装置的主机将数据存储装置的第一分区重新界定为包括所述多个快闪存储器芯片的第三子集422。图5是图解说明分割包括多个快闪存储器芯片的数据存储装置的实例性过程500 的另一示范性流程图。过程500可包括读取所述数据存储装置的物理配置,其中包括所述数据存储装置中的快闪存储器芯片的数目502。所述过程还可包括读取所述数据存储装置的分割方案504。举例来说,配置检测引擎可从所述数据存储装置的存储器116读取所述物理配置及所述分割方案。耦合到所述数据存储装置的主机可界定所述数据存储装置的第一分区,其中所述第一分区包括所述多个快闪存储器芯片的第一子集506,且可分配所述第一分区的逻辑/物理存储器映射508。所述主机可界定所述数据存储装置的第二分区,其中所述第二分区包括所述多个快闪存储器芯片的第二子集510,且其中所述第一子集不包括所述第二子集中的任何快闪存储器芯片,且其中所述第二子集不包括所述第一子集中的任何快闪存储器芯片,且可分配所述第二分区的逻辑/物理存储器映射512。本文中所描述的各种技术的实施方案可以数字电子电路或者以计算机硬件、固件、软件或其组合来实施。实施方案可实施为计算机程序产品,即,有形地体现于信息载体中(例如,体现于机器可读存储装置中)的计算机程序,以由数据处理设备(例如,可编程处理器、一计算机或多个计算机)执行或控制所述数据处理设备的操作。可以任何形式的编程语言(包含编译语言或解译语言)来编写计算机程序(例如,上文所描述的计算机程序),且可以任何形式来部署所述计算机程序,包含部署为独立程序或部署为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序可经部署以在一个计算机上或在位于一个位点处或跨越多个位点分布且由通信网络互连的多个计算机上执行。方法步骤可由执行计算机程序的一个或一个以上可编程处理器执行,以通过对输入数据进行操作并产生输出来执行功能。方法步骤还可由专用逻辑电路(例如,FPGA或 ASIC(专用集成电路))执行,且设备可实施为专用逻辑电路。举例来说,适合执行计算机程序的处理器包括通用及专用微处理器两者,以及任何种类的数字计算机的任何一个或一个以上处理器。一般来说,处理器将从只读存储器或随机存取存储器或两者接收指令及数据。计算机的元件可包括用于执行指令的至少一个处理器及用于存储指令及数据的一个或一个以上存储器装置。一般来说,计算机还可包括用于存储数据的一个或一个以上大容量存储装置(例如,磁盘、磁光盘或光盘),或经操作地耦合以从所述一个或一个以上大容量存储装置接收数据或向其传送数据或既接收数据又传送数据。适合包含计算机程序指令及数据的信息载体包括所有形式的非易失性存储器,其中包括(举例来说)半导体存储器装置,例如EPROM、EEPROM及快闪存储器装置;磁盘, 例如内部硬磁盘或可抽换式磁盘;磁光盘;及⑶-ROM及DVD-ROM光盘。所述处理器及存储器可由专用逻辑电路补充或并入于专用逻辑电路中。为提供与用户的交互,实施方案可实施于计算机上,所述计算机具有用于向所述用户显示信息的显示装置(例如,阴极射线管(CRT)或液晶显示器(LCD)监视器)及所述用户可通过其来向计算机提供输入的键盘及指向装置(例如,鼠标或轨迹球)。也可使用其它种类的装置来提供与用户的交互;举例来说,提供给所述用户的反馈可为任何形式的感观反馈,例如,视觉反馈、听觉反馈或触觉反馈;且来自所述用户的输入可以任何形式来接收, 其中包括声音、语音或触觉输入。实施方案可实施于计算系统(包括后端组件,例如,作为数据服务器;或包括中间件组件,例如,应用程序服务器;或包括前端组件,例如,具有用户可经由其来与实施方案交互的图形用户接口或Web浏览器的客户端计算机)或此类后端、中间件或前端组件的任一组合中。组件可由任何数字数据通信形式或媒体(例如,通信网络)互连。通信网络的实例包括局域网(LAN)及广域网(WAN),例如因特网。虽然本文已图解说明及描述了所描述实施方案的某些特征,然而所属领域的技术人员现在将能想出许多修改、替代、改变及等效形式。因此,应理解,所附权利要求书打算涵盖归属于本发明的范围内的所有此类修改及改变。
权利要求
1.一种分割数据存储装置(100、30幻的方法,其中所述装置包括多个存储器芯片 (118a、118b、218、318),所述方法包含确定(402)所述数据存储装置(100,302)中的存储器芯片(118aU18b.218.318)的数目;经由耦合到所述数据存储装置(100、302)的主机(106、350)界定(404)所述数据存储装置(100、30幻的第一分区(321、331),其中所述第一分区(321、331)包括所述多个存储器芯片(118a、118b、218、318)的第一子集;经由耦合到所述数据存储装置(100、302)的所述主机(106、350)界定(406)所述数据存储装置(100、30幻的第二分区(322、332),其中所述第二分区(322、33幻包括所述多个存储器芯片(118aU18b.218.318)的第二子集;其中所述第一子集不包括所述第二子集中的任何存储器芯片(118a、118b、218、318), 且其中所述第二子集不包括所述第一子集中的任何存储器芯片(118a、118b、218、318)。
2.根据权利要求1所述的方法,其进一步包含在从所述第二分区(322、33幻读取数据的同时将数据写入到所述第一分区(321、 331)。
3.根据前述权利要求中任一权利要求所述的方法,其中确定所述数据存储装置(100、 302)中的存储器芯片(118a、118b、218、318)的数目包括将指示所述数据存储装置(100、 302)中的存储器芯片(118a、limK218、318)的所述数目的信息从所述数据存储装置(100、 302)传输到所述主机(106、350)。
4.根据前述权利要求中任一权利要求所述的方法,其进一步包含在所述主机(106、 350)中界定(41 所述数据存储装置(100、30幻中的将从所述主机(106、350)向其写入数据的地址位置,其中所述地址位置规定将所述数据写入到所述多个存储器芯片(118a、 118b,218,318)中的特定一者。
5.根据前述权利要求中任一权利要求所述的方法,其中所述数据存储装置(100、302) 包括用于在所述主机(106、350)与所述多个存储器芯片(118a、118b、218、318)之间传递数据的多个物理通道(112),每一通道可操作地连接到不同多个所述存储器芯片(118a、 118b、218、318),所述方法进一步包含确定(414)物理通道(112)的数目;确定(416)所述通道(11 的第一子集,其中所述通道(11 的所述第一子集中的通道(112)仅可操作地连接到存储器芯片(118a、118b、218、318)的所述第一子集中的存储器芯片(118a、118b、218、318);确定G18)所述通道(11 的第二子集,其中所述通道(11 的所述第二子集中的通道(112)仅可操作地连接到存储器芯片(118a、118b、218、318)的所述第二子集中的存储器芯片(118a、118b、218、318);及在所述主机(106、350)中界定(420)所述数据存储装置(100、30幻中的将从所述主机 (106,350)向其写入数据的地址位置,其中所述地址位置规定经由特定通道将所述数据写入到所述多个存储器芯片(118a、limK218、318)中的特定一者。
6.根据前述权利要求中任一权利要求所述的方法,其中所述第一分区(321、331)包括可操作地连接到单个通道的存储器芯片(118a、118b、218、318)。
7.根据前述权利要求中任一权利要求所述的方法,其进一步包含经由耦合到所述数据存储装置(100、30幻的所述主机(106、350)将所述数据存储装置 (100,302)的所述第一分区(321、331)重新界定022)为包括所述多个存储器芯片(118a、 118b,218,318)的第三子集,其中所述第三子集不同于所述第一子集,且其中所述第三子集不包括所述第二子集中的任何存储器芯片(118a、118b、218、318), 且其中所述第二子集不包括所述第三子集中的任何存储器芯片(118a、118b、218、318)。
8.根据前述权利要求中任一权利要求所述的方法,其进一步包含接收所述第一子集中的所述存储器芯片(118a、118b、218、318)中的一者已出故障或接近出故障的指示;其中重新界定(42 所述第一分区(321、331)包括将所述第三子集界定为所述第一子集的除已出故障或接近出故障的所述存储器芯片以外的存储器芯片(118a、118b、218、 318)。
9.一种设备,其包含数据存储装置(100、302),其包括多个存储器芯片(118a、118b、218、318);主机(106、350),其经由接口可操作地耦合到所述数据存储装置(100、302),所述主机 (106,350)包含配置检测引擎(358),其经配置以检测所述数据存储装置(100、30幻中的存储器芯片 (118a、118b、218、318)的数目;分区引擎(360),其配置以界定所述数据存储装置(100、30幻的第一分区(321、331), 其中所述第一分区(321、331)包括所述多个存储器芯片(118a、118b、218、318)的第一子集;及界定所述数据存储装置(100、30幻的第二分区(322、332),其中所述第二分区(322、 332)包括所述多个存储器芯片(118a、limK218、318)的第二子集;其中所述第一子集不包括所述第二子集中的任何存储器芯片(118a、118b、218、318), 且其中所述第二子集不包括所述第一子集中的任何存储器芯片(118a、118b、218、318)。
10.根据权利要求9所述的设备,其中所述数据存储装置(100、30幻经配置以在从所述主机(106、350)接收到命令后即刻将指示所述数据存储装置(100、30幻中的存储器芯片 (118a、118b、218、318)的所述数目的信息从所述数据存储装置(100、302)传输到所述主机 (106,350)。
11.根据权利要求9到10中任一权利要求所述的设备,其中所述主机(106、350)进一步包含经配置以给待写入到所述数据存储装置(100、30幻的数据指派存储器地址的地址指派引擎(366),其中所述所指派存储器地址规定将所述数据写入到所述多个存储器芯片 (118a、118b、218、318)中的特定一者。
12.根据权利要求9到11中任一权利要求所述的设备,其中所述数据存储装置(100、 302)包括用于在所述主机(106、350)与所述多个存储器芯片(118a、118b、218、318)之间传递数据的多个物理通道(112),每一通道可操作地连接到不同多个所述存储器芯片(118a、 118b、218、318),且其中所述配置检测引擎(358)进一步经配置以检测所述数据存储装置(100、30幻中的通道(11 的数目;其中所述分区引擎(360)进一步经配置以界定所述通道(112)的第一子集,其中所述通道(112)的所述第一子集中的通道(112)仅可操作地连接到存储器芯片(118a、118b、 218,318)的所述第一子集中的存储器芯片(118aU18b.218.318);且其中所述分区引擎(360)进一步经配置以界定所述通道(11 的第二子集,其中所述通道(112)的所述第二子集中的通道(112)仅可操作地连接到存储器芯片(118a、118b、 218,318)的所述第二子集中的存储器芯片(118a、118b、218、318)。
13.根据权利要求9到12中任一权利要求所述的设备,其中所述主机(106、350)进一步包含经配置以给待写入到所述数据存储装置(100、30幻的数据指派存储器地址的地址指派引擎(366),其中所述所指派存储器地址规定经由特定通道将所述数据写入到所述多个存储器芯片(118aU18b.218.318)中的特定一者。
14.根据权利要求9到13中任一权利要求所述的设备,其中所述第一分区(321、331) 包括可操作地连接到单个通道的存储器芯片(118a、118b、218、318)。
15.根据权利要求9到14中任一权利要求所述的设备,其中所述分区引擎(360)进一步经配置以将所述数据存储装置(100、30幻的所述第一分区(321、331)重新界定为包括所述多个存储器芯片(118a、118b、218、318)的第三子集,其中所述第三子集不同于所述第一子集,且其中所述第三子集不包括所述第二子集中的任何存储器芯片(118a、118b、218、318), 且其中所述第二子集不包括所述第三子集中的任何存储器芯片(118a、118b、218、318)。
16.根据权利要求15所述的设备,其中所述分区引擎(360)进一步经配置以接收所述第一子集中的所述存储器芯片(118a、118b、218、318)中的一者已出故障或接近出故障的指示;且其中将所述第一分区(321、331)重新界定为包括所述多个存储器芯片(118a、118b、 218,318)的所述第三子集包括将所述第三子集界定为所述第一子集的除已出故障或接近出故障的所述存储器芯片以外的存储器芯片(118a、118b、218、318)。
17.一种分割数据存储装置(100、30幻的方法,其中所述装置包括多个存储器芯片 (118a、118b、218、318),所述方法包含读取(50 所述数据存储装置(100、30幻的物理配置,其中包括所述数据存储装置 (100,302)中的存储器芯片(118aU18b.218.318)的数目;读取(504)所述数据存储装置(100、30幻的分割方案;经由耦合到所述数据存储装置(100、30幻的主机(106、350)界定(506)所述数据存储装置(100、30幻的第一分区(321、331),其中所述第一分区(321、331)包括所述多个存储器芯片(118a、118b、218、318)的第一子集;分配(508)所述第一分区(321、331)的逻辑/物理存储器映射;经由耦合到所述数据存储装置(100、30幻的所述主机(106、350)界定(510)所述数据存储装置(100、30幻的第二分区(322、332),其中所述第二分区(322、33幻包括所述多个存储器芯片(118aU18b.218.318)的第二子集;及分配(51 所述第二分区(322、332)的逻辑/物理存储器映射,其中所述第一子集不包括所述第二子集中的任何存储器芯片(118a、118b、218、318), 且其中所述第二子集不包括所述第一子集中的任何存储器芯片(118a、118b、218、318)。
18.根据权利要求17所述的方法,其进一步包含在从所述第二分区(322、33幻读取数据的同时将数据写入到所述第一分区(321、 331)。
19.根据权利要求17到18中任一权利要求所述的方法,其中所述数据存储装置(100、 302)包括用于在所述主机(106、350)与所述多个存储器芯片(118a、118b、218、318)之间传递数据的多个物理通道(112),每一通道可操作地连接到不同多个所述存储器芯片(118a、 118b、218、318),其中所述数据存储装置(100、30幻的所述物理配置进一步包括所述数据存储装置(100、302)中的存储器芯片(118a、limK218、318)的所述数目,所述方法进一步包含确定所述通道(11 的第一子集,其中所述通道(11 的所述第一子集中的通道(112) 仅可操作地连接到存储器芯片(118a、118b、218、318)的所述第一子集中的存储器芯片 (118a、118b、218、318);确定所述通道(11 的第二子集,其中所述通道(11 的所述第二子集中的通道(112) 仅可操作地连接到存储器芯片(118a、118b、218、318)的所述第二子集中的存储器芯片 (118a、118b、218、318);及在所述主机(106、350)中界定所述数据存储装置(100、30幻中的将从所述主机(106、 350)向其写入数据的地址位置,其中所述地址位置规定经由特定通道将所述数据写入到所述多个存储器芯片(118a、118b、218、318)中的特定一者。
20.一种设备,其包含数据存储装置(100、302),其包括多个存储器芯片(118a、118b、218、318);主机(106、350),其经由接口可操作地耦合到所述数据存储装置(100、302),所述主机 (106,350)包含配置检测引擎(358),其经配置以读取所述数据存储装置(100、30幻的物理配置,其中包括所述数据存储装置(100、302)中的存储器芯片(118a、118b、218、318)的数目,且经配置以读取所述数据存储装置(100、30幻的分割方案;分区引擎(360),其经配置以界定所述数据存储装置(100、30幻的第一分区(321、 331),其中所述第一分区(321,331)包括所述多个存储器芯片(118aU18b.218.318)的第一子集;及界定所述数据存储装置(100、30幻的第二分区(322、332),其中所述第二分区 (322,332)包括所述多个存储器芯片(118a、118b、218、318)的第二子集,且经配置以分配所述第一分区(321、331)的逻辑/物理存储器映射且分配所述第二分区(322、332)的逻辑 /物理存储器映射;其中所述第一子集不包括所述第二子集中的任何存储器芯片(118a、118b、218、318), 且其中所述第二子集不包括所述第一子集中的任何存储器芯片(118a、118b、218、318)。
21.根据权利要求20所述的设备,其中所述数据存储装置(100、30幻经配置以在从所述主机(106、350)接收到命令后即刻将指示所述数据存储装置(100、30幻的所述物理配置的信息从所述数据存储装置(100、30幻传输到所述主机(106、350)。
22.根据权利要求20到21中任一权利要求所述的设备,其中所述数据存储装置(100、 302)包括用于在所述主机(106、350)与所述多个存储器芯片(118a、118b、218、318)之间传递数据的多个物理通道(112),每一通道可操作地连接到不同多个所述存储器芯片(118a、118b、218、318),且其中所述数据存储装置(100、30幻的所述物理配置进一步包括所述数据存储装置 (100,302)中的通道(112)的数目;其中所述分区引擎(360)进一步经配置以界定所述通道(112)的第一子集,其中所述通道(112)的所述第一子集中的通道(112)仅可操作地连接到存储器芯片(118a、118b、 218,318)的所述第一子集中的存储器芯片(118aU18b.218.318);且其中所述分区引擎(360)进一步经配置以界定所述通道(112)的第二子集,其中所述通道(112)的所述第二子集中的通道(112)仅可操作地连接到存储器芯片(118a、118b、 218,318)的所述第二子集中的存储器芯片(118a、118b、218、318)。
23.根据权利要求21到22中任一权利要求所述的设备,其中所述第一分区(321、331) 包括可操作地连接到单个通道的存储器芯片(118a、118b、218、318)。
全文摘要
一种分割具有多个存储器芯片(118a、118b、218、318)的数据存储装置(100、302)的方法包括确定所述数据存储装置(100、302)中的存储器芯片(118a、118b、218、318)的数目;经由耦合到所述数据存储装置(100、302)的主机(106、350)界定所述数据存储装置(100、302)的第一分区(321、331),其中所述第一分区(321、331)包括所述多个存储器芯片(118a、118b、218、318)的第一子集;经由所述主机(106、350)界定所述数据存储装置(100、302)的第二分区(322、332),其中所述第二分区(322、332)包括所述多个存储器芯片(118a、118b、218、318)的第二子集,使得所述第一子集不包括所述第二子集中的任何存储器芯片(118a、118b、218、318)且其中所述第二子集不包括所述第一子集中的任何存储器芯片(118a、118b、218、318)。
文档编号G06F13/38GK102428452SQ201080020489
公开日2012年4月25日 申请日期2010年4月5日 优先权日2009年4月8日
发明者安德鲁·T·斯温, 罗伯特·S·斯普林科, 阿尔贝特·T·博尔歇斯 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1