CN102428453A - 用于在快闪存储器数据存储装置中存储数据的方法及设备 - Google Patents
用于在快闪存储器数据存储装置中存储数据的方法及设备 Download PDFInfo
- Publication number
- CN102428453A CN102428453A CN2010800205073A CN201080020507A CN102428453A CN 102428453 A CN102428453 A CN 102428453A CN 2010800205073 A CN2010800205073 A CN 2010800205073A CN 201080020507 A CN201080020507 A CN 201080020507A CN 102428453 A CN102428453 A CN 102428453A
- Authority
- CN
- China
- Prior art keywords
- data
- subregion
- memory chip
- storage device
- data storage
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
Abstract
本发明揭示一种在包括多个存储器芯片(118、218、318)的快闪存储器数据存储装置(100、302、501)中存储数据的方法。所述方法包括:确定所述数据存储装置(100、302、501)中的存储器芯片(118、218、318)的数目;经由耦合到所述数据存储装置(100、302、501)的主机(106、350、551),界定所述数据存储装置(100、302、501)的第一分区(321),其中所述第一分区(321)包括所述多个存储器芯片(118、218、318)的第一子集;及经由耦合到所述数据存储装置(100、302、501)的主机(106、350、551),界定所述数据存储装置(100、302、501)的第二分区(322),其中所述第二分区(322)包括所述多个存储器芯片(118、218、318)的第二子集。在从所述第二分区(322)读取数据的同时将第一数据写入到所述第一分区(321),且在从所述第一分区(321)读取数据的同时将第一数据写入到所述第二分区(322)。
Description
相关申请案交叉参考
本申请案请求对在2009年4月8日提出申请且标题为“数据存储装置(DATASTORAGE DEVICE)”的第61/167,709号美国临时申请案及在2009年6月17日提出申请且标题为“快闪存储器数据存储装置中的分割及分条(PARTITIONING ANDSTRIPING IN A FLASH MEMORY DATA STORAGE DEVICE)”的第61/187,835号美国临时申请案的权益,其两者以整体引用的方式并入本文中。
技术领域
本说明涉及一种数据存储装置。
背景技术
可使用数据存储装置来存储数据。数据存储装置可与计算装置一同使用以提供所述计算装置的数据存储需要。在某些实例中,可期望在数据存储装置上存储大量数据。此外,可期望快速地执行从所述数据存储装置读取数据及向所述数据存储装置写入数据的命令。
发明内容
在第一一般方面中,揭示一种在包括多个存储器芯片的快闪存储器数据存储装置中存储数据的方法。所述方法包括:确定所述数据存储装置中的存储器芯片的数目;经由耦合到所述数据存储装置的主机,界定所述数据存储装置的第一分区,其中所述第一分区包括所述多个存储器芯片的第一子集;及经由耦合到所述数据存储装置的主机,界定所述数据存储装置的第二分区,其中所述第二分区包括所述多个存储器芯片的第二子集。在从所述第二分区读取数据的同时将第一数据写入到所述第一分区,且在从所述第一分区读取数据的同时将第一数据写入到所述第二分区。
实施方案可包括以下特征中的一者或一者以上。举例来说,可在读取数据的同时将第二数据写入到所述第一分区,且可在从所述第一分区读取数据的同时将第二数据写入到所述第二分区,且对于N=第3到至少第10或至少低100或至少第1000:可在从所述第二分区读取数据的同时将N数据写入到所述第一分区,且可在从所述第一分区读取数据的同时将N数据写入到所述第二分区。
确定所述数据存储装置中的存储器芯片的数目可包括将指示所述数据存储装置中的存储器芯片的所述数目的信息从所述数据存储装置传输到所述主机,且所述所传输信息可包括关于所述数据存储装置的物理架构的信息,其中包括关于所述数据存储装置的特定存储器芯片与特定通道之间的连接的信息。可在所述主机中界定所述数据存储装置中的将从所述主机向其写入数据的地址位置,其中所述地址位置规定将所述数据写入到所述多个存储器芯片中的特定一者。
所述数据存储装置可包括用于在所述主机与所述多个存储器芯片之间传递数据的多个物理通道,其中每一通道可操作地连接到不同多个所述存储器芯片,且所述方法进一步包括:确定所述物理通道的数目;确定所述数目个通道的第一子集,其中通道的所述第一子集中的通道仅可操作地连接到存储器芯片的所述第一子集中的存储器芯片;及确定所述数目个通道的第二子集,其中通道的所述第二子集中的通道仅可操作地连接到存储器芯片的所述第二子集中的存储器芯片。可在所述主机中界定所述数据存储装置中的将从所述主机向其写入数据的地址位置,其中所述地址位置规定经由特定通道将所述数据写入到所述多个存储器芯片中的特定一者。另外,所述数据存储装置可包括用于在所述主机与所述多个存储器芯片之间传递数据的多个物理通道,且所述方法可进一步包括:确定所述物理通道的数目,其中所述所确定通道可操作地连接到存储器芯片的所述第一子集中的所述存储器芯片且可操作地连接到存储器芯片的所述第二子集中的存储器芯片。
所述第一子集可不包括所述第二子集中的任何存储器芯片,且所述第二子集可不包括所述第一子集中的任何存储器芯片。所述方法可进一步包括:接收所述第一分区的存储器芯片已出故障或可能要出故障的指示;经由耦合到所述数据存储装置的所述主机将所述数据存储装置的所述第一分区重新界定为包括所述多个存储器芯片的第三子集,其中所述第三子集不同于所述第一子集,且其中所述第三子集不包括所述第二子集中的任何存储器芯片,且其中所述第二子集不包括所述第三子集中的任何存储器芯片。重新界定所述第一分区可包括将所述第三子集界定为所述第一子集的除已出故障或接近出故障的所述存储器芯片以外的存储器芯片。
在另一一般方面中,一种设备包括:快闪存储器数据存储装置,其包括多个存储器芯片;及主机,其经由接口可操作地耦合到所述数据存储装置。所述主机包括:配置检测引擎,其经配置以检测所述数据存储装置中的存储器芯片的数目;分区引擎;及驱动器。所述分区引擎经配置以界定:所述数据存储装置的第一分区,其中所述第一分区包括所述多个存储器芯片的第一子集;及所述数据存储装置的第二分区,其中所述第二分区包括所述多个存储器芯片的第二子集。所述驱动器经配置以:将第一数据写入到所述第一分区;在正将所述第一数据写入到所述第一分区的同时从所述第二分区读取数据;及在从所述第一分区读取数据的同时将所述第一数据写入到所述第二分区。
实施方案可包括以下特征中的一者或一者以上。举例来说,所述驱动器可进一步经配置以在从所述第二分区读取数据的同时将第二数据写入到所述第一分区且在从所述第一分区读取数据的同时将所述第二数据写入到所述第二分区;及对于N=第3到至少第10,所述驱动器可进一步经配置以在从所述第二分区读取数据的同时将N数据写入到所述第一分区且在从所述第一分区读取数据的同时将所述N数据写入到所述第二分区。
所述数据存储装置可经配置以在从所述主机接收到命令后即刻将指示所述数据存储装置中的存储器芯片的所述数目的信息从所述数据存储装置传输到所述主机,且所述所传输信息可包括关于所述数据存储装置的物理架构的信息,其中包括关于所述数据存储装置的特定存储器芯片与特定通道之间的连接的信息。所述主机可进一步包括经配置以给待写入到所述数据存储装置的数据指派存储器地址的地址指派引擎,其中所述所指派存储器地址规定将所述数据写入到所述多个存储器芯片中的特定一者。
当所述数据存储装置包括用于在所述主机与所述多个存储器芯片之间传递数据的多个物理通道时,其中每一通道可操作地连接到不同多个所述存储器芯片,所述配置检测引擎可进一步经配置以:检测所述物理通道的数目,且所述分区引擎可进一步经配置以:确定所述数目个通道的第一子集,其中所述第一通道子集中的通道仅可操作地连接到所述第一存储器芯片子集中的存储器芯片;及确定所述数目个通道的第二子集,其中所述第二通道子集中的通道仅可操作地连接到所述第二存储器芯片子集中的存储器芯片。所述地址指派引擎可经配置以给待写入到所述数据存储装置的数据指派存储器地址,其中所述所指派存储器地址规定经由特定通道将所述数据写入到所述多个存储器芯片中的特定一者。在另一实施方案中,当所述数据存储装置包括用于在所述主机与所述多个存储器芯片之间传递数据的多个物理通道时,所述多个物理通道可为可操作地连接到所述第一存储器芯片子集中的存储器芯片且可操作地连接到所述第二存储器芯片子集中的存储器芯片。
所述分区引擎进一步经配置以:接收所述第一分区的存储器芯片已出故障或可能要出故障的指示;将所述数据存储装置的所述第一分区重新界定为包括所述多个存储器芯片的第三子集,其中所述第三子集不同于所述第一子集,且其中所述第三子集不包括所述第二子集中的任何存储器芯片且其中所述第二子集不包括所述第三子集中的任何存储器芯片。
在附图及下文说明中阐述一个或一个以上实施方案的细节。从所述说明及图式且从权利要求书将明了其它特征。
附图说明
图1是数据存储装置的示范性框图。
图2是所述数据存储装置的印刷电路板的示范性透视框图。
图3A是与图1的数据存储装置一同使用的示范性计算装置的示范性框图。
图3B是与图1的数据存储装置一同使用的示范性计算装置的示范性框图。
图4是图解说明在图1的数据存储装置上存储数据的实例性过程的示范性流程图。
图5是图1的数据存储装置的实例性实施方案的示范性框图。
图6是图解说明图1的数据存储装置的实例性操作的示范性流程图。
具体实施方式
本文件描述一种用于数据存储的设备、系统及技术。此数据存储设备可包括可与一个或一个以上不同存储器板一同使用的控制器的控制器板,其中所述存储器板中的每一者具有多个快闪存储器芯片。所述数据存储设备可使用所述控制器板上的接口来与主机进行通信。以此方式,所述控制器板上的所述控制器可经配置以使用所述接口来从所述主机接收命令且使用所述存储器板上的所述快闪存储器芯片来执行这些命令。
图1是数据存储装置100的框图。数据存储装置100可包括控制器板102以及一个或一个以上存储器板104a及104b。数据存储装置100可经由接口108与主机106进行通信。接口108可在主机106与控制器板102之间。控制器板102可包括控制器110、DRAM 111、多个物理通道112、电力模块114及存储器模块116。存储器板104a及104b可包括所述存储器板中的每一者上的多个快闪存储器芯片118a及118b。存储器板104a及104b还可包括存储器装置120a及120b。
一般来说,数据存储装置100可经配置以将数据存储于快闪存储器芯片118a及118b上。主机106可将数据写入到快闪存储器芯片118a及118b及从快闪存储器芯片118a及118b读取数据,并且引起将关于快闪存储器芯片118a及118b执行的其它操作。可经由控制器板102上的控制器110来处理且由控制器110来控制主机106与快闪存储器芯片118a及118b之间的数据读取及写入以及其它操作。控制器110可从主机106接收命令且致使使用存储器板104a及104b上的快闪存储器芯片118a及118b来执行这些命令。主机106与控制器110之间的通信可经由接口108。控制器110可使用通道112来与快闪存储器芯片118a及118b进行通信。
控制器板102可包括DRAM 111。DRAM 111可为可操作地耦合到控制器110且可用以存储信息。举例来说,DRAM 111可用以存储逻辑地址到物理地址映射及坏块信息。DRAM 111还可经配置以用作主机106与快闪存储器芯片118a及118b之间的缓冲器。在一个示范性实施方案中,控制器板102以及存储器板104a及104b中的每一者为物理上单独的印刷电路板(PCB)。存储器板104a可在可操作地连接到控制器板102PCB的一个PCB上。举例来说,存储器板104a可物理及/或电连接到控制器板102。类似地,存储器板104b可为与存储器板104a分开的PCB且可为可操作地连接到控制器板102PCB。举例来说,存储器板104b可物理及/或电连接到控制器板102。
存储器板104a及104b每一者可单独地与控制器板102断开及从控制器板102移除。举例来说,存储器板104a可从控制器板102断开且由另一存储器板(未展示)替换,其中所述另一存储器板可操作地连接到控制器板102。在此实例中,可用其它存储器板换出存储器板104a及104b中的任一者或两者,使得所述其它存储器板可与同一控制器板102及控制器110一同操作。举例来说,存储器板104b可物理及/或电连接到控制器板102。
在一个示范性实施方案中,控制器板102以及存储器板104a及104b中的每一者可以磁盘驱动器形状因数物理连接。所述磁盘驱动器形状因数可包括不同大小,例如(举例来说)3.5″磁盘驱动器形状因数及2.5″磁盘驱动器形状因数。
在一个示范性实施方案中,控制器板102以及存储器板104a及104b中的每一者可使用高密度球栅阵列(BGA)连接器电连接。可使用BGA连接器的其它变化形式,其中包括(举例来说)细球栅阵列(FBGA)连接器、超细球栅阵列(UBGA)连接器及微球栅阵列(MBGA)连接器。也可使用其它类型的电连接构件。
接口108可包括控制器110与主机106之间的高速接口。所述高速接口可使得能够在主机106与快闪存储器芯片118a及118b之间快速传送数据。在一个示范性实施方案中,所述高速接口可包括外围组件互连高速(“PCIe”)接口。举例来说,所述PCIe接口可为PCIe x4接口或PCIe x8接口。接口108可包括到主机106的连接器,例如(举例来说)外部PCIe连接器电缆组合件。也可使用其它高速接口、连接器及连接器组合件。
在一个示范性实施方案中,控制器板102与存储器板104a及104b上的快闪存储器芯片118a及118b之间的通信可布置及配置成多个物理通道112。通道112中的每一者可与一个或一个以上快闪存储器芯片118a及118b通信。控制器110可经配置而使得从主机106接收的命令可由控制器110使用通道112中的每一者同时或至少实质上同时执行。以此方式,可在不同物理通道112上同时执行多个命令,此可改善数据存储装置100的吞吐量。
在图1的实例中,图解说明二十(20)个物理通道112。完全实线图解说明控制器110与存储器板104a上的快闪存储器芯片118a之间的十(10)个物理通道。混合的实线与虚线图解说明控制器110与存储器板104b上的快闪存储器芯片118b之间的十(10)个通道。如图1中所图解说明,通道112中的每一者可支持多个快闪存储器芯片。举例来说,通道112中的每一者可支持多达32个快闪存储器芯片。在一个示范性实施方案中,所述20个通道中的每一者可经配置以支持6个快闪存储器芯片并与其通信。在此实例中,存储器板104a及104b中的每一者将各自包括60个快闪存储器芯片。依据快闪存储器芯片118a及118b的类型及数目,数据存储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还可包括其它类型的存储器模块。
存储器板104a及104b可经配置以与不同类型的快闪存储器芯片118a及118b一同操作。在一个示范性实施方案中,快闪存储器芯片118a及快闪存储器芯片118b可为相同类型的快闪存储器芯片,其中包括需要来自电力模块114的相同电压及来自相同快闪存储器芯片销售商。术语销售商与制造商在本文件通篇中可互换使用。
在另一示范性实施方案中,存储器板104a上的快闪存储器芯片118a可为与存储器板104b上的快闪存储器芯片118b不同的类型的快闪存储器芯片。举例来说,存储器板104a可包括SLC NAND快闪存储器芯片且存储器板104b可包括MLC NAND快闪存储器芯片。在另一实例中,存储器板104a可包括来自一个快闪存储器芯片制造商的快闪存储器芯片且存储器板104b可包括来自不同快闪存储器芯片制造商的快闪存储器芯片。具有全部相同类型的快闪存储器芯片或具有不同类型的快闪存储器芯片的灵活性使得能够使数据存储装置100适合主机106正在使用的不同应用程序。
在另一示范性实施方案中,存储器板104a及104b可在同一存储器板上包括不同类型的快闪存储器芯片。举例来说,存储器板104a可在同一PCB上包括SLC NAND芯片及MLC NAND芯片两者。类似地,存储器板104b可包括SLC NAND芯片及MLC NAND芯片两者。以此方式,数据存储装置100可有利地经定制以满足主机106的规格。
在另一示范性实施方案中,存储器板104a及104b可包括其它类型的存储器装置,其中包括非快闪存储器芯片。举例来说,存储器板104a及104b可包括随机存取存储器(RAM),例如(举例来说)动态RAM(DRAM)及静态RAM(SRAM)以及其它类型的RAM及其它类型的存储器装置。在一个示范性实施方案中,存储器板104a及104b两者可包括RAM。在另一示范性实施方案中,所述存储器板中的一者可包括RAM且另一存储器板可包括快闪存储器芯片。此外,所述存储器板中的一者可包括RAM及快闪存储器芯片两者。
存储器板104a及104b上的存储器模块120a及120b可分别用以存储与快闪存储器芯片118a及118b相关的信息。在一个示范性实施方案中,存储器模块120a及120b可存储快闪存储器芯片的装置特性。所述装置特性可包括所述芯片为SLC芯片还是MLC芯片、所述芯片为NAND还是NOR芯片、芯片选择的数目、块的数目、每块页的数目、每页字节的数目及所述芯片的速度。
在一个示范性实施方案中,存储器模块120a及120b可包括串行EEPROM。EEPROM可存储装置特性。可针对任何给定类型的快闪存储器芯片汇编一次装置特性且可用所述装置特性产生适当EEPROM图像。当存储器板104a及104b可操作地连接到控制器板102时,则可从EEPROM读取所述装置特性,使得控制器110可自动辨识控制器110正在控制的快闪存储器芯片118a及118b的类型。另外,可针对特定类型的快闪存储器芯片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的单独存储器板104a及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控制器254可经布置及配置以控制逻辑地址到物理地址的翻译。举例来说,在其中主机使用逻辑地址来寻址存储器空间的实施方案中,DRAM控制器254可借助将由主机使用的逻辑地址翻译成快闪存储器芯片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、318l的数据存储装置302。第一及第二分区321及322界定数据存储装置302中的存储空间的不同物理区域,使得可将不同种类的目录及文件分类在不同分区中,或使得一个分区可用于不同于另一分区的目的。第一分区可包括第一子集快闪存储器芯片318a到318f,而第二分区可包括第二子集快闪存储器芯片318g到318l,其中不存在任何为两个分区的部分的快闪存储器芯片。也就是说,在个别快闪存储器芯片之间划出分区321与分区322之间的边界,以确保个别快闪存储器芯片不属于一个以上分区。
将数据存储装置组织成两个或两个以上分区可用于若干个目的。举例来说,可保持存储于一个分区上的操作系统文件与存储于另一分区上的用户文件分离。可动态且快速地改变大小(可能使文件系统满)的高速缓冲存储器及日志文件可存储于一个分区上且保持与存储于不同分区上的其它文件分离。分区可用于多重引导设置,其允许用户在单个计算机上具有一个以上操作系统。举例来说,用户可在同一数据存储装置的不同分区上安装Linux、Mac OS X及Microsoft Windows或其它操作系统且具有在加电时引导到任何操作系统(由硬件支持)中的选择。可使用分区来保护或隔离文件以使得更容易地恢复遭破坏文件系统或操作系统安装。举例来说,如果一个分区遭破坏但任何其它文件系统均不受影响,那么所述存储装置上的数据仍可为可挽回的。针对只读数据使用单独的分区还减少所述分区上的文件系统遭破坏的机会。分区还可提高其中较小文件系统更高效的系统上的总体计算机性能。举例来说,仅具有一个NTFS文件系统的大硬盘驱动器通常具有非常大的顺序存取的主文件表(MFT),且通常比较小分区的较小MFT花费更多的时间来读取此MFT。
在另一实例性实施例中,数据存储装置302可用以存储必须从所述数据存储装置快速读取且将其供应到主机的大量数据(例如,许多千兆字节或太字节的数据)。举例来说,所述数据存储装置可用以高速缓冲存储大量的公开可存取信息(例如,来自万维网的网页的大语料库、书籍的电子版本的大库或表示大量电信的数字信息等),所述大量的公开可存取信息可由主机响应于查询而提取。因此,可为重要的是响应于主机所发出的读取命令而非常快速地存取并返回相关数据。然而,还可需要随相关信息改变而不断地更新数据存储装置中所存储的信息以保持所述信息为最近的。举例来说,如果存储装置上的信息与网页的语料库相关,那么可需要随网页改变且随新网页被创建而更新存储装置上所存储的信息。
在此系统中,经分割快闪存储器数据存储装置302可提供优越性能。在快闪存储器存储装置中,到快闪存储器芯片的写入操作比从快闪存储器芯片的读取操作花费更长的时间(例如,长10到100倍)。在各种实施例中,每一快闪存储器芯片318a到318l可每个别存储媒体经由单个通信通道312a到321f与主机350进行通信,使得给定快闪存储器芯片上的单个读取或写入(但非两者)在给定时间框架内。在此实施例中,到存储媒体的写入操作可阻挡从同一装置的可能读取操作。
举例来说,通过快闪存储器芯片318a到318l,完成写入命令所需要的时间或等待时间可远远大于完成读取命令所需要的时间或等待时间。另外,快闪存储器芯片318a到318l可招致多个事务以便完成单个写入操作。此情况的实例可包括“无用单元收集”。
因此,将数据存储装置的芯片318a到318l组织成两个或两个以上分区(其中,在不同芯片之间的边界处界定所述分区)提供用以确保快速读取操作同时还允许实时更新所述数据存储装置上所存储的信息的方式。举例来说,分区321及322两者可用以存储待响应于查询而提供的大致相同数据语料库(例如,网页语料库),且个别分区可在服务于请求与用新信息更新之间交替。举例来说,在第一时间周期中,第一分区321可用以将信息提供到主机(例如,可响应于用户查询而请求的信息),同时更新第二分区322上的数据(例如,响应于对语料库的网页的改变或增加)。接着,在第二时间周期中,最近经更新的第二分区322可用以将信息提供到主机,同时更新第一分区321上的数据。以此方式,第一分区上的数据可镜射于第二分区上,使得第二分区可维持与第一分区上的数据实质相同的数据。为确保两个分区维持实质相同的数据语料库且第二分区通过存储与第一分区实质相同的数据而镜射第一分区,主机可将数据写入到第一分区,且接着主机可将被写入到第一分区的相同数据写入到第二分区。主机可执行额外操作以确保第二分区镜射第一分区。举例来说,如果主机从装置302接收到所述分区中的任一者上的快闪存储器芯片已出故障或可能要出故障的指示,那么主机可将对应于所述出故障或即将出故障的芯片上的数据的数据拷贝到所述分区的另一芯片上。在一个实施方案中,主机可从不包括所述出故障或即将出故障的芯片的分区拷贝数据。
通过准备装置302上的镜射分区321及322,数据可总是从充当只读装置的分区来提供,且因此提供对来自主机的读取命令的非常快速的响应,而不会因写入命令减慢,同时正在用新信息更新另一分区。界定分区而使得个别快闪存储器芯片仅包括于一个分区中确保没有快闪芯片将具有在实质相同时间向其写入且从其读取的数据,此将导致对来自主机350的读取请求的响应的延迟。然而,在另一实施方案中,两个镜射分区之间的边界不需要沿物理芯片边界划出,在此情况下芯片的一些物理存储器地址可属于一个分区且所述芯片的其它物理存储器地址可属于另一镜射分区。
如上文所论述,存储器芯片318a到318l可连接到可包括FPGA控制器310的控制器。所述FPGA控制器可经配置以按上文关于图1控制器110或图2的FPGA 210所描述的方式操作。FPGA控制器310可包括用以将多个通道112连接到快闪存储器芯片318a到318l的多个通道控制器312a、312b、312c、312d、312e、312f。当然,如上文所描述,存储装置可包括远多于12个快闪存储器芯片、远多于六个通道控制器,且远多于两个快闪存储器芯片可为跨越物理通道可操作地连接到通道控制器。因此,图3A及图3B中所示的实施方案仅为示意性的,以用于说明的清晰性目的。
在一个实施方案中,通道控制器312a、312b、312c、312d、312e、312f可控制可操作地连接到为每一分区321及322的部分的快闪存储器芯片的通道。举例来说,通道控制器312a可为可操作地连接到存储器芯片318a(其为第一分区321的部分),且还可操作地连接到存储器芯片318g(其为第二分区322的部分)。在此配置中,第一分区321中的至少一个存储器芯片连接到数据存储装置302与主机之间的每一通信通道,且第二分区322中的至少一个存储器芯片连接到数据存储装置302与主机350之间的每一通信通道。此配置产生分区321或322与主机之间的通信的最大并行性,此可产生从数据存储装置302的快速读取存取时间及向数据存储装置302的快速写入时间。
在另一实施方案中,大约一半通道控制器可为可操作地连接到第一分区中的快闪存储器芯片且大约一半通道控制器可为可操作地连接到第二分区中的快闪存储器芯片。
在图3B中所示的另一实施方案中,快闪存储器芯片318a、318b、318c、318d、318e、318f、318g、318h、318i、318j、318k、318l可组织成第一分区331、第二分区332、第三分区333及第四分区334,其中不同分区界定数据存储装置302中的存储空间的不同物理区域,使得不同种类的目录及文件可存储于不同分区中,或使得一个分区可用于不同于另一分区的目的。第一分区331可包括第一子集快闪存储器芯片318a到318c。第二分区332可包括第二子集快闪存储器芯片318d到318f。第三分区333可包括第三子集快闪存储器芯片318g到318i。第四分区334可包括第四子集快闪存储器芯片318j到318l。在一个实施方案中,在不同分区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、存储器装置检测引擎358及分区引擎360。第一存储器354可包括(举例来说)适于存储可由处理器352执行的机器可读、可执行代码指令的非易失性存储器装置(例如,硬磁盘)。第一存储器354上所存储的代码指令可加载到第二存储器(例如,易失性存储器,例如随机存取存储器)356中,在此处其可由处理器352执行以创建存储器装置检测引擎358及分区引擎360。第二存储器可包括专用于用户模式应用程序的“用户空间”363的逻辑块及专用于运行用户级应用程序必须控制以执行其功能的较低级资源的“核心空间”364的逻辑块。存储器装置检测引擎358及分区引擎360可驻存于第二存储器356的核心空间364中。
存储器装置检测引擎358可经配置以检测数据存储装置302上的快闪存储器芯片318的数目,且分区引擎360可经配置以界定所述数据存储装置的第一分区321及第二分区322。因此,在主机350上运行的存储器装置检测引擎358及分区引擎360可由主机用来发现数据存储装置302的硬件装置性质且接着经由主机界定分区321及322。在一个实施方案中,存储器装置检测引擎358可向数据存储装置发出查询命令,且响应于所述查询命令,数据存储装置可将关于(举例来说)快闪存储器芯片318的数目、每一芯片的大小(例如,按字节测量)、数据存储装置中的通道的数目及每一通道控制器312a到312e可操作地连接到的快闪存储器芯片的信息返回到主机。此信息可存储于控制器板310的EEPROM 116上及/或数据存储装置302的快闪板的EEPROM 120a上。存储器装置检测引擎可轮询EEPROM 116或EEPROM 120a(例如,在主机350的启动操作期间)以致使数据存储装置将此信息返回到主机350。在另一实施方案中,主机可轮询快闪存储器芯片318以提供关于(举例来说)快闪存储器芯片318的数目、每一芯片的大小(例如,按字节测量)、数据存储装置中的通道的数目、每一通道控制器312a到312e可操作地连接到的快闪存储器芯片的信息。
分区引擎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还可针对第一及第二分区分配逻辑/物理存储器映射,使得在主机上运行的用户级应用程序可使用逻辑地址,所述逻辑地址接着被映射(例如,在主机的核心空间364中运行的地址指派引擎366)到存储装置100的快闪存储器芯片的物理存储器地址。
分区引擎360还可用以将数据存储装置的第一分区重新界定为包括所述多个快闪存储器芯片的第三子集,其中所述第三子集不同于所述第一子集,且其中所述第三子集不包括所述第二子集中的任何快闪存储器芯片且其中所述第二子集不包括所述第三子集中的任何快闪存储器芯片。举例来说,参照图3A及图3B,用户可决定图3A中所示的原始分区方案不适合他或她的需要,且因此可使用主机来重新界定分区321及322(例如,以在特定分区中包括更多或更少的快闪存储器芯片)或向所述方案添加额外分区。在一个实施方案中,第一分区321可重新界定为分区331及333。允许用户经由主机界定分区而非迫使用户接受由控制器310预界定或预加载于控制器310中的分区方案给予用户按照他或她的期望来界定分区且在需要产生时改变分区方案的灵活性。在另一实施方案中,主机可检测快闪存储器芯片中的一者(例如,318a)的即将来临的故障,且响应于此信息,分区引擎可将第一分区321重新界定为从分区排除快闪存储器芯片318a,即重新界定为除存储器芯片318a以外的原始界定的第一分区。因此,可界定任何数目个分区(多达存储装置100中的快闪存储器芯片118a及118b的数目),且分区方案内的不同分区可包括不同数目个快闪存储器芯片且可包括不同量的存储器空间。
主机还可包括地址指派引擎366,地址指派引擎366可存在于核心364中且可给待写入到数据存储装置302的数据指派物理存储器地址。举例来说,在用户空间363中运行的应用程序可要求将数据从主机350写入到数据存储装置302,且用户空间应用程序可规定将数据写入到特定逻辑存储器地址。地址指派引擎366可将逻辑地址翻译成物理地址,所述物理地址可包括(举例来说)应将数据写入到的特定通道、可操作地连接到应将数据写入到其的所述所规定通道的特定快闪存储器芯片及应将数据写入到其的所述所规定存储器芯片的特定物理块地址。在此实施方案中,逻辑地址到物理存储器空间地址的翻译可由地址指派引擎366来执行,使得FPGA 210的DRAM控制器254的作用减小或不相关。
一旦已界定所述分区,那么可以将一个分区的数据镜射于另一分区上的方式来将数据写入到数据存储装置310。举例来说,主机350可包括在存储器356的核心空间364中操作的装置驱动器362,其可用以将数据传递到数据存储装置310及从数据存储装置310传递数据。为在两个分区之间镜射数据,装置驱动器362可将来自主机350的第一数据写入到第一分区321且可在正将所述第一数据写入到所述第一分区的同时从第二分区322读取数据。接着,驱动器362可在从第一分区321读取数据的同时将所述第一数据写入到第二分区322。所述驱动器可通过交替地在第一分区321与第二分区322之间写入数据而继续在所述两个分区之间镜射数据。举例来说,驱动器362可执行N条数据的循环,其中所述驱动器将第N数据写入到所述第一分区,在正将所述第N数据写入到所述第一分区的同时从所述第二分区读取数据,且在从所述第一分区读取数据的同时将所述第N数据写入到所述第二分区。
图4是图解说明分割图1的数据存储装置的实例性过程400的示范性流程图,其中所述装置包括多个快闪存储器芯片。过程400可包括确定数据存储装置中的快闪存储器芯片的数目402。举例来说,配置检测引擎查询数据存储装置以收集关于数据存储装置中的快闪存储器芯片的数目的信息。可经由耦合到数据存储装置的主机来界定数据存储装置的第一分区,其中所述第一分区包括所述多个快闪存储器芯片的第一子集404。可经由主机来界定数据存储装置的第二分区,其中所述第二分区包括所述多个快闪存储器芯片的第二子集406。在从所述第二分区读取数据的同时将第一数据写入到所述第一分区407,且在从所述第二分区读取数据的同时将第一数据写入到所述第二分区409。
特定实施方案可包括某些任选特征。举例来说,确定数据存储装置中的快闪存储器芯片的数目可包括将指示数据存储装置中的快闪存储器芯片的数目的信息从数据存储装置传输到主机409。可在主机中界定所述数据存储装置中的将从主机向其写入数据的地址位置,其中所述地址位置规定将所述数据写入到所述多个存储器芯片中的特定一者412。
当数据存储装置包括用于在主机与多个快闪存储器芯片之间传递数据的多个物理通道时,其中每一通道可操作地连接到不同多个所述存储器芯片,过程400可进一步包括:确定物理通道的数目414;确定所述通道的第一子集,其中所述通道的所述第一子集中的通道仅可操作地连接到存储器芯片的第一子集中的存储器芯片416;确定所述通道的第二子集,其中所述通道的所述第二子集中的通道仅可操作地连接到存储器芯片的第二子集中的存储器芯片418;及在主机中界定数据存储装置中的将从主机向其写入数据的地址位置,其中所述地址位置规定经由特定通道将数据写入到所述多个存储器芯片中的特定一者420。另外,过程400可包括经由耦合到数据存储装置的主机将数据存储装置的第一分区重新界定为包括所述多个快闪存储器芯片的第三子集422。在此实施方案中,当通道的第一子集仅连接到第一分区的存储器芯片时且当通道的第二子集仅连接到第二分区的存储器芯片时,则主机总是具有借以存取每一分区的通道。在另一实施方案中,所有所述通道可连接到第一分区及第二分区的存储器芯片424,且在此实施方案中,当使用所有所述通道来与每一分区进行通信时,则每一分区可以另一分区不具有借以与主机进行通信的任何通道为代价来利用使用所有所述通道与主机进行通信。
图5是设备500的实例性实施方案的示范性框图,其中主机551可控制数据跨越到数据存储装置501的快闪存储器芯片514、515、516、517、524、525、526、527、534、535、536、537、544、545、546及547的不同通道513、523、533、543及/或跨越不同快闪存储器芯片的分条。举例来说,逻辑顺序数据(例如,文件的数据)可破分成段且可将所述段指派给不同通道513、523、533、543或指派给不同快闪存储器芯片514、515、516、517、524、525、526、527、534、535、536、537、544、545、546及547。通过将数据分段且跨越不同通道及/或快闪存储器芯片将其分条(例如,以循环方式),可将逻辑顺序数据的不同段同时写入到不同物理装置(例如,通道或快闪存储器芯片)。由于与主机551的处理器552处理去往存储装置501的数据包的时间相比将数据写入到快闪存储器芯片所需要的时间是不寻常的,因此跨越不同通道513、523、533、543将数据分条或将数据分条到不同快闪存储器芯片514、515、516、517、524、525、526、527、534、535、536、537、544、545、546及547可加速逻辑顺序数据从主机551到存储装置501的写入。类似地,从存储装置501回读经分条的逻辑顺序数据(其中,所述数据已跨越不同通道或芯片分条)可比跨越单个通道或从单个芯片读取所述数据更快速。因此,当回读经分条数据时,可跨越第一通道513将逻辑顺序数据的第一段回读到主机551(例如,从芯片514),同时正在从另一芯片(例如,芯片524)提取逻辑顺序数据的下一段以跨越第二通道514传输。
当使用“芯片分条”将逻辑顺序数据分条到特定快闪存储器芯片514、515、516、517、524、525、526、527、534、535、536、537、544、545、546及547时,主机可规定特定段的目的地存储器地址,其中所述所规定地址可包括待向其写入所述段的特定快闪存储器芯片。因此,可将数据到特定芯片的分条置于主机551的控制下。此可提供当向存储装置501写入数据及从存储装置501读取数据时的较大程度的并行性。举例来说,在包括12个通道及每通道20个快闪存储器芯片的存储装置的实施方案中,可跨越所有240个快闪存储器芯片将文件分条,此意指当在需要第二次存取芯片之前以循环方式存取芯片时可执行240个写入或读取操作。此高程度的并行性结果可产生主机551与存储装置501之间的高数据吞吐率,使得可非常快速地从存储装置读取数据及向存储装置写入数据。
当使用“通道分条”跨越特定通道513、523、533、543将逻辑顺序数据分条时,主机可规定特定段的目的地存储器地址,其中所述所规定地址可包括待向其写入所述段的特定通道。接着,在将所述段写入到所述所规定通道时,可操作地连接到待向其写入所述段的所述所规定通道的特定快闪存储器芯片可由主机551基于芯片的当前运行时间状态(例如,基于不同芯片的芯片空间可用性)来动态地挑选。通道分条可比芯片分条更不受芯片故障的影响,因为如果在使用通道分条时单个芯片出故障,那么存储装置可继续操作。另外,通道分条在写入性能(与读取性能相对)方面提供优于芯片分条的优势,因为可操作地连接到所规定通道的所有芯片的最佳芯片被动态地选择用于写入日期。由于通道分条的写入性能优势,在使用通道分条时可高效地执行涉及数个写入操作的无用单元收集。
因此,可将数据到特定芯片的分条置于主机551的控制下。此可提供当向存储装置501写入数据及从存储装置501读取数据时的较大程度的并行性。举例来说,在包括40个通道及每通道16个快闪存储器芯片的存储装置的实施方案中,可跨越所有640个快闪存储器芯片将文件分条,此意指当在需要第二次存取芯片之前以循环方式存取芯片时可执行640个写入或读取操作。此高程度的并行性结果可产生主机551与存储装置501之间的高数据吞吐率,使得可非常快速地从存储装置读取数据及向存储装置写入数据。
类似于上文结合图3所论述的实施例,快闪存储器芯片514、515、516、517、524、525、526、527、534、535、536、537、544、545、546及547可连接到可包括FPGA控制器510的控制器。FPGA控制器510可经配置以按上文关于图1的控制器110、图2的FPGA 210或图3的FPGA 310所描述的方式操作。FPGA控制器510可包括多个通道控制器512、522、532、542,其经由相应物理通道513、523、533、543可操作地连接到快闪存储器芯片的相应群组:514、515、516及517;524、525、526及527;534、535、536及537;及544、545、546及547。当然,如上文所描述,存储装置可包括远多于16个快闪存储器芯片、远多于四个通道控制器,且远多于四个快闪存储器芯片可为跨越物理通道可操作地连接到通道控制器。因此,图5中所示的实施方案仅为示意性的,以用于说明的清晰性目的。
如上文所描述,数据存储装置501可经由接口508连接到主机551,接口508可为高速接口,例如(举例来说)PCIe接口。主机可包括(举例来说)处理器552、第一存储器554及第二存储器560。第二存储器560可包括(举例来说)将可执行指令加载到其中以由处理器552快速执行的易失性存储器(例如,随机存取存储器)。第一存储器454可包括(举例来说)适于存储可由处理器552执行的机器可读、可执行代码指令的非易失性存储器装置(例如,硬磁盘)。第一存储器554上所存储的代码指令可加载到第二存储器(例如,易失性存储器,例如随机存取存储器)560,在此处其可由处理器552执行以使用“芯片分条”、“通道分条”或两者的组合将数据分条。第二存储器可包括专用于用户模式应用程序的“用户空间”562的逻辑块及专用于运行用户级应用程序必须控制以执行其功能的较低级资源的“核心空间”564的逻辑块。在第二存储器560的核心空间564内可驻存有用于设置分条方案的初始化引擎566、用于将逻辑顺序数据分段成段的分段引擎568、用于跨越存储装置501的相异物理元件(例如,通道或芯片)将数据分条的分条引擎570及用于给数据段指派地址的地址指派引擎572。
初始化引擎566可经配置以确定借以将数据写入到连接到单独通道的快闪存储器芯片的第一组块通道大小。在一个实施方案中,初始化引擎可基于关于写入到存储装置501中的快闪存储器芯片的数据的页大小的信息且基于关于连接到存储装置501中的通道的快闪存储器芯片的数目的信息来确定第一通道组块大小。举例来说,如果存储装置包括40个通道且16个快闪存储器芯片连接到每一通道且页大小为4K,那么初始化引擎可将适当的通道组块大小确定为4K的某一倍数(例如,8K、32K、40K或80K)。初始化引擎566可从存储媒体(例如,EEPROM)520接收关于存储装置501的物理配置的此信息,存储媒体520存储关于(举例来说)装置501中的物理通道513、523、533、543的数目、所述装置中的快闪存储器芯片514、515、516、517、524、525、526、527、534、535、536、537、544、545、546及547的数目、所述存储装置中的快闪存储器芯片的类型(例如,单电平单元(“SLC”)快闪或多电平单元(“MLC”)快闪)及写入到所述芯片的数据的页大小的信息。主机550可将命令传输到存储装置501以请求传送关于存储装置的物理参数(例如,通道的数目、芯片的数目、芯片的类型及页大小)的此信息,且响应于所述命令,存储装置501可将所述信息传输回到主机550。
当使用通道分条技术将逻辑顺序数据写入到存储装置501时,可按通道组块大小单位将所述逻辑顺序数据分段。举例来说,分段引擎568可将逻辑顺序数据(例如,数据文件)划分成多个段,其大小可(举例来说)等于由初始化引擎566确定的通道组块大小。在一个实施方案中,分段引擎568可接收逻辑顺序数据且可输出根据所规定通道组块大小来确定大小的段。分条引擎570接着可控制逻辑顺序数据按第一通道组块大小单位到数据存储装置501的不同通道的分条。举例来说,地址指派引擎572可给所述数据段指派存储器地址,其中所述所指派存储器地址规定将段写入到存储装置501的物理通道中的特定一者。
分条引擎570可用地址(其可由地址指派引擎572指派)给每一段加标签,此将致使特定段写入到由所述地址指示的特定通道513、523、533、543。举例来说,可将数据的第一通道组块写入到通道513,可将数据的第二通道组块写入到通道523,可将数据的第三通道组块写入到通道533,且可将数据的第四通道组块写入到通道543。当寻址到特定通道(例如,通道513)的通道组块大小单位的数据到达与所述特定通道相关联的通道控制器(例如,通道控制器512)时,则如果使用通道分条且所述通道组块大小单位的数据不寻址到连接到所述通道的特定快闪存储器芯片,那么所述通道控制器可将所述通道组块大小单位的部分写入到不同快闪存储器芯片。可基于连接到所述通道的每一芯片的当前运行时间状态(例如,基于连接到所述通道的芯片的芯片空间可用性)来动态地确定(例如,由主机550或由控制器)针对每一部分选择的个别快闪存储器芯片。举例来说,如果当通道组块大小单位的数据到达控制器512时仍正在执行到快闪存储器芯片514的写入操作,那么可将所述通道组块大小单位的数据的所述部分写入到快闪存储器芯片515、516及517直到到芯片514的写入操作完成为止。
因此,通过在将逻辑顺序数据从主机写入到存储装置时使用通道分条,可在也正在从另一通道读取数据的同时将数据写入到一个通道。另外,通过使用通道分条且动态地确定在特定通道内向其写入逻辑顺序数据的段的个别快闪存储器芯片,可增强系统500的写入性能,因为数据将被优先写入到大多数准备好接受所述数据的芯片,因此将保持主机等待芯片变为可存取的时间保持为最小值。此外,由于快闪存储器中的无用单元收集为写入密集型过程,因此通道分条可改善无用单元收集的性能。
主机550控制数据分条的初始化及执行的优势在于,主机可控制并改变用以执行数据分条的参数,使得主机可设置并控制与存储装置501的交互。举例来说,主机550可最初将其自身配置成使用第一通道组块大小来跨越数据存储装置501的不同通道将数据分条,但当用户的期望改变、设备500用于不同应用程序、不同快闪存储器芯片用于存储装置中等时,可引起使用不同通道组块大小来跨越所述通道将数据分条的需要。在此情况下,初始化引擎可进一步经配置以确定借以将数据写入到连接到单独通道的快闪存储器芯片的不同于第一通道组块大小的第二通道组块大小。分段引擎可进一步经配置以将逻辑顺序数据分段成第二通道组块大小段,且分条引擎可进一步经配置以按第二通道组块大小单位将数据分条到数据存储装置的不同通道。
除确定借以跨越不同通道按段将逻辑顺序数据分条的通道组块大小外,初始化引擎还可确定借以跨越芯片将逻辑顺序数据分条的芯片组块大小,其中所述芯片组块大小确定待在开始向不同芯片写入数据之前向特定芯片写入的数据量。接着,当使用“芯片分条”跨越特定芯片(例如,连接到特定通道513的芯片514、515、516及517)将逻辑顺序数据分条时,主机可规定特定段的目的地存储器地址,其中所述所规定地址可包括待向其写入所述段的特定芯片。在芯片分条的情况下,可按芯片组块大小单位跨越存储装置501的不同芯片将逻辑顺序数据分条。也就是说,在已将芯片组块大小数据段写入到一个快闪存储器芯片之后,可将下一芯片组块大小单位写入到不同芯片。因此,芯片分条提供从存储装置501的读取操作及向存储装置501的写入操作中的最大并行性。举例来说,在具有40个通道及每通道16个芯片的存储装置501中,可在重新访问芯片之前将数据文件的段写入到640个不同芯片。因此,芯片分条在读取性能方面提供优于通道分条的优势,因为可通过芯片分条实现高程度的并行性。
因此,在芯片分条的情况下,初始化引擎566可经配置以确定借以将数据写入到存储装置501的快闪存储器芯片的第一芯片组块大小。举例来说,基于从存储装置501接收的关于存储装置501中的快闪存储器芯片的数目及用以将数据写入到快闪存储器芯片的页大小的信息,初始化引擎566可将适当的通道组块大小确定为页大小的某一倍数((例如,8K、32K、40K、80K、160K、320K等)。
接着,当使用芯片分条技术将逻辑顺序数据写入到存储装置501时,可按芯片组块大小单位将所述逻辑顺序数据分段以写入到芯片。举例来说,分段引擎568可将逻辑顺序数据(例如,数据文件)划分成多个段,其大小可(举例来说)等于由初始化引擎566确定的芯片组块大小。在一个实施方案中,分段引擎568可接收逻辑顺序数据且可输出根据所规定芯片组块大小来确定大小的段。分条引擎570接着可控制逻辑顺序数据按芯片组块大小单位到数据存储装置501的不同芯片的分条。举例来说,地址指派引擎572可给所述数据段指派存储器地址,其中所述所指派存储器地址规定将段写入到存储装置501的芯片中的特定一者。
在另一实施方案中,分段引擎568可接收逻辑顺序数据且可输出根据所规定通道组块大小来确定大小且进一步细分成芯片组块大小单位的段。分条引擎570接着可控制逻辑顺序数据按通道组块大小单位到数据存储装置501的不同通道的分条且可控制数据按芯片组块大小单位到连接到所述通道的芯片的分条。举例来说,地址指派引擎572可给所述数据段指派存储器地址,其中所述所指派存储器地址规定将段写入到存储装置501的通道中的特定一者及芯片中的特定一者。
分条引擎570可用地址(其可由地址指派引擎572指派)给每一段加标签,此将致使特定段写入到由所述地址指示的特定通道513、523、533、543及特定快闪存储器芯片514、515、516、517、524、525、526、527、534、535、536、537、544、545、546及547。举例来说,可将数据的第一通道组块写入到通道513,可将数据的第二通道组块写入到通道523,可将数据的第三通道组块写入到通道533,且可将数据的第四通道组块写入到通道543,而可将所述第一通道组块的数据的第一芯片组块写入到芯片514,可将所述第一通道组块的数据的第二芯片组块写入到芯片515,可将所述第一通道组块的数据的第三芯片组块写入到芯片516,且可将所述第一通道组块的数据的第四芯片组块写入到芯片517,且可将所述第二通道组块的数据的第一芯片组块写入到芯片524,可将所述第二通道组块的数据的第二芯片组块写入到芯片525,可将所述第二通道组块的数据的第三芯片组块写入到芯片526,且可将所述第二通道组块的数据的第四芯片组块写入到芯片527等。
因此,通过在将逻辑顺序数据从主机写入到存储装置时使用芯片分条,可在也正在从另一芯片读取数据的同时将数据写入到一个芯片。接着,当从存储装置501的多个芯片回读所述逻辑顺序数据时,可从不同快闪存储器芯片并行执行读取操作。
可组合使用分区与分条。举例来说,可将存储装置中的快闪存储器芯片的第一分区104a界定为使用通道分条,且将所述装置的第二分区104b界定为使用芯片分条。因此,由于使用通道分条技术来在主机与第一分区104a之间写入及读取数据,因此所述第一分区可提供相对更好的写入性能、冗余及故障容限,而由于使用芯片分条技术来在主机与第二分区之间写入及读取数据,因此所述第二分区可提供相对更好的读取性能。
图6是图解说明图5的数据存储装置的实例性操作的示范性流程图。其展示将数据从主机分条到数据存储装置的过程600。所述装置包括多个快闪存储器芯片,且所述数据存储装置包括用于在所述主机与所述多个快闪存储器芯片之间传递数据的多个物理通道。每一通道可操作地连接到不同多个所述存储器芯片。可(举例来说)由初始化引擎566确定所述多个通道中的物理通道的数目602。可(举例来说)由初始化引擎566确定借以将数据写入到连接到单独通道的快闪存储器芯片的第一通道组块大小604。可由主机(举例来说,由在主机550上运行的分段引擎568)将逻辑顺序数据分段成第一通道组块大小段606。可(举例来说)由与地址指派引擎572协作的分条引擎570按第一通道组块大小单位将数据分条到数据存储装置的不同通道608。
在一个实施方案中,过程600可进一步包括:确定借以将数据写入到不同快闪存储器芯片的芯片组块大小610;及针对所述所确定物理通道中的每一者,确定可操作地连接到所述通道的快闪存储器芯片的数目612。可由主机将通道组块大小段分段成芯片组块大小段614,且可按芯片组块大小单位将通道组块大小的单位中的数据分条到连接到通道的不同快闪存储器芯片616。
在另一实施方案中,可确定借以将数据写入到连接到单独通道的快闪存储器芯片的第二通道组块大小618。可将逻辑顺序数据分段成第二通道组块大小段620,且可按第二通道组块大小单位将数据分条到数据存储装置的不同通道622。
本文中所描述的各种技术的实施方案可以数字电子电路或者以计算机硬件、固件、软件或其组合来实施。实施方案可实施为计算机程序产品,即,有形地体现于信息载体中(例如,体现于机器可读存储装置中)的计算机程序,以由数据处理设备(例如,可编程处理器、一计算机或多个计算机)执行或控制所述数据处理设备的操作。可以任何形式的编程语言(包含编译语言或解译语言)来写入计算机程序(例如,上文所描述的计算机程序),且可以任何形式来部署所述计算机程序,包含部署为独立程序或部署为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序可经部署以在一个计算机上或在位于一个位点处或跨越多个位点分布且由通信网络互连的多个计算机上执行。
方法步骤可由执行计算机程序的一个或一个以上可编程处理器执行,以通过处理输入数据并产生输出来执行功能。方法过程还可由专用逻辑电路(例如,FPGA或ASIC(专用集成电路))执行,且设备可实施为专用逻辑电路。
举例来说,适合执行计算机程序的处理器包括通用及专用微处理器两者,以及任何种类的数字计算机的任何一个或一个以上处理器。一般来说,处理器将从只读存储器或随机存取存储器或两者接收指令及数据。计算机的元件可包括用于执行指令的至少一个处理器及用于存储指令及数据的一个或一个以上存储器装置。一般来说,计算机还可包括用于存储数据的一个或一个以上大容量存储装置(例如,磁盘、磁光盘或光盘)或经操作地耦合以从所述一个或一个以上大容量存储装置接收数据或向其传送数据或既接收数据又传送数据。适合包含计算机程序指令及数据的信息载体包括所有形式的非易失性存储器,其中包括(举例来说):半导体存储器装置,例如EPROM、EEPROM及快闪存储器装置;磁盘,例如内部硬磁盘或可抽换式磁盘;磁光盘;及CD-ROM及DVD-ROM光盘。所述处理器及存储器可由专用逻辑电路补充或并入于专用逻辑电路中。
为提供与用户的交互,实施方案可实施于计算机上,所述计算机具有用于向所述用户显示信息的显示装置(例如,阴极射线管(CRT)或液晶显示器(LCD)监视器)及所述用户可通过其来向计算机提供输入的键盘及指向装置(例如,鼠标或轨迹球)。也可使用其它种类的装置来提供与用户的交互;举例来说,提供给所述用户的反馈可为任何形式的感观反馈,例如,视觉反馈、听觉反馈或触觉反馈;且来自所述用户的输入可以任何形式来接收,其中包括声音、语音或触觉输入。
实施方案可实施于计算系统(包括后端组件,例如,作为数据服务器;或包括中间件组件,例如,应用程序服务器;或包括前端组件,例如,具有用户可经由其来与实施方案交互的图形用户接口或Web浏览器的客户端计算机)或此类后端、中间件或前端组件的任一组合中。组件可由任何数字数据通信形式或媒体(例如,通信网络)互连。通信网络的实例包括局域网(LAN)及广域网(WAN),例如因特网。
虽然本文已图解说明及描述了所描述实施方案的某些特征,然而所属领域的技术人员现在将能想出许多修改、替代、改变及等效形式。因此,应理解,所附权利要求书打算涵盖归属于本发明的范围内的所有此类修改及改变。
Claims (22)
1.一种在包括多个存储器芯片(118、218、318)的快闪存储器数据存储装置(100、302、501)中存储数据的方法,所述方法包含:
确定(402)所述数据存储装置(100、302、501)中的存储器芯片(118、218、318)的数目;
经由耦合到所述数据存储装置(100、302、501)的主机(106、350、551),界定(404)所述数据存储装置(100、302、501)的第一分区(321),其中所述第一分区(321)包括所述多个存储器芯片(118、218、318)的第一子集;
经由耦合到所述数据存储装置(100、302、501)的主机(106、350、551),界定(406)所述数据存储装置(100、302、501)的第二分区(322),其中所述第二分区(322)包括所述多个存储器芯片(118、218、318)的第二子集;
在从所述第二分区(322)读取数据的同时将第一数据写入(407)到所述第一分区(321);及
在从所述第一分区(321)读取数据的同时将所述第一数据写入(409)到所述第二分区(322)。
2.根据权利要求1所述的方法,其进一步包含:
在从所述第二分区(322)读取数据的同时将第二数据写入到所述第一分区(321);
在从所述第一分区(321)读取数据的同时将所述第二数据写入到所述第二分区(322);及
对于N=第3到至少第10:
在从所述第二分区(322)读取数据的同时将N数据写入(407)到所述第一分区(321);及
在从所述第一分区(321)读取数据的同时将所述N数据写(409)到所述第二分区(322)。
3.根据前述权利要求中任一权利要求所述的方法,其中确定所述数据存储装置(100、302、501)中的存储器芯片(118、218、318)的数目包括将指示所述数据存储装置(100、302、501)中的存储器芯片(118、218、318)的所述数目的信息从所述数据存储装置(100、302、501)传输到所述主机(106、350、551)。
4.根据权利要求3所述的方法,其中所述所传输信息包括关于所述数据存储装置(100、302、501)的物理架构的信息,其中包括关于所述数据存储装置(100、302、501)的特定存储器芯片(118、218、318)与特定通道(112)之间的连接的信息。
5.根据前述权利要求中任一权利要求所述的方法,其进一步包含在所述主机(106、350、551)中界定(412)所述数据存储装置(100、302、501)中的将从所述主机(106、350、551)向其写入数据的地址位置,其中所述地址位置规定将所述数据写入到所述多个存储器芯片(118、218、318)中的特定一者。
6.根据前述权利要求中任一权利要求所述的方法,其中所述数据存储装置(100、302、501)包括用于在所述主机(106、350、551)与所述多个存储器芯片(118、218、318)之间传递数据的多个物理通道(112),每一通道可操作地连接到不同多个所述存储器芯片(118、218、318),所述方法进一步包含:
确定(414)所述物理通道(112)的数目;
确定(416)所述数目个通道(112)的第一子集,其中通道(112)的所述第一子集中的通道(112)仅可操作地连接到存储器芯片(118、218、318)的所述第一子集中的存储器芯片(118、218、318);及
确定(418)所述数目个通道(112)的第二子集,其中通道(112)的所述第二子集中的通道(112)仅可操作地连接到存储器芯片(118、218、318)的所述第二子集中的存储器芯片(118、218、318)。
7.根据前述权利要求中任一权利要求所述的方法,其中所述数据存储装置(100、302、501)包括用于在所述主机(106、350、551)与所述多个存储器芯片(118、218、318)之间传递数据的多个物理通道(112),所述方法进一步包含:
确定(414)所述物理通道(112)的数目;
其中所述所确定通道(112)可操作地连接到存储器芯片(118、218、318)的所述第一子集中的存储器芯片(118、218、318)且可操作地连接到存储器芯片(118、218、318)的所述第二子集中的存储器芯片(118、218、318)。
8.根据权利要求6或7所述的方法,其进一步包含:
在所述主机(106、350、551)中界定(420)所述数据存储装置(100、302、501)中的将从所述主机(106、350、551)向其写入数据的地址位置,其中所述地址位置规定经由特定通道将所述数据写入到所述多个存储器芯片(118、218、318)中的特定一者。
9.根据前述权利要求中任一权利要求所述的方法,其中所述第一子集不包括所述第二子集中的任何存储器芯片(118、218、318),且其中所述第二子集不包括所述第一子集中的任何存储器芯片(118、218、318)。
10.根据前述权利要求中任一权利要求所述的方法,其进一步包含:
接收所述第一分区(321)的存储器芯片已出故障或可能要出故障的指示;
经由耦合到所述数据存储装置(100、302、501)的所述主机(106、350、551)将所述数据存储装置(100、302、501)的所述第一分区(321)重新界定(422)为包括所述多个存储器芯片(118、218、318)的第三子集,
其中所述第三子集不同于所述第一子集,且
其中所述第三子集不包括所述第二子集中的任何存储器芯片(118、218、318)且其中所述第二子集不包括所述第三子集中的任何存储器芯片(118、218、318)。
11.根据权利要求10所述的方法,
其中重新界定所述第一分区(321)包括将所述第三子集界定为所述第一子集的除已出故障或接近出故障的所述存储器芯片以外的存储器芯片(118、218、318)。
12.一种设备,其包含:
快闪存储器数据存储装置(100、302、501),其包括多个存储器芯片(118、218、318);
主机(106、350、551),其经由接口可操作地耦合到所述数据存储装置(100、302、501),所述主机(106、350、551)包含:
配置检测引擎(358),其经配置以检测所述数据存储装置(100、302、501)中的存储器芯片(118、218、318)的数目;
分区引擎(360),其经配置以界定:所述数据存储装置(100、302、501)的第一分区(321),其中所述第一分区(321)包括所述多个存储器芯片(118、218、318)的第一子集;及所述数据存储装置(100、302、501)的第二分区(322),其中所述第二分区(322)包括所述多个存储器芯片(118、218、318)的第二子集;
驱动器(362),其经配置以:
在从所述第二分区(322)读取数据的同时将第一数据写入到所述第一分区(321);及
在从所述第一分区(321)读取数据的同时将所述第一数据写入到所述第二分区(322)。
13.根据权利要求12所述的设备,其中所述驱动器(362)进一步经配置以:
将第二数据写入到所述第一分区(321);
在正将所述第二数据写入到所述第一分区(321)的同时从所述第二分区(322)读取数据;
在从所述第一分区(321)读取数据的同时将所述第二数据写入到所述第二分区(322);及
对于N=第3到至少第10:
将N数据写入到所述第一分区(321);
在正将所述N数据写入到所述第一分区(321)的同时从所述第二分区(322)读取数据;及
在从所述第一分区(321)读取数据的同时将所述N数据写入到所述第二分区(322)。
14.根据权利要求12到13中任一权利要求所述的设备,其中所述数据存储装置(100、302、501)经配置以在从所述主机(106、350、551)接收到命令后即刻将指示所述数据存储装置(100、302、501)中的存储器芯片(118、218、318)的所述数目的信息从所述数据存储装置(100、302、501)传输到所述主机(106、350、551)。
15.根据权利要求14所述的设备,其中所述所传输信息包括关于所述数据存储装置(100、302、501)的物理架构的信息,其中包括关于所述数据存储装置(100、302、501)的特定存储器芯片(118、218、318)与特定通道(112)之间的连接的信息。
16.根据权利要求12到15中任一权利要求所述的设备,其中所述主机(106、350、551)进一步包含经配置以给待写入到所述数据存储装置(100、302、501)的数据指派存储器地址的地址指派引擎(366、572),其中所述所指派存储器地址规定将所述数据写入到所述多个存储器芯片(118、218、318)中的特定一者。
17.根据权利要求12到16中任一权利要求所述的设备,其中所述数据存储装置(100、302、501)包括用于在所述主机(106、350、551)与所述多个存储器芯片(118、218、318)之间传递数据的多个物理通道(112),每一通道可操作地连接到不同多个所述存储器芯片(118、218、318),且
其中所述配置检测引擎进一步经配置以检测所述物理通道(112)的数目;
其中所述分区引擎进一步经配置以确定所述数目个通道(112)的第一子集,其中通道(112)的所述第一子集中的通道(112)仅可操作地连接到存储器芯片(118、218、318)的所述第一子集中的存储器芯片(118、218、318);且
其中所述分区引擎进一步经配置以确定所述数目个通道(112)的第二子集,其中通道(112)的所述第二子集中的通道(112)仅可操作地连接到存储器芯片(118、218、318)的所述第二子集中的存储器芯片(118、218、318)。
18.根据权利要求17所述的设备,其中所述主机(106、350、551)进一步包含经配置以给待写入到所述数据存储装置(100、302、501)的数据指派存储器地址的地址指派引擎(366、572),其中所述所指派存储器地址规定经由特定通道将所述数据写入到所述多个存储器芯片(118、218、318)中的特定一者。
19.根据权利要求12到18中任一权利要求所述的设备,其中所述第一分区(321)包括可操作地连接到单个通道的存储器芯片(118、218、318)。
20.根据权利要求12到19中任一权利要求所述的设备,
其中所述数据存储装置(100、302、501)包括用于在所述主机(106、350、551)与所述多个存储器芯片(118、218、318)之间传递数据的多个物理通道(112),其中所述多个物理通道(112)可操作地连接到存储器芯片(118、218、318)的所述第一子集中的存储器芯片(118、218、318)且可操作地连接到存储器芯片(118、218、318)的所述第二子集中的存储器芯片(118、218、318)。
21.根据权利要求12到20中任一权利要求所述的设备,其中所述分区引擎进一步经配置以:
接收所述第一分区(321)的存储器芯片已出故障或可能要出故障的指示;
将所述数据存储装置(100、302、501)的所述第一分区(321)重新界定为包括所述多个存储器芯片(118、218、318)的第三子集,
其中所述第三子集不同于所述第一子集,且
其中所述第三子集不包括所述第二子集中的任何存储器芯片(118、218、318)且其中所述第二子集不包括所述第三子集中的任何存储器芯片(118、218、318)。
22.根据权利要求21所述的设备,
其中将所述第一分区(321)重新界定为包括所述多个存储器芯片(118、218、318)的所述第三子集包括将所述第三子集界定为所述第一子集的除已出故障或接近出故障的所述存储器芯片以外的存储器芯片(118、218、318)。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16770909P | 2009-04-08 | 2009-04-08 | |
US61/167,709 | 2009-04-08 | ||
US18783509P | 2009-06-17 | 2009-06-17 | |
US61/187,835 | 2009-06-17 | ||
US12/537,748 | 2009-08-07 | ||
US12/537,748 US8566508B2 (en) | 2009-04-08 | 2009-08-07 | RAID configuration in a flash memory data storage device |
PCT/US2010/029919 WO2010117930A1 (en) | 2009-04-08 | 2010-04-05 | Method and apparatus for storing data in a flash memory data storage device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102428453A true CN102428453A (zh) | 2012-04-25 |
Family
ID=42935237
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800205069A Pending CN102428454A (zh) | 2009-04-08 | 2010-04-01 | 数据存储装置 |
CN201711055987.7A Pending CN107832010A (zh) | 2009-04-08 | 2010-04-01 | 数据存储装置 |
CN201080020319.0A Active CN102428451B (zh) | 2009-04-08 | 2010-04-01 | 用于数据存储装置的命令及中断分组 |
CN2010800204899A Pending CN102428452A (zh) | 2009-04-08 | 2010-04-05 | 分割快闪存储器数据存储装置 |
CN2010800205073A Pending CN102428453A (zh) | 2009-04-08 | 2010-04-05 | 用于在快闪存储器数据存储装置中存储数据的方法及设备 |
CN2010800204884A Pending CN102428455A (zh) | 2009-04-08 | 2010-04-05 | 快闪存储器数据存储装置中的数据分条 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800205069A Pending CN102428454A (zh) | 2009-04-08 | 2010-04-01 | 数据存储装置 |
CN201711055987.7A Pending CN107832010A (zh) | 2009-04-08 | 2010-04-01 | 数据存储装置 |
CN201080020319.0A Active CN102428451B (zh) | 2009-04-08 | 2010-04-01 | 用于数据存储装置的命令及中断分组 |
CN2010800204899A Pending CN102428452A (zh) | 2009-04-08 | 2010-04-05 | 分割快闪存储器数据存储装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800204884A Pending CN102428455A (zh) | 2009-04-08 | 2010-04-05 | 快闪存储器数据存储装置中的数据分条 |
Country Status (7)
Country | Link |
---|---|
US (13) | US8578084B2 (zh) |
EP (6) | EP2417531B1 (zh) |
JP (6) | JP5657641B2 (zh) |
CN (6) | CN102428454A (zh) |
AU (5) | AU2010234773B2 (zh) |
DE (6) | DE202010017661U1 (zh) |
WO (5) | WO2010117877A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104885062A (zh) * | 2012-12-10 | 2015-09-02 | 谷歌公司 | 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信 |
CN107526539A (zh) * | 2016-06-21 | 2017-12-29 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN107728953A (zh) * | 2017-11-03 | 2018-02-23 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘混合读写性能的方法 |
CN109154917A (zh) * | 2016-12-29 | 2019-01-04 | 华为技术有限公司 | 存储系统和固态硬盘 |
CN110888826A (zh) * | 2018-09-11 | 2020-03-17 | 美光科技公司 | 通过用于机器学习的处理装置对易失性存储器进行的并行存取 |
CN112394887A (zh) * | 2019-08-17 | 2021-02-23 | 森大(深圳)技术有限公司 | Onepass打印数据高效率处理方法、装置、设备及存储介质 |
CN112771493A (zh) * | 2018-09-28 | 2021-05-07 | 波利伍德股份有限公司 | 将写入流分离到多个分区中 |
Families Citing this family (318)
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 |
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 |
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 |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
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 |
US8732386B2 (en) * | 2008-03-20 | 2014-05-20 | Sandisk Enterprise IP LLC. | Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory |
US8229945B2 (en) | 2008-03-20 | 2012-07-24 | Schooner Information Technology, Inc. | Scalable database management software on a cluster of nodes using a shared-distributed flash memory |
JP2010015195A (ja) * | 2008-06-30 | 2010-01-21 | Toshiba Corp | 記憶制御装置及び記憶制御方法 |
WO2010005430A1 (en) * | 2008-07-08 | 2010-01-14 | Hewlett-Packard Development Company, L.P. | Adaptable external drive |
TWI385672B (zh) * | 2008-11-05 | 2013-02-11 | Lite On It Corp | 儲存裝置之適應性多通道控制器及其方法 |
TWI385517B (zh) * | 2008-12-05 | 2013-02-11 | Apacer Technology Inc | Storage device and data management method |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
US8595572B2 (en) | 2009-04-08 | 2013-11-26 | Google Inc. | Data storage device with metadata command |
US8578084B2 (en) | 2009-04-08 | 2013-11-05 | Google Inc. | Data storage device having multiple removable memory boards |
KR101516580B1 (ko) | 2009-04-22 | 2015-05-11 | 삼성전자주식회사 | 컨트롤러, 이를 포함하는 데이터 저장 장치 및 데이터 저장 시스템, 및 그 방법 |
EP2254280A1 (en) | 2009-05-19 | 2010-11-24 | Electrolux Home Products Corporation N.V. | Bus control for a domestic appliance |
US8972627B2 (en) | 2009-09-09 | 2015-03-03 | Fusion-Io, Inc. | Apparatus, system, and method for managing operations for data storage media |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
US9021158B2 (en) | 2009-09-09 | 2015-04-28 | SanDisk Technologies, Inc. | Program suspend/resume for memory |
JP5518197B2 (ja) | 2009-09-09 | 2014-06-11 | フュージョン−アイオー・インコーポレーテッド | ストレージを割り当てるための装置、システム、および方法 |
EP2476039B1 (en) | 2009-09-09 | 2016-10-26 | SanDisk Technologies LLC | Apparatus, system, and method for power reduction management in a storage device |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
TWI454906B (zh) * | 2009-09-24 | 2014-10-01 | Phison Electronics Corp | 資料讀取方法、快閃記憶體控制器與儲存系統 |
US8244946B2 (en) * | 2009-10-16 | 2012-08-14 | Brocade Communications Systems, Inc. | Interrupt moderation |
US8307151B1 (en) * | 2009-11-30 | 2012-11-06 | Micron Technology, Inc. | Multi-partitioning feature on e-MMC |
US8285946B2 (en) * | 2009-12-15 | 2012-10-09 | International Business Machines Corporation | Reducing access contention in flash-based memory systems |
KR101008923B1 (ko) * | 2010-01-15 | 2011-01-17 | 주식회사 노바칩스 | 다양한 종류의 반도체 메모리 장치들을 구비하는 반도체 메모리 시스템 및 이의 제어 방법 |
US8671265B2 (en) | 2010-03-05 | 2014-03-11 | Solidfire, Inc. | Distributed data storage system providing de-duplication of data using block identifiers |
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 |
US10210162B1 (en) * | 2010-03-29 | 2019-02-19 | Carbonite, Inc. | Log file management |
US8856593B2 (en) | 2010-04-12 | 2014-10-07 | Sandisk Enterprise Ip Llc | Failure recovery using consensus replication in a distributed flash memory system |
US9164554B2 (en) * | 2010-04-12 | 2015-10-20 | Sandisk Enterprise Ip Llc | Non-volatile solid-state storage system supporting high bandwidth and random access |
US8677055B2 (en) | 2010-04-12 | 2014-03-18 | Sandisk Enterprises IP LLC | Flexible way of specifying storage attributes in a flash memory-based object store |
US9047351B2 (en) | 2010-04-12 | 2015-06-02 | Sandisk Enterprise Ip Llc | Cluster of processing nodes with distributed global flash memory using commodity server technology |
US8868487B2 (en) | 2010-04-12 | 2014-10-21 | Sandisk Enterprise Ip Llc | Event processing in a flash memory-based object store |
US20110252263A1 (en) * | 2010-04-13 | 2011-10-13 | Byungcheol Cho | Semiconductor storage device |
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 |
WO2011143628A2 (en) | 2010-05-13 | 2011-11-17 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US8954385B2 (en) | 2010-06-28 | 2015-02-10 | Sandisk Enterprise Ip Llc | Efficient recovery of transactional data stores |
WO2012016089A2 (en) | 2010-07-28 | 2012-02-02 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US8677028B2 (en) * | 2010-08-23 | 2014-03-18 | Qualcomm Incorporated | Interrupt-based command processing |
US8417877B2 (en) * | 2010-08-31 | 2013-04-09 | Micron Technology, Inc | Stripe-based non-volatile multilevel memory operation |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US20120117305A1 (en) * | 2010-11-08 | 2012-05-10 | Greenliant Llc | Method Of Storing Blocks Of Data In A Plurality Of Memory Devices For High Speed Sequential Read, A Memory Controller And A Memory System |
US9003153B2 (en) | 2010-11-08 | 2015-04-07 | Greenliant Llc | Method of storing blocks of data in a plurality of memory devices in a redundant manner, a memory controller and a memory system |
JP5720204B2 (ja) * | 2010-11-26 | 2015-05-20 | 富士通株式会社 | アクセス制御プログラム、アクセス制御方法および情報処理装置 |
US9246512B2 (en) * | 2010-12-02 | 2016-01-26 | Freescale Semiconductor, Inc. | Error correcting device, method for monitoring an error correcting device and data processing system |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
WO2012082792A2 (en) | 2010-12-13 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for auto-commit memory |
US8601313B1 (en) | 2010-12-13 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for a data reliability scheme in a solid state memory |
US8615681B2 (en) | 2010-12-14 | 2013-12-24 | Western Digital Technologies, Inc. | System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss |
US8601311B2 (en) | 2010-12-14 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory |
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 |
US8473708B1 (en) * | 2010-12-23 | 2013-06-25 | Netapp, Inc. | Method and system for managing storage units |
US8694733B2 (en) | 2011-01-03 | 2014-04-08 | Sandisk Enterprise Ip Llc | Slave consistency in a synchronous replication environment |
US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | 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 |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US8700951B1 (en) * | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US8601085B1 (en) * | 2011-03-28 | 2013-12-03 | Emc Corporation | Techniques for preferred path determination |
US8924627B2 (en) * | 2011-03-28 | 2014-12-30 | Western Digital Technologies, Inc. | Flash memory device comprising host interface for processing a multi-command descriptor block in order to exploit concurrency |
US8874515B2 (en) | 2011-04-11 | 2014-10-28 | Sandisk Enterprise Ip Llc | Low level object version tracking using non-volatile memory write generations |
US8694857B2 (en) * | 2011-04-13 | 2014-04-08 | Inphi Corporation | Systems and methods for error detection and correction in a memory module which includes a memory buffer |
US8954670B1 (en) * | 2011-04-18 | 2015-02-10 | American Megatrends, Inc. | Systems and methods for improved fault tolerance in RAID configurations |
US9817700B2 (en) * | 2011-04-26 | 2017-11-14 | International Business Machines Corporation | Dynamic data partitioning for optimal resource utilization in a parallel data processing system |
US9396106B2 (en) * | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US20120324143A1 (en) | 2011-06-15 | 2012-12-20 | Data Design Corporation | Methods and apparatus for data access by a reprogrammable circuit module |
US9417894B1 (en) | 2011-06-15 | 2016-08-16 | Ryft Systems, Inc. | Methods and apparatus for a tablet computer system incorporating a reprogrammable circuit module |
US10966339B1 (en) | 2011-06-28 | 2021-03-30 | Amazon Technologies, Inc. | Storage system with removable solid state storage devices mounted on carrier circuit boards |
US8806112B2 (en) | 2011-07-14 | 2014-08-12 | Lsi Corporation | Meta data handling within a flash media controller |
US20130019052A1 (en) * | 2011-07-14 | 2013-01-17 | Vinay Ashok Somanache | Effective utilization of flash interface |
US8868867B2 (en) * | 2011-09-15 | 2014-10-21 | The Regents Of The University Of California | Method for reducing latency of accessing data stored in a file system on a computer storage device by caching file system permission information in the computer storage device |
US8966172B2 (en) | 2011-11-15 | 2015-02-24 | Pavilion Data Systems, Inc. | Processor agnostic data storage in a PCIE based shared storage enviroment |
US8719647B2 (en) * | 2011-12-15 | 2014-05-06 | Micron Technology, Inc. | Read bias management to reduce read errors for phase change memory |
US8842122B2 (en) * | 2011-12-15 | 2014-09-23 | Qualcomm Incorporated | Graphics processing unit with command processor |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US8904091B1 (en) * | 2011-12-22 | 2014-12-02 | Western Digital Technologies, Inc. | High performance media transport manager architecture for data storage systems |
CN102521160B (zh) * | 2011-12-22 | 2015-04-01 | 上海交通大学 | 写缓冲检测器、并行通道写入方法 |
CN102567257B (zh) * | 2011-12-26 | 2014-08-27 | 华中科技大学 | 一种控制多通道固态盘数据读写的方法 |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
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 |
US9652182B2 (en) | 2012-01-31 | 2017-05-16 | Pavilion Data Systems, Inc. | Shareable virtual non-volatile storage device for a server |
US9378150B2 (en) * | 2012-02-28 | 2016-06-28 | Apple Inc. | Memory management unit with prefetch ability |
US9135064B2 (en) | 2012-03-07 | 2015-09-15 | Sandisk Enterprise Ip Llc | Fine grained adaptive throttling of background processes |
US9135192B2 (en) | 2012-03-30 | 2015-09-15 | Sandisk Technologies Inc. | Memory system with command queue reordering |
KR20130114354A (ko) | 2012-04-09 | 2013-10-18 | 삼성전자주식회사 | 메모리 시스템 및 컨트롤러의 동작 방법 |
US20130339583A1 (en) * | 2012-06-19 | 2013-12-19 | Marvell World Trade Ltd. | Systems and methods for transferring data out of order in next generation solid state drive controllers |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US9389999B2 (en) * | 2012-08-17 | 2016-07-12 | Infineon Technologies Ag | System and method for emulating an EEPROM in a non-volatile memory device |
US9122401B2 (en) * | 2012-08-23 | 2015-09-01 | Apple Inc. | Efficient enforcement of command execution order in solid state drives |
KR20140027859A (ko) | 2012-08-27 | 2014-03-07 | 삼성전자주식회사 | 호스트 장치 및 이를 포함하는 시스템 |
US9009566B2 (en) * | 2012-09-12 | 2015-04-14 | Macronix International Co., Ltd. | Outputting information of ECC corrected bits |
US9471484B2 (en) | 2012-09-19 | 2016-10-18 | Novachips Canada Inc. | Flash memory controller having dual mode pin-out |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US9582465B2 (en) * | 2012-11-15 | 2017-02-28 | Elwha Llc | Flexible processors and flexible memory |
US9442854B2 (en) | 2012-11-15 | 2016-09-13 | Elwha Llc | Memory circuitry including computational circuitry for performing supplemental functions |
US8925098B2 (en) | 2012-11-15 | 2014-12-30 | Elwha Llc | Data security and access tracking in memory |
US8966310B2 (en) | 2012-11-15 | 2015-02-24 | Elwha Llc | Redundancy for loss-tolerant data in non-volatile memory |
US9026719B2 (en) | 2012-11-15 | 2015-05-05 | Elwha, Llc | Intelligent monitoring for computation in memory |
US8996951B2 (en) | 2012-11-15 | 2015-03-31 | Elwha, Llc | Error correction with non-volatile memory on an integrated circuit |
US9323499B2 (en) | 2012-11-15 | 2016-04-26 | Elwha Llc | Random number generator functions in memory |
CN103853629A (zh) * | 2012-11-29 | 2014-06-11 | 艺伦半导体技术股份有限公司 | 数据流存储方法及现场可编程门阵列 |
US9448883B1 (en) * | 2012-12-04 | 2016-09-20 | Cadence Design Systems, Inc. | System and method for allocating data in memory array having regions of varying storage reliability |
US9069658B2 (en) | 2012-12-10 | 2015-06-30 | Google Inc. | Using a virtual to physical map for direct user space communication with a data storage device |
US9236136B2 (en) | 2012-12-14 | 2016-01-12 | Intel Corporation | Lower page read for multi-level cell memory |
US9286002B1 (en) * | 2012-12-28 | 2016-03-15 | Virident Systems Inc. | Dynamic restriping in nonvolatile memory systems |
US9842660B1 (en) | 2012-12-28 | 2017-12-12 | Virident Systems, Llc | System and method to improve enterprise reliability through tracking I/O performance metrics in non-volatile random access memory |
US9980114B2 (en) | 2013-03-15 | 2018-05-22 | Elwha Llc | Systems and methods for communication management |
US9635605B2 (en) | 2013-03-15 | 2017-04-25 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9451394B2 (en) | 2012-12-31 | 2016-09-20 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9781664B2 (en) | 2012-12-31 | 2017-10-03 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9876762B2 (en) | 2012-12-31 | 2018-01-23 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9832628B2 (en) | 2012-12-31 | 2017-11-28 | Elwha, Llc | Cost-effective mobile connectivity protocols |
US9713013B2 (en) | 2013-03-15 | 2017-07-18 | Elwha Llc | Protocols for providing wireless communications connectivity maps |
US8965288B2 (en) | 2012-12-31 | 2015-02-24 | Elwha Llc | Cost-effective mobile connectivity protocols |
CN103942219A (zh) * | 2013-01-22 | 2014-07-23 | 鸿富锦精密工业(深圳)有限公司 | 存储卡分区系统及方法 |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US10642505B1 (en) | 2013-01-28 | 2020-05-05 | Radian Memory Systems, Inc. | Techniques for data migration based on per-data metrics and memory degradation |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9110592B2 (en) * | 2013-02-04 | 2015-08-18 | Microsoft Technology Licensing, Llc | Dynamic allocation of heterogenous memory in a computing system |
WO2014128967A1 (ja) * | 2013-02-25 | 2014-08-28 | 株式会社日立製作所 | 記憶制御装置、及びデータの書き込み完了を検知する方法 |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9807582B2 (en) | 2013-03-15 | 2017-10-31 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9781554B2 (en) | 2013-03-15 | 2017-10-03 | Elwha Llc | Protocols for facilitating third party authorization for a rooted communication device in wireless communications |
US9596584B2 (en) | 2013-03-15 | 2017-03-14 | Elwha Llc | Protocols for facilitating broader access in wireless communications by conditionally authorizing a charge to an account of a third party |
US10073626B2 (en) | 2013-03-15 | 2018-09-11 | Virident Systems, Llc | Managing the write performance of an asymmetric memory system |
US9866706B2 (en) | 2013-03-15 | 2018-01-09 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9706060B2 (en) | 2013-03-15 | 2017-07-11 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9706382B2 (en) | 2013-03-15 | 2017-07-11 | Elwha Llc | Protocols for allocating communication services cost in wireless communications |
US9813887B2 (en) | 2013-03-15 | 2017-11-07 | Elwha Llc | Protocols for facilitating broader access in wireless communications responsive to charge authorization statuses |
US9843917B2 (en) | 2013-03-15 | 2017-12-12 | Elwha, Llc | Protocols for facilitating charge-authorized connectivity in wireless communications |
US9135164B2 (en) | 2013-03-15 | 2015-09-15 | Virident Systems Inc. | Synchronous mirroring in non-volatile memory systems |
US9693214B2 (en) | 2013-03-15 | 2017-06-27 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US8996796B1 (en) | 2013-03-15 | 2015-03-31 | Virident Systems Inc. | Small block write operations in non-volatile memory systems |
CN103226976A (zh) * | 2013-03-19 | 2013-07-31 | 中国科学院声学研究所 | 一种基于FPGA实现多片Nandflash存储及读取的装置 |
CN104102599A (zh) * | 2013-04-11 | 2014-10-15 | 华邦电子股份有限公司 | 快闪存储器装置与数据传输方法 |
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 |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US20150058529A1 (en) * | 2013-08-21 | 2015-02-26 | Sandisk Technologies Inc. | Systems and methods of processing access requests at a data storage device |
TWI486775B (zh) * | 2013-09-18 | 2015-06-01 | Dexin Corp | 輸入裝置及其資料傳輸方法 |
US9513869B2 (en) | 2013-09-18 | 2016-12-06 | HGST Netherlands B.V. | Doorbell-less endpoint-initiated protocol for storage devices |
US9535870B2 (en) | 2013-09-18 | 2017-01-03 | HGST Netherlands B.V. | Acknowledgement-less protocol for solid state drive interface |
US9778859B2 (en) | 2013-09-18 | 2017-10-03 | Western Digital Technologies, Inc. | Doorless protocol having multiple queue read requests in flight |
WO2015047266A1 (en) * | 2013-09-26 | 2015-04-02 | Intel Corporation | Block storage apertures to persistent memory |
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 |
CN103559156B (zh) * | 2013-11-11 | 2016-04-06 | 北京大学 | 一种fpga与计算机之间的通信系统 |
US9529710B1 (en) * | 2013-12-06 | 2016-12-27 | Western Digital Technologies, Inc. | Interleaved channels in a solid-state drive |
CN103744744B (zh) * | 2014-02-08 | 2017-08-25 | 威盛电子股份有限公司 | 数据储存装置以及易失性存储器的数据校验方法 |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US9666244B2 (en) | 2014-03-01 | 2017-05-30 | Fusion-Io, Inc. | Dividing a storage procedure |
US9423979B2 (en) | 2014-03-10 | 2016-08-23 | Kabushiki Kaisha Toshiba | Memory system and memory controller for determining whether one or plurality of pointers can be stored in a second buffer and for executing data transfer between data buffer and host using the pointers |
US9337869B2 (en) * | 2014-04-30 | 2016-05-10 | Storart Technology Co. Ltd. | Encoding and syndrome computing co-design circuit for BCH code and method for deciding the same |
JP6227767B2 (ja) * | 2014-05-12 | 2017-11-08 | 株式会社日立製作所 | 情報処理装置、その処理方法、及び入出力装置 |
KR102211709B1 (ko) | 2014-05-19 | 2021-02-02 | 삼성전자주식회사 | 신호 송수신 특성을 향상한 불휘발성 메모리 시스템, 호스트 장치, 불휘발성 메모리 시스템 및 호스트의 동작방법 |
US9460019B2 (en) | 2014-06-26 | 2016-10-04 | Intel Corporation | Sending packets using optimized PIO write sequences without SFENCEs |
US9477631B2 (en) | 2014-06-26 | 2016-10-25 | Intel Corporation | Optimized credit return mechanism for packet sends |
JP2016014972A (ja) * | 2014-07-01 | 2016-01-28 | 富士通株式会社 | 通信制御装置,ストレージ装置及び通信制御プログラム |
US10146482B2 (en) | 2014-08-01 | 2018-12-04 | Toshiba Memory Corporation | Global error recovery system |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
JP2016057876A (ja) * | 2014-09-10 | 2016-04-21 | 富士通株式会社 | 情報処理装置、入出力制御プログラム、及び入出力制御方法 |
US9582201B2 (en) | 2014-09-26 | 2017-02-28 | Western Digital Technologies, Inc. | Multi-tier scheme for logical storage management |
TWI556254B (zh) * | 2014-10-14 | 2016-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料存取方法 |
US9632702B2 (en) | 2014-10-15 | 2017-04-25 | International Business Machines Corporation | Efficient initialization of a thinly provisioned storage array |
KR20160051367A (ko) * | 2014-11-03 | 2016-05-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US9565269B2 (en) | 2014-11-04 | 2017-02-07 | Pavilion Data Systems, Inc. | Non-volatile memory express over ethernet |
US9712619B2 (en) | 2014-11-04 | 2017-07-18 | Pavilion Data Systems, Inc. | Virtual non-volatile memory express drive |
KR101620260B1 (ko) * | 2015-01-12 | 2016-05-12 | 엘지전자 주식회사 | 네트워크 시스템 및 그 제어방법 |
US9933950B2 (en) | 2015-01-16 | 2018-04-03 | Sandisk Technologies Llc | Storage operation interrupt |
US10175885B2 (en) | 2015-01-19 | 2019-01-08 | Toshiba Memory Corporation | Memory device managing data in accordance with command and non-transitory computer readable recording medium |
CN105808444B (zh) * | 2015-01-19 | 2019-01-01 | 东芝存储器株式会社 | 存储装置及非易失性存储器的控制方法 |
WO2016122602A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Systems and methods for sharing non-volatile memory between multiple access models |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
KR102364381B1 (ko) * | 2015-03-06 | 2022-02-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
KR102309798B1 (ko) * | 2015-04-16 | 2021-10-06 | 삼성전자주식회사 | Sr-iov 기반 비휘발성 메모리 컨트롤러 및 그 비휘발성 메모리 컨트롤러에 의해 큐에 리소스를 동적 할당하는 방법 |
CN104811235B (zh) * | 2015-05-13 | 2018-07-06 | 朱洋 | 双架构的直升机远程通信域互动装置 |
JP6205386B2 (ja) * | 2015-05-18 | 2017-09-27 | 長瀬産業株式会社 | 半導体装置及び情報書込/読出方法 |
US10169258B2 (en) | 2015-06-09 | 2019-01-01 | Rambus Inc. | Memory system design using buffer(s) on a mother board |
US9547441B1 (en) * | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
CN108292279A (zh) * | 2015-08-24 | 2018-07-17 | Src实验室有限责任公司 | 用包含与存储器模块或子系统并置的数据维护块的dram存储控制器重新编程可重配置设备时,保留dram数据的系统和方法 |
US9578054B1 (en) | 2015-08-31 | 2017-02-21 | Newman H-R Computer Design, LLC | Hacking-resistant computer design |
US10073652B2 (en) * | 2015-09-24 | 2018-09-11 | International Business Machines Corporation | Performance optimized storage vaults in a dispersed storage network |
US9697320B2 (en) * | 2015-09-24 | 2017-07-04 | Qualcomm Incorporated | Rectilinear macros having non-uniform channel spacing |
US9977623B2 (en) | 2015-10-15 | 2018-05-22 | Sandisk Technologies Llc | Detection of a sequential command stream |
US10467155B2 (en) * | 2015-10-26 | 2019-11-05 | Micron Technology, Inc. | Command packets for the direct control of non-volatile memory channels within a solid state drive |
JP2017084063A (ja) * | 2015-10-27 | 2017-05-18 | Tdk株式会社 | メモリコントローラ、フラッシュメモリシステム及び電源電圧供給制御方法 |
US10282103B1 (en) * | 2015-11-09 | 2019-05-07 | Seagate Technology Llc | Method and apparatus to delete a command queue |
US9996262B1 (en) | 2015-11-09 | 2018-06-12 | Seagate Technology Llc | Method and apparatus to abort a command |
US10572180B1 (en) * | 2015-11-09 | 2020-02-25 | Seagate Technology Llc | Method and apparatus to perform a function level reset in a memory controller |
US9779043B2 (en) | 2015-11-16 | 2017-10-03 | International Business Machines Corporation | Techniques for handling queued interrupts in a data processing system |
US10210298B2 (en) | 2015-11-24 | 2019-02-19 | Altera Corporation | Embedded memory blocks with adjustable memory boundaries |
KR102446677B1 (ko) | 2015-11-26 | 2022-09-23 | 삼성전자주식회사 | 스토리지 컨트롤러의 동작 방법 및 상기 스토리지 컨트롤러를 포함하는 데이터 저장 장치의 동작 방법 |
US10817528B2 (en) * | 2015-12-15 | 2020-10-27 | Futurewei Technologies, Inc. | System and method for data warehouse engine |
CN108475240A (zh) * | 2016-01-13 | 2018-08-31 | 慧与发展有限责任合伙企业 | 重构的输入/输出请求 |
JP6544246B2 (ja) * | 2016-01-15 | 2019-07-17 | 富士通株式会社 | 不揮発性ストレージおよび不揮発性ストレージの処理方法 |
US9946596B2 (en) | 2016-01-29 | 2018-04-17 | Toshiba Memory Corporation | Global error recovery system |
US9817586B2 (en) * | 2016-02-23 | 2017-11-14 | Samsung Electronics Co., Ltd. | Method of application aware IO completion mode changer for key value device |
US10198315B2 (en) | 2016-02-29 | 2019-02-05 | Sandisk Technologies Llc | Non-volatile memory with corruption recovery |
US10192633B2 (en) * | 2016-03-01 | 2019-01-29 | Intel Corporation | Low cost inbuilt deterministic tester for SOC testing |
TWI610171B (zh) * | 2016-03-22 | 2018-01-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US10191358B2 (en) * | 2016-04-13 | 2019-01-29 | Angela Jorgensen | Moving head projector system |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
US20180046409A1 (en) * | 2016-08-10 | 2018-02-15 | International Business Machines Corporation | Mass storage devices packages and software-defined arrays of such packages |
US10445018B2 (en) | 2016-09-09 | 2019-10-15 | Toshiba Memory Corporation | Switch and memory device |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
US11314753B2 (en) | 2016-09-26 | 2022-04-26 | Splunk Inc. | Execution of a query received from a data intake and query system |
US11243963B2 (en) | 2016-09-26 | 2022-02-08 | Splunk Inc. | Distributing partial results to worker nodes from an external data system |
US10956415B2 (en) | 2016-09-26 | 2021-03-23 | Splunk Inc. | Generating a subquery for an external data system using a configuration file |
US11604795B2 (en) | 2016-09-26 | 2023-03-14 | Splunk Inc. | Distributing partial results from an external data system between worker nodes |
US11106734B1 (en) | 2016-09-26 | 2021-08-31 | Splunk Inc. | Query execution using containerized state-free search nodes in a containerized scalable environment |
US11321321B2 (en) | 2016-09-26 | 2022-05-03 | Splunk Inc. | Record expansion and reduction based on a processing task in a data intake and query system |
US11580107B2 (en) | 2016-09-26 | 2023-02-14 | Splunk Inc. | Bucket data distribution for exporting data to worker nodes |
US11550847B1 (en) | 2016-09-26 | 2023-01-10 | Splunk Inc. | Hashing bucket identifiers to identify search nodes for efficient query execution |
US11860940B1 (en) | 2016-09-26 | 2024-01-02 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets |
US11663227B2 (en) | 2016-09-26 | 2023-05-30 | Splunk Inc. | Generating a subquery for a distinct data intake and query system |
US11615104B2 (en) | 2016-09-26 | 2023-03-28 | Splunk Inc. | Subquery generation based on a data ingest estimate of an external data system |
US11126632B2 (en) | 2016-09-26 | 2021-09-21 | Splunk Inc. | Subquery generation based on search configuration data from an external data system |
US11461334B2 (en) | 2016-09-26 | 2022-10-04 | Splunk Inc. | Data conditioning for dataset destination |
US11269939B1 (en) | 2016-09-26 | 2022-03-08 | Splunk Inc. | Iterative message-based data processing including streaming analytics |
US11442935B2 (en) | 2016-09-26 | 2022-09-13 | Splunk Inc. | Determining a record generation estimate of a processing task |
US11222066B1 (en) | 2016-09-26 | 2022-01-11 | Splunk Inc. | Processing data using containerized state-free indexing nodes in a containerized scalable environment |
US11232100B2 (en) | 2016-09-26 | 2022-01-25 | Splunk Inc. | Resource allocation for multiple datasets |
US20180089324A1 (en) | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for real-time search |
US11281706B2 (en) | 2016-09-26 | 2022-03-22 | Splunk Inc. | Multi-layer partition allocation for query execution |
US11562023B1 (en) | 2016-09-26 | 2023-01-24 | Splunk Inc. | Merging buckets in a data intake and query system |
US11593377B2 (en) | 2016-09-26 | 2023-02-28 | Splunk Inc. | Assigning processing tasks in a data intake and query system |
US11586627B2 (en) | 2016-09-26 | 2023-02-21 | Splunk Inc. | Partitioning and reducing records at ingest of a worker node |
US11294941B1 (en) | 2016-09-26 | 2022-04-05 | Splunk Inc. | Message-based data ingestion to a data intake and query system |
US11163758B2 (en) | 2016-09-26 | 2021-11-02 | Splunk Inc. | External dataset capability compensation |
US11023463B2 (en) | 2016-09-26 | 2021-06-01 | Splunk Inc. | Converting and modifying a subquery for an external data system |
US11567993B1 (en) | 2016-09-26 | 2023-01-31 | Splunk Inc. | Copying buckets from a remote shared storage system to memory associated with a search node for query execution |
US11874691B1 (en) | 2016-09-26 | 2024-01-16 | Splunk Inc. | Managing efficient query execution including mapping of buckets to search nodes |
US10353965B2 (en) | 2016-09-26 | 2019-07-16 | Splunk Inc. | Data fabric service system architecture |
US11620336B1 (en) | 2016-09-26 | 2023-04-04 | Splunk Inc. | Managing and storing buckets to a remote shared storage system based on a collective bucket size |
US11599541B2 (en) | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
US11250056B1 (en) * | 2016-09-26 | 2022-02-15 | Splunk Inc. | Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system |
KR20180064588A (ko) * | 2016-12-05 | 2018-06-15 | 에스케이하이닉스 주식회사 | 메모리 제어 장치 및 방법 |
CN107102818A (zh) * | 2017-03-16 | 2017-08-29 | 山东大学 | 一种基于sd卡的高速数据存储方法 |
US20180321855A1 (en) * | 2017-05-03 | 2018-11-08 | Samsung Electronics Co., Ltd. | Multistreaming in heterogeneous environments |
US9905294B1 (en) | 2017-05-03 | 2018-02-27 | Seagate Technology Llc | Writing logically offset pages of data to N-level memory cells coupled to a common word line |
CN107256363B (zh) * | 2017-06-13 | 2020-03-06 | 杭州华澜微电子股份有限公司 | 一种由加解密模块阵列组成的高速加解密装置 |
US10606484B2 (en) * | 2017-06-23 | 2020-03-31 | Google Llc | NAND flash storage device with NAND buffer |
US11921672B2 (en) | 2017-07-31 | 2024-03-05 | Splunk Inc. | Query execution at a remote heterogeneous data store of a data fabric service |
EP3657315A4 (en) * | 2017-08-10 | 2020-07-22 | Huawei Technologies Co., Ltd. | DATA ACCESS METHOD, DEVICE AND SYSTEM |
US11609623B2 (en) * | 2017-09-01 | 2023-03-21 | Qualcomm Incorporated | Ultra-low power neuromorphic artificial intelligence computing accelerator |
US10896182B2 (en) | 2017-09-25 | 2021-01-19 | Splunk Inc. | Multi-partitioning determination for combination operations |
TWI685847B (zh) * | 2017-10-12 | 2020-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置之非揮發式記憶體的命名空間規劃 |
CN109656833B (zh) | 2017-10-12 | 2022-11-11 | 慧荣科技股份有限公司 | 数据储存装置 |
US10908832B2 (en) * | 2017-10-31 | 2021-02-02 | Micron Technology, Inc. | Common pool management |
CN107943726A (zh) * | 2017-11-16 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种基于PCIe接口的数据传输系统及方法 |
DE102018123494A1 (de) | 2017-11-17 | 2019-05-23 | Samsung Electronics Co., Ltd. | Speichervorrichtung, die zum aktualisieren einesfeldprogrammierbaren gate-arrays ausgestaltetist, und betriebsverfahren dafür |
CN108092730B (zh) * | 2017-12-27 | 2019-04-26 | 中国电子科技集团公司第五十四研究所 | 一种适用于多设备的时序控制方法 |
US10628359B2 (en) * | 2018-03-01 | 2020-04-21 | EMC IP Holding Company LLC | Storage management system and method |
KR101936951B1 (ko) | 2018-04-11 | 2019-01-11 | 주식회사 맴레이 | 메모리 제어 장치 및 이를 포함하는 메모리 시스템 |
US11334543B1 (en) | 2018-04-30 | 2022-05-17 | Splunk Inc. | Scalable bucket merging for a data intake and query system |
EP3573030B1 (en) * | 2018-05-23 | 2023-10-11 | Diebold Nixdorf Systems GmbH | System and method to control the access on information of a peripheral storage device |
KR102560251B1 (ko) | 2018-06-20 | 2023-07-26 | 삼성전자주식회사 | 반도체 장치 및 반도체 시스템 |
US10884662B2 (en) | 2018-08-06 | 2021-01-05 | Silicon Motion, Inc. | Method for performing storage control in a storage server, associated memory device and memory controller thereof, and associated storage server |
CN110968449A (zh) * | 2018-09-28 | 2020-04-07 | 方一信息科技(上海)有限公司 | 用于多通道闪存控制器的bch ecc纠错资源共享系统及方法 |
KR102576373B1 (ko) | 2018-09-28 | 2023-09-07 | 에스케이하이닉스 주식회사 | 저장 공간을 동적으로 할당하는 제어 장치 및 이를 포함하는 데이터 저장 장치 |
US10817430B2 (en) * | 2018-10-02 | 2020-10-27 | Micron Technology, Inc. | Access unit and management segment memory operations |
KR20200053204A (ko) | 2018-11-08 | 2020-05-18 | 삼성전자주식회사 | 저장 장치, 저장 장치의 동작 방법 및 저장 장치를 제어하는 호스트의 동작 방법 |
US10871907B2 (en) | 2018-12-31 | 2020-12-22 | Micron Technology, Inc. | Sequential data optimized sub-regions in storage devices |
CN109979498A (zh) * | 2019-01-24 | 2019-07-05 | 深圳市景阳信息技术有限公司 | 磁盘视频数据写入、读取的方法及装置 |
CN110046114B (zh) * | 2019-03-06 | 2020-08-14 | 上海熠知电子科技有限公司 | 基于pcie协议的dma控制器及dma数据传输方法 |
JP7074705B2 (ja) * | 2019-03-20 | 2022-05-24 | キオクシア株式会社 | メモリ装置及びメモリ装置の制御方法 |
CN109933291B (zh) * | 2019-03-20 | 2022-05-06 | 浪潮商用机器有限公司 | 一种sram数据的处理方法、装置、设备及存储介质 |
WO2020220216A1 (en) | 2019-04-29 | 2020-11-05 | Splunk Inc. | Search time estimate in data intake and query system |
US11715051B1 (en) | 2019-04-30 | 2023-08-01 | Splunk Inc. | Service provider instance recommendations using machine-learned classifications and reconciliation |
US20220043915A1 (en) * | 2019-04-30 | 2022-02-10 | Hewlett-Packard Development Company, L.P. | Storage of network credentials |
KR20210118453A (ko) * | 2019-04-30 | 2021-09-30 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 플래시 메모리의 판독 레벨을 관리하는 전자 장치 및 방법 |
CN110209606B (zh) * | 2019-04-30 | 2021-01-22 | 杭州电子科技大学 | 一种基于PCIe的多接口存储设备的控制方法 |
KR20200134784A (ko) * | 2019-05-23 | 2020-12-02 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN110175056B (zh) * | 2019-05-30 | 2022-02-11 | 西安微电子技术研究所 | 一种异构平台远程动态加载多目标fpga的控制装置及控制方法 |
KR20200142219A (ko) | 2019-06-12 | 2020-12-22 | 삼성전자주식회사 | 전자 장치 및 그의 저장 공간 이용 방법 |
KR20210012305A (ko) * | 2019-07-24 | 2021-02-03 | 삼성전자주식회사 | 집적회로 장치, 시스템 온 칩 및 패킷 처리 방법 |
CN110673989B (zh) * | 2019-08-27 | 2023-05-16 | 国网浙江省电力有限公司电力科学研究院 | 一种背板系统的子板卡识别装置与方法 |
US11494380B2 (en) | 2019-10-18 | 2022-11-08 | Splunk Inc. | Management of distributed computing framework components in a data fabric service system |
KR20210054187A (ko) * | 2019-11-05 | 2021-05-13 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 장치 및 메모리 시스템의 동작 방법 |
US11175984B1 (en) | 2019-12-09 | 2021-11-16 | Radian Memory Systems, Inc. | Erasure coding techniques for flash memory |
US11892956B2 (en) * | 2019-12-31 | 2024-02-06 | Micron Technology, Inc. | Performance of memory system background operations |
US11922222B1 (en) | 2020-01-30 | 2024-03-05 | Splunk Inc. | Generating a modified component for a data intake and query system using an isolated execution environment image |
KR20210156985A (ko) | 2020-06-19 | 2021-12-28 | 삼성전자주식회사 | 일 함수 층들을 갖는 반도체 소자들 |
KR20210158607A (ko) | 2020-06-24 | 2021-12-31 | 삼성전자주식회사 | 캡핑층을 포함하는 반도체 소자 |
KR20210158615A (ko) | 2020-06-24 | 2021-12-31 | 삼성전자주식회사 | 게이트 라인을 포함하는 집적회로 소자 |
US11704313B1 (en) | 2020-10-19 | 2023-07-18 | Splunk Inc. | Parallel branch operation using intermediary nodes |
KR20220067872A (ko) * | 2020-11-18 | 2022-05-25 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
US11513980B2 (en) * | 2021-01-21 | 2022-11-29 | Silicon Motion, Inc. | Method and apparatus for performing access management of memory device with aid of universal asynchronous receiver-transmitter connection |
US20220350933A1 (en) * | 2021-04-29 | 2022-11-03 | EMC IP Holding Company LLC | Methods and systems for securing data in a distributed storage system |
US20230008974A1 (en) * | 2021-07-08 | 2023-01-12 | Toshiba Global Commerce Solutions Holdings Corporation | Methods, systems, and computer program products configured to provide consistent look and feel for user input |
CN115843379A (zh) * | 2021-07-21 | 2023-03-24 | 美光科技公司 | 用来改进顺序存储器命令性能的存储器命令聚合 |
US20230120600A1 (en) * | 2021-10-20 | 2023-04-20 | Western Digital Technologies, Inc. | Data Storage Devices, Systems, and Related Methods for Grouping Commands of Doorbell Transactions from Host Devices |
KR102385572B1 (ko) | 2021-11-02 | 2022-04-13 | 삼성전자주식회사 | 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법 |
CN116501670A (zh) * | 2022-01-18 | 2023-07-28 | 联发科技(新加坡)私人有限公司 | 传感装置的中断处理方法及其集成电路 |
US20230266897A1 (en) * | 2022-02-24 | 2023-08-24 | Micron Technology, Inc. | Dynamic zone group configuration at a memory sub-system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802345A (en) * | 1994-03-28 | 1998-09-01 | Matsunami; Naoto | Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts |
CN1440555A (zh) * | 2000-06-29 | 2003-09-03 | 英特尔公司 | 块级边读边写的方法及装置 |
US20080320214A1 (en) * | 2003-12-02 | 2008-12-25 | Super Talent Electronics Inc. | Multi-Level Controller with Smart Storage Transfer Manager for Interleaving Multiple Single-Chip Flash Memory Devices |
US20090164698A1 (en) * | 2007-12-24 | 2009-06-25 | Yung-Li Ji | Nonvolatile storage device with NCQ supported and writing method for a nonvolatile storage device |
Family Cites Families (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4449182A (en) | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
US4777595A (en) * | 1982-05-07 | 1988-10-11 | Digital Equipment Corporation | Apparatus for transferring blocks of information from one node to a second node in a computer network |
DE69033262T2 (de) * | 1989-04-13 | 2000-02-24 | Sandisk Corp | EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher |
JPH0398972A (ja) | 1989-09-08 | 1991-04-24 | Mitsubishi Electric Corp | エレベータの制御装置 |
US5663901A (en) * | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
EP0610677A3 (en) | 1993-02-12 | 1995-08-02 | Ibm | Communication device management module operating in two modes. |
JPH07234764A (ja) * | 1994-02-22 | 1995-09-05 | Toshiba Corp | スケジューラ |
US5619687A (en) * | 1994-02-22 | 1997-04-08 | Motorola Inc. | Queue system having a time-out feature and method therefor |
JP3561002B2 (ja) * | 1994-05-18 | 2004-09-02 | 富士通株式会社 | ディスク装置 |
JPH0997124A (ja) | 1995-09-29 | 1997-04-08 | Fujitsu Ltd | 電子装置、メモリボード並びにメモリ装着機構 |
US5708814A (en) | 1995-11-21 | 1998-01-13 | Microsoft Corporation | Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events |
JPH09305330A (ja) * | 1996-05-15 | 1997-11-28 | Oki Electric Ind Co Ltd | ディスクアレイ装置 |
JPH10214221A (ja) * | 1997-01-31 | 1998-08-11 | Hitachi Ltd | 制御装置及びメモリシステム |
US6003112A (en) * | 1997-06-30 | 1999-12-14 | Intel Corporation | Memory controller and method for clearing or copying memory utilizing register files to store address information |
US5941998A (en) | 1997-07-25 | 1999-08-24 | Samsung Electronics Co., Ltd. | Disk drive incorporating read-verify after write method |
US7088387B1 (en) | 1997-08-05 | 2006-08-08 | Mitsubishi Electric Research Laboratories, Inc. | Video recording device responsive to triggering event |
US7158167B1 (en) * | 1997-08-05 | 2007-01-02 | Mitsubishi Electric Research Laboratories, Inc. | Video recording device for a targetable weapon |
DE19740525C1 (de) | 1997-09-15 | 1999-02-04 | Siemens Ag | Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug |
JP3534585B2 (ja) | 1997-10-21 | 2004-06-07 | 株式会社日立製作所 | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
US6009478A (en) | 1997-11-04 | 1999-12-28 | Adaptec, Inc. | File array communications interface for communicating between a host computer and an adapter |
US6175900B1 (en) | 1998-02-09 | 2001-01-16 | Microsoft Corporation | Hierarchical bitmap-based memory manager |
NL1011442C2 (nl) | 1998-03-26 | 1999-09-28 | Franciscus Hubertus Johannes M | Frontwerktuigbesturing. |
US6172676B1 (en) | 1998-07-17 | 2001-01-09 | International Business Machines Corporation | Method and computer program product for implementing multiple drag and drop operations for large objects without blocking an operating system interface |
US6313522B1 (en) * | 1998-08-28 | 2001-11-06 | Micron Technology, Inc. | Semiconductor structure having stacked semiconductor devices |
JP2000357125A (ja) * | 1999-06-16 | 2000-12-26 | Matsushita Electric Ind Co Ltd | バッファメモリ制御方法及び制御装置 |
US6866581B2 (en) * | 1999-09-24 | 2005-03-15 | Igt | Video gaming apparatus for wagering with universal computerized controller and I/O interface for unique architecture |
US6757797B1 (en) | 1999-09-30 | 2004-06-29 | Fujitsu Limited | Copying method between logical disks, disk-storage system and its storage medium |
CA2388789A1 (en) | 1999-10-29 | 2001-05-10 | Opentv, Corp. | System and method for recording pushed data |
US7000245B1 (en) | 1999-10-29 | 2006-02-14 | Opentv, Inc. | System and method for recording pushed data |
US8250617B2 (en) | 1999-10-29 | 2012-08-21 | Opentv, Inc. | System and method for providing multi-perspective instant replay |
US6678463B1 (en) | 2000-08-02 | 2004-01-13 | Opentv | System and method for incorporating previously broadcast content into program recording |
US20020053004A1 (en) | 1999-11-19 | 2002-05-02 | Fong Pong | Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links |
US7024695B1 (en) | 1999-12-30 | 2006-04-04 | Intel Corporation | Method and apparatus for secure remote system management |
US20050160218A1 (en) | 2004-01-20 | 2005-07-21 | Sun-Teck See | Highly integrated mass storage device with an intelligent flash controller |
US8037234B2 (en) * | 2003-12-02 | 2011-10-11 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
US8266367B2 (en) | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
US6317330B1 (en) * | 2000-02-15 | 2001-11-13 | Bitmicro Networks, Inc. | Printed circuit board assembly |
US6434660B1 (en) | 2000-05-23 | 2002-08-13 | Centennial Technologies, Inc. | Emulating one tape protocol of flash memory to a different type protocol of flash memory |
IL137085A (en) * | 2000-06-29 | 2004-08-31 | Eci Telecom Ltd | Method for effective utilizing of shared resources in computerized systems |
US7104804B2 (en) | 2000-07-03 | 2006-09-12 | Advanced Interconnect Solutions | Method and apparatus for memory module circuit interconnection |
JP2002023962A (ja) * | 2000-07-07 | 2002-01-25 | Fujitsu Ltd | ディスク装置及び制御方法 |
ATE371336T1 (de) | 2000-08-02 | 2007-09-15 | Opentv Inc | System und verfahren zur sofortigen wiederholung mit mehreren perspektiven |
JP4609680B2 (ja) * | 2000-08-09 | 2011-01-12 | ソニー株式会社 | データ蓄積装置 |
US6820148B1 (en) * | 2000-08-17 | 2004-11-16 | Sandisk Corporation | Multiple removable non-volatile memory cards serially communicating with a host |
US6640274B1 (en) | 2000-08-21 | 2003-10-28 | Intel Corporation | Method and apparatus for reducing the disk drive data transfer interrupt service latency penalty |
US6865631B2 (en) | 2000-12-14 | 2005-03-08 | International Business Machines Corporation | Reduction of interrupts in remote procedure calls |
JP4818812B2 (ja) * | 2006-05-31 | 2011-11-16 | 株式会社日立製作所 | フラッシュメモリストレージシステム |
US6931498B2 (en) | 2001-04-03 | 2005-08-16 | Intel Corporation | Status register architecture for flexible read-while-write device |
US20020178307A1 (en) * | 2001-05-25 | 2002-11-28 | Pua Khein Seng | Multiple memory card adapter |
US6781914B2 (en) | 2001-08-23 | 2004-08-24 | Winbond Electronics Corp. | Flash memory having a flexible bank partition |
ITRM20010524A1 (it) | 2001-08-30 | 2003-02-28 | Micron Technology Inc | Struttura a schiera di memoria flash. |
US7631084B2 (en) | 2001-11-02 | 2009-12-08 | Juniper Networks, Inc. | Method and system for providing secure access to private networks with client redirection |
KR100449708B1 (ko) | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP3802411B2 (ja) | 2001-12-20 | 2006-07-26 | 株式会社東芝 | 不揮発性半導体記憶装置のデータコピー方法 |
US6938188B1 (en) | 2002-01-29 | 2005-08-30 | Advanced Digital Information Corporation | Method for verifying functional integrity of computer hardware, particularly data storage devices |
US6854022B1 (en) | 2002-02-22 | 2005-02-08 | Western Digital Technologies, Inc. | Disk drive using rotational position optimization algorithm to facilitate write verify operations |
US7080245B2 (en) | 2002-05-23 | 2006-07-18 | Hewlett-Packard Development Company, L.P. | Method and system of switching between two or more images of firmware on a host device |
US7114051B2 (en) | 2002-06-01 | 2006-09-26 | Solid State System Co., Ltd. | Method for partitioning memory mass storage device |
US20040078729A1 (en) * | 2002-06-26 | 2004-04-22 | Siemens Aktiengesellschaft | Method, computer, and computer program for detecting a bad block on a hard disk |
JP2004071033A (ja) | 2002-08-05 | 2004-03-04 | Mitsubishi Electric Corp | フラッシュメモリのデータ記録法 |
EP1396792B1 (en) | 2002-09-06 | 2005-06-15 | Sun Microsystems, Inc. | Memory copy command specifying source and destination of data executed in the memory controller |
US7137118B2 (en) | 2002-09-27 | 2006-11-14 | Texas Instruments Incorporated | Data synchronization hardware primitive in an embedded symmetrical multiprocessor computer |
US7296213B2 (en) * | 2002-12-11 | 2007-11-13 | Nvidia Corporation | Error correction cache for flash memory |
US6901461B2 (en) | 2002-12-31 | 2005-05-31 | Intel Corporation | Hardware assisted ATA command queuing |
CN1432929A (zh) * | 2003-02-14 | 2003-07-30 | 威盛电子股份有限公司 | 多微处理器系统内响应中断服务要求的仲裁结构及方法 |
JP4165747B2 (ja) * | 2003-03-20 | 2008-10-15 | 株式会社日立製作所 | 記憶システム、制御装置及び制御装置のプログラム |
US7136938B2 (en) | 2003-03-27 | 2006-11-14 | International Business Machines Corporation | Command ordering based on dependencies |
KR100543447B1 (ko) | 2003-04-03 | 2006-01-23 | 삼성전자주식회사 | 에러정정기능을 가진 플래쉬메모리장치 |
US7320100B2 (en) | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
US7159104B2 (en) | 2003-05-20 | 2007-01-02 | Nvidia Corporation | Simplified memory detection |
US7200688B2 (en) | 2003-05-29 | 2007-04-03 | International Business Machines Corporation | System and method asynchronous DMA command completion notification by accessing register via attached processing unit to determine progress of DMA command |
JP4653960B2 (ja) | 2003-08-07 | 2011-03-16 | ルネサスエレクトロニクス株式会社 | メモリカードおよび不揮発性メモリ混載マイコン |
CN2662316Y (zh) * | 2003-11-28 | 2004-12-08 | 中国科学院空间科学与应用研究中心 | 嵌入式计算机系统用的系统主板 |
US8176238B2 (en) | 2003-12-02 | 2012-05-08 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
US7865809B1 (en) | 2004-03-11 | 2011-01-04 | Super Talent Electronics, Inc. | Data error detection and correction in non-volatile memory devices |
JP2005190106A (ja) | 2003-12-25 | 2005-07-14 | Hitachi Ltd | 論理ボリュームを管理する記憶制御サブシステム |
US7370230B1 (en) | 2004-01-08 | 2008-05-06 | Maxtor Corporation | Methods and structure for error correction in a processor pipeline |
US8108870B2 (en) * | 2004-01-29 | 2012-01-31 | Klingman Edwin E | Intelligent memory device having ASCII-named task registers mapped to addresses of a task |
US7127549B2 (en) | 2004-02-04 | 2006-10-24 | Sandisk Corporation | Disk acceleration using first and second storage devices |
WO2005082037A2 (en) | 2004-02-24 | 2005-09-09 | Paul Kaler | Intelligent solid state disk with hot-swappable components |
CA2557641A1 (en) | 2004-02-27 | 2005-09-15 | Tigi Corporation | System and method for data manipulation |
US7328304B2 (en) * | 2004-02-27 | 2008-02-05 | Intel Corporation | Interface for a block addressable mass storage system |
US7406572B1 (en) | 2004-03-26 | 2008-07-29 | Cypress Semiconductor Corp. | Universal memory circuit architecture supporting multiple memory interface options |
US20080147931A1 (en) | 2006-10-17 | 2008-06-19 | Smart Modular Technologies, Inc. | Data striping to flash memory |
US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
US7205532B2 (en) | 2004-08-24 | 2007-04-17 | Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. | Integrated ball grid array optical mouse sensor packaging |
US20060053308A1 (en) * | 2004-09-08 | 2006-03-09 | Raidy 2 Go Ltd. | Secured redundant memory subsystem |
US7283074B2 (en) | 2004-09-21 | 2007-10-16 | Telegent Systems, Inc. | Pilot-tone calibration for time-interleaved analog-to-digital converters |
KR100667780B1 (ko) | 2004-11-22 | 2007-01-11 | 삼성전자주식회사 | 검정 방법, 기록/재생 장치 및 정보 저장 매체 |
US7730257B2 (en) | 2004-12-16 | 2010-06-01 | Broadcom Corporation | Method and computer program product to increase I/O write performance in a redundant array |
KR100621631B1 (ko) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | 반도체 디스크 제어 장치 |
JP2006195569A (ja) | 2005-01-11 | 2006-07-27 | Sony Corp | 記憶装置 |
US7562366B2 (en) | 2005-02-03 | 2009-07-14 | Solarflare Communications, Inc. | Transmit completion event batching |
WO2006085323A2 (en) * | 2005-02-11 | 2006-08-17 | Sandisk Il Ltd. | Appliance with communication protocol emulation |
TWI266988B (en) | 2005-03-01 | 2006-11-21 | Sunplus Technology Co Ltd | Method and system for accessing A/V data in computer apparatus |
US20060211388A1 (en) * | 2005-03-07 | 2006-09-21 | Lambert Grady D | Stackable printed circuit boards |
US20080126658A1 (en) | 2006-05-28 | 2008-05-29 | Phison Electronics Corp. | Inlayed flash memory module |
US7822912B2 (en) | 2005-03-14 | 2010-10-26 | Phision Electronics Corp. | Flash storage chip and flash array storage system |
US7225289B2 (en) | 2005-03-14 | 2007-05-29 | Phison Electronics Corporation | Virtual IDE storage with PCI express interface |
JP2007004775A (ja) * | 2005-05-23 | 2007-01-11 | Toshiba Corp | 半導体メモリカード |
KR100690804B1 (ko) | 2005-06-13 | 2007-03-09 | 엘지전자 주식회사 | 휴대단말기의 메모리 정리 방법 |
TWI319160B (en) | 2005-07-11 | 2010-01-01 | Via Tech Inc | Memory card capable of supporting various voltage supply and control chip and method of supporting voltage thereof |
US7660306B1 (en) | 2006-01-12 | 2010-02-09 | Chelsio Communications, Inc. | Virtualizing the operation of intelligent network interface circuitry |
US20070079098A1 (en) * | 2005-10-03 | 2007-04-05 | Hitachi, Ltd. | Automatic allocation of volumes in storage area networks |
KR100993664B1 (ko) * | 2005-10-17 | 2010-11-10 | 르네사스 일렉트로닉스 가부시키가이샤 | 반도체 장치 및 그의 제조 방법 |
CN101346703B (zh) | 2005-12-21 | 2012-11-21 | Nxp股份有限公司 | 具有可块擦除单元的非易失性存储器 |
CN101346704B (zh) | 2005-12-22 | 2011-10-05 | Nxp股份有限公司 | 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链 |
WO2007079534A1 (en) * | 2006-01-12 | 2007-07-19 | Para Kanagasabai Segaram | A subsystem for computing devices |
US7549021B2 (en) | 2006-02-22 | 2009-06-16 | Seagate Technology Llc | Enhanced data integrity using parallel volatile and non-volatile transfer buffers |
WO2007096844A2 (en) | 2006-02-27 | 2007-08-30 | Nxp B.V. | Memory with block-erasable locations |
JP2007257791A (ja) | 2006-03-24 | 2007-10-04 | Fujitsu Ltd | 半導体記憶装置 |
JP4135747B2 (ja) * | 2006-04-06 | 2008-08-20 | ソニー株式会社 | データ処理装置及びフラッシュメモリへのアクセス方法 |
US20070271495A1 (en) | 2006-05-18 | 2007-11-22 | Ian Shaeffer | System to detect and identify errors in control information, read data and/or write data |
CN100433697C (zh) * | 2006-06-01 | 2008-11-12 | 东南大学 | 多通道高速数据处理器及处理方法 |
US7613876B2 (en) * | 2006-06-08 | 2009-11-03 | Bitmicro Networks, Inc. | Hybrid multi-tiered caching storage system |
US7506098B2 (en) | 2006-06-08 | 2009-03-17 | Bitmicro Networks, Inc. | Optimized placement policy for solid state storage devices |
WO2007146845A2 (en) | 2006-06-08 | 2007-12-21 | Bitmicro Networks, Inc. | Configurable and scalable hybrid multi-tiered caching storage system |
TW200805394A (en) | 2006-07-07 | 2008-01-16 | Alcor Micro Corp | Memory storage device and the read/write method thereof |
US8140738B2 (en) | 2006-07-20 | 2012-03-20 | Stmicroelectronics Pvt. Ltd. | Flash memory interface device |
US7487428B2 (en) * | 2006-07-24 | 2009-02-03 | Kingston Technology Corp. | Fully-buffered memory-module with error-correction code (ECC) controller in serializing advanced-memory buffer (AMB) that is transparent to motherboard memory controller |
US7827346B2 (en) | 2006-08-14 | 2010-11-02 | Plankton Technologies, Llc | Data storage device |
US7539842B2 (en) | 2006-08-15 | 2009-05-26 | International Business Machines Corporation | Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables |
CN100573435C (zh) | 2006-08-18 | 2009-12-23 | 福昭科技(深圳)有限公司 | 一种基于闪存记忆体的大容量存储装置 |
US7904639B2 (en) | 2006-08-22 | 2011-03-08 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
KR20080017982A (ko) * | 2006-08-23 | 2008-02-27 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그 프로그램 방법 |
US7730269B2 (en) * | 2006-08-29 | 2010-06-01 | International Business Machines Corporation | Load management to reduce communication signaling latency in a virtual machine environment |
CN101118783A (zh) * | 2006-09-07 | 2008-02-06 | 晶天电子(深圳)有限公司 | 带有闪存坏块控制系统的电子数据闪存卡 |
JP2008065575A (ja) * | 2006-09-07 | 2008-03-21 | Fuji Xerox Co Ltd | 拡張メモリ装置、及びメモリ拡張システム |
JP4452261B2 (ja) * | 2006-09-12 | 2010-04-21 | 株式会社日立製作所 | ストレージシステムの論理ボリューム管理方法、論理ボリューム管理プログラム、及びストレージシステム |
US20080077727A1 (en) | 2006-09-25 | 2008-03-27 | Baca Jim S | Multithreaded state machine in non-volatile memory devices |
WO2008040028A2 (en) | 2006-09-28 | 2008-04-03 | Virident Systems, Inc. | Systems, methods, and apparatus with programmable memory control for heterogeneous main memory |
US7587575B2 (en) | 2006-10-17 | 2009-09-08 | International Business Machines Corporation | Communicating with a memory registration enabled adapter using cached address translations |
JP4932427B2 (ja) | 2006-10-20 | 2012-05-16 | 株式会社日立製作所 | 記憶装置及び記憶方法 |
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 |
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 |
US7660911B2 (en) * | 2006-12-20 | 2010-02-09 | Smart Modular Technologies, Inc. | Block-based data striping to flash memory |
US7668177B1 (en) | 2006-12-28 | 2010-02-23 | Qlogic, Corporation | Method and system for quality of service in host bus adapters |
KR100813630B1 (ko) | 2007-02-07 | 2008-03-14 | 삼성전자주식회사 | 독출 성능을 향상할 수 있는 플래시 메모리 시스템 및그것의 독출 방법 |
US20080209157A1 (en) | 2007-02-27 | 2008-08-28 | Inventec Corporation | Memory partitioning method |
JP5224706B2 (ja) | 2007-03-23 | 2013-07-03 | キヤノン株式会社 | 記憶装置及び記憶装置の制御方法 |
JP4781373B2 (ja) * | 2007-05-14 | 2011-09-28 | 株式会社バッファロー | 記憶装置 |
JP2008287404A (ja) | 2007-05-16 | 2008-11-27 | Hitachi Ltd | 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法 |
JP2008293096A (ja) | 2007-05-22 | 2008-12-04 | Shinko Electric Ind Co Ltd | メモリインタフェースおよびメモリシステム |
US20080294814A1 (en) | 2007-05-24 | 2008-11-27 | Sergey Anatolievich Gorobets | Flash Memory System with Management of Housekeeping Operations |
WO2008147752A1 (en) | 2007-05-24 | 2008-12-04 | Sandisk Corporation | Managing housekeeping operations in flash memory |
KR20080105390A (ko) | 2007-05-30 | 2008-12-04 | 삼성전자주식회사 | 플래시 메모리에 사용되는 명령어들을 제어하는 방법 및장치 |
US8040710B2 (en) | 2007-05-31 | 2011-10-18 | Qimonda Ag | Semiconductor memory arrangement |
US7898813B2 (en) * | 2007-06-25 | 2011-03-01 | Kabushiki Kaisha Toshiba | Semiconductor memory device and semiconductor memory card using the same |
US20090006720A1 (en) | 2007-06-27 | 2009-01-01 | Shai Traister | Scheduling phased garbage collection and house keeping operations in a flash memory system |
US8001444B2 (en) | 2007-08-08 | 2011-08-16 | Intel Corporation | ECC functional block placement in a multi-channel mass storage device |
US7639165B2 (en) | 2007-08-10 | 2009-12-29 | Marvell World Trade Ltd. | Calibrating replica digital-to-analog converters |
JP4977554B2 (ja) | 2007-08-22 | 2012-07-18 | 株式会社日立製作所 | キャッシュメモリ上のデータをバックアップする機能を備えたストレージシステム |
KR101466694B1 (ko) | 2007-08-28 | 2014-11-28 | 삼성전자주식회사 | Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법 |
US8082482B2 (en) | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
US8086936B2 (en) | 2007-08-31 | 2011-12-27 | International Business Machines Corporation | Performing error correction at a memory device level that is transparent to a memory channel |
US20090063895A1 (en) | 2007-09-04 | 2009-03-05 | Kurt Smith | Scaleable and maintainable solid state drive |
US20090125790A1 (en) | 2007-11-13 | 2009-05-14 | Mcm Portfolio Llc | Method and Apparatus of Automatically Selecting Error Correction Algorithms by a NAND Flash Controller |
US20100049914A1 (en) * | 2008-08-20 | 2010-02-25 | Goodwin Paul M | RAID Enhanced solid state drive |
US8266365B2 (en) | 2008-12-17 | 2012-09-11 | Sandisk Il Ltd. | Ruggedized memory device |
US8578084B2 (en) | 2009-04-08 | 2013-11-05 | Google Inc. | Data storage device having multiple removable memory boards |
US20100287217A1 (en) | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
US20100262979A1 (en) | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
US8595572B2 (en) | 2009-04-08 | 2013-11-26 | Google Inc. | Data storage device with metadata command |
JP5404804B2 (ja) | 2009-05-25 | 2014-02-05 | 株式会社日立製作所 | ストレージサブシステム |
WO2011007459A1 (ja) | 2009-07-17 | 2011-01-20 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
-
2009
- 2009-08-07 US US12/537,719 patent/US8578084B2/en active Active
- 2009-08-07 US US12/537,727 patent/US8250271B2/en active Active
- 2009-08-07 US US12/537,733 patent/US8380909B2/en active Active
- 2009-08-07 US US12/537,725 patent/US8239724B2/en active Active
- 2009-08-07 US US12/537,741 patent/US8639871B2/en active Active
- 2009-08-07 US US12/537,709 patent/US8205037B2/en active Active
- 2009-08-07 US US12/537,704 patent/US8566507B2/en active Active
- 2009-08-07 US US12/537,748 patent/US8566508B2/en active Active
- 2009-08-07 US US12/537,738 patent/US20100262773A1/en not_active Abandoned
- 2009-08-07 US US12/537,722 patent/US8244962B2/en active Active
-
2010
- 2010-04-01 JP JP2012504717A patent/JP5657641B2/ja active Active
- 2010-04-01 AU AU2010234773A patent/AU2010234773B2/en active Active
- 2010-04-01 CN CN2010800205069A patent/CN102428454A/zh active Pending
- 2010-04-01 DE DE202010017661U patent/DE202010017661U1/de not_active Expired - Lifetime
- 2010-04-01 WO PCT/US2010/029677 patent/WO2010117877A1/en active Application Filing
- 2010-04-01 JP JP2012504716A patent/JP5922016B2/ja active Active
- 2010-04-01 CN CN201711055987.7A patent/CN107832010A/zh active Pending
- 2010-04-01 CN CN201080020319.0A patent/CN102428451B/zh active Active
- 2010-04-01 DE DE202010017669U patent/DE202010017669U1/de not_active Expired - Lifetime
- 2010-04-01 WO PCT/US2010/029679 patent/WO2010117878A1/en active Application Filing
- 2010-04-01 EP EP10712655.9A patent/EP2417531B1/en active Active
- 2010-04-01 EP EP14153062.6A patent/EP2728488B1/en active Active
- 2010-04-01 DE DE202010017668U patent/DE202010017668U1/de not_active Expired - Lifetime
- 2010-04-01 EP EP10712656.7A patent/EP2417528B1/en active Active
- 2010-04-01 AU AU2010234772A patent/AU2010234772B2/en active Active
- 2010-04-05 CN CN2010800204899A patent/CN102428452A/zh active Pending
- 2010-04-05 WO PCT/US2010/029917 patent/WO2010117929A1/en active Application Filing
- 2010-04-05 JP JP2012504741A patent/JP2012523623A/ja active Pending
- 2010-04-05 JP JP2012504740A patent/JP2012523622A/ja active Pending
- 2010-04-05 DE DE202010017665U patent/DE202010017665U1/de not_active Expired - Lifetime
- 2010-04-05 AU AU2010234646A patent/AU2010234646A1/en not_active Abandoned
- 2010-04-05 AU AU2010234648A patent/AU2010234648B2/en active Active
- 2010-04-05 WO PCT/US2010/029919 patent/WO2010117930A1/en active Application Filing
- 2010-04-05 EP EP10712863A patent/EP2417533A1/en not_active Withdrawn
- 2010-04-05 CN CN2010800205073A patent/CN102428453A/zh active Pending
- 2010-04-05 CN CN2010800204884A patent/CN102428455A/zh active Pending
- 2010-04-05 WO PCT/US2010/029916 patent/WO2010117928A1/en active Application Filing
- 2010-04-05 DE DE202010017666U patent/DE202010017666U1/de not_active Expired - Lifetime
- 2010-04-05 DE DE202010017667U patent/DE202010017667U1/de not_active Expired - Lifetime
- 2010-04-05 EP EP10712864A patent/EP2417529A1/en not_active Withdrawn
- 2010-04-05 AU AU2010234647A patent/AU2010234647B2/en active Active
- 2010-04-05 JP JP2012504742A patent/JP5347061B2/ja active Active
- 2010-04-05 EP EP10712865A patent/EP2417530A1/en not_active Withdrawn
-
2013
- 2013-10-18 US US14/057,703 patent/US20140108708A1/en not_active Abandoned
- 2013-10-21 US US14/059,061 patent/US20140047172A1/en not_active Abandoned
- 2013-11-25 US US14/089,397 patent/US20140156915A1/en not_active Abandoned
-
2014
- 2014-10-09 JP JP2014208104A patent/JP2015046175A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802345A (en) * | 1994-03-28 | 1998-09-01 | Matsunami; Naoto | Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts |
CN1440555A (zh) * | 2000-06-29 | 2003-09-03 | 英特尔公司 | 块级边读边写的方法及装置 |
US20080320214A1 (en) * | 2003-12-02 | 2008-12-25 | Super Talent Electronics Inc. | Multi-Level Controller with Smart Storage Transfer Manager for Interleaving Multiple Single-Chip Flash Memory Devices |
US20090164698A1 (en) * | 2007-12-24 | 2009-06-25 | Yung-Li Ji | Nonvolatile storage device with NCQ supported and writing method for a nonvolatile storage device |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104885062A (zh) * | 2012-12-10 | 2015-09-02 | 谷歌公司 | 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信 |
CN104885062B (zh) * | 2012-12-10 | 2017-06-20 | 谷歌公司 | 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信 |
CN107526539A (zh) * | 2016-06-21 | 2017-12-29 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN107526539B (zh) * | 2016-06-21 | 2020-10-23 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN109154917A (zh) * | 2016-12-29 | 2019-01-04 | 华为技术有限公司 | 存储系统和固态硬盘 |
US10768857B2 (en) | 2016-12-29 | 2020-09-08 | Huawei Technologies Co., Ltd. | Storage system having a controller that selects a die of a solid state disk to store data |
CN109154917B (zh) * | 2016-12-29 | 2020-09-29 | 华为技术有限公司 | 存储系统和固态硬盘 |
CN107728953A (zh) * | 2017-11-03 | 2018-02-23 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘混合读写性能的方法 |
CN110888826A (zh) * | 2018-09-11 | 2020-03-17 | 美光科技公司 | 通过用于机器学习的处理装置对易失性存储器进行的并行存取 |
CN110888826B (zh) * | 2018-09-11 | 2024-03-26 | 美光科技公司 | 通过用于机器学习的处理装置对易失性存储器进行的并行存取 |
CN112771493A (zh) * | 2018-09-28 | 2021-05-07 | 波利伍德股份有限公司 | 将写入流分离到多个分区中 |
CN112394887A (zh) * | 2019-08-17 | 2021-02-23 | 森大(深圳)技术有限公司 | Onepass打印数据高效率处理方法、装置、设备及存储介质 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102428453A (zh) | 用于在快闪存储器数据存储装置中存储数据的方法及设备 | |
CN102428449A (zh) | 数据存储装置中的后台无用单元收集的主机控制 | |
JP4402997B2 (ja) | ストレージ装置 | |
US9009437B1 (en) | Techniques for shared data storage provisioning with thin devices | |
US8327220B2 (en) | Data storage device with verify on write command | |
CN100481022C (zh) | 用于控制非易失性存储器的控制器 | |
CN109074307A (zh) | 具有直接读取存取的存储器装置 | |
CN104885062A (zh) | 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信 | |
CN103186622B (zh) | 一种全文检索系统中索引信息的更新方法以及装置 | |
WO2015008358A1 (ja) | 情報処理装置 | |
JP2019133391A (ja) | メモリシステムおよび制御方法 | |
US10268592B2 (en) | System, method and computer-readable medium for dynamically mapping a non-volatile memory store | |
CN108958642A (zh) | 存储器系统及其操作方法 | |
CN107430546B (zh) | 一种文件更新方法及存储设备 | |
JP2021033845A (ja) | メモリシステムおよび制御方法 | |
JP6198992B2 (ja) | 計算機システム、及び、データベース管理方法 | |
US9569113B2 (en) | Data storage device and operating method thereof | |
CN103377145A (zh) | 使用逻辑卷映射装载预取高速缓存的方法和装置 | |
CN101833557A (zh) | 基于应用程序的文件缓存方法和装置 | |
EP2782002A2 (en) | Control device, storage system, and control program | |
US20060085620A1 (en) | Address aligned resource set allocation in a memory space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120425 |