CN102171649B - 用于用单个命令对多个不连续地址范围的传送进行排队的方法和系统 - Google Patents
用于用单个命令对多个不连续地址范围的传送进行排队的方法和系统 Download PDFInfo
- Publication number
- CN102171649B CN102171649B CN200980139230.3A CN200980139230A CN102171649B CN 102171649 B CN102171649 B CN 102171649B CN 200980139230 A CN200980139230 A CN 200980139230A CN 102171649 B CN102171649 B CN 102171649B
- Authority
- CN
- China
- Prior art keywords
- command
- list
- host controller
- controller interface
- address realm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
-
- 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
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
Abstract
公开了用于在单个命令内对多个不连续地址范围的传送进行排队的方法和系统。系统的实施例包括系统处理器、用于存储数据和可执行软件的存储器,和用于接收存储在系统存储器中的传送命令的存储设备。主机控制器接口驱动器由一个或更多个系统处理器执行,并且从存储设备传送请求中收集多个不连续地址范围,对每一个不连续范围将起始地址和要传送的数据的数量记录在已标记命令列表中。将已标记命令列表中的地址范围的数量和已标记传送的操作码记录在一命令中,并且将所述命令和所述已标记命令列表存储在该存储设备的命令表中。将存储器中命令表的基地址和已标记命令列表的偏移量记录在存储在命令队列的命令头中。
Description
技术领域
本公开总体上涉及访问硬盘和/或非易失性存储器的领域。具体地说,本公开涉及在单个命令内对多个非连续地址范围的传送进行排队。
背景技术
在现代计算系统中可以采用各种存储设备来存储和访问软件和/或数据。通常这些存储设备可以包括诸如硬盘驱动器(HDD)的磁存储设备、诸如光盘(CD)的光存储盘、和闪速存储器固态驱动器(SSD)。
在HDD中,信息被存储在高速旋转的磁盘上,并且由多个读/写磁头从盘片读取以及向盘片写入信息。微控制器控制磁头相对于盘片的运动,微控制器与外部接口进行通信并与磁盘高速缓存缓冲器一起工作。数据可以被存储在盘片的不同部分,并且当工作负载为随机或接近随机时,可能花费大量时间将磁头移动到盘片上的所需位置。重新排序写请求和读取先行(look-ahead read)能够明显提高HDD系统中的性能。
逻辑区块寻址(LBA)通常用于指定在存储设备中数据区块的位置。LBA可以是指地址或是指区块(例如,索引),其中第一区块为LBA=0、第二区块为LBA=1等等。LBA方案替代了诸如磁柱-磁头-扇区(CHS)方案这样的早期寻址方案,该方案向操作系统软件暴露了存储设备的物理细节。逻辑区块通常可以是512字节或1024字节(ISO 9660 CD使用2048字节的区块)。需要区块级I/O的系统调用将LBA定义传递给存储设备驱动器。对于一些简单的情况,逻辑区块大小可以与能够从存储设备中读取或向存储设备写入的最小物理扇区的大小相同。
在SSD中,基于NAND(或NOR)逻辑的闪速存储器将数据存储在微控制器管理的一些芯片中。SSD具有更快的读取时间(即,仅仅要找到和读取一个或多个所需单元),但是具有相对较慢的写入时间(即,在一个或多个单元中写入新数据之前必须从其中擦除现有数据)。因为不必担心旋转的磁盘或读/写磁头,所以其访问等待时间比HDD的访问等待时间要短。
为了通过重新排序数据传送请求来实现更高的性能,已经引入诸如原生命令排队(Native Command Queuing,NCQ)的排队技术(例如,在串行ATA(Advanced Technology Attachment,高级技术附件)HDD中使用)来允许对读和写命令执行顺序进行优化。用于SSD的排队的一个优点在于,多个命令能够被传送到设备从而使得在设备完成一组命令时不会被阻塞。还存在得益于让尽可能多的数据进行传送的大规模并行的实现。
主机控制器接口(例如,用于串行ATA(SATA)设备的高级主机控制器接口(AHCI),或用于闪速存储器存储设备的非易失性存储器主机控制器接口(NVMHCI))是一种硬件装置,其允许软件通过系统存储器结构与设备(例如主机总线适配器)进行通信,以便利用诸如NCQ这样的技术。
许多现代操作系统,例如MicrosoftWindowsBerkeley SoftwareDistribution(BSD,有时被称为Berkeley Unix)和Linux为诸如AHCI这样的主机控制器接口提供支持,但是这种接口可能仅仅支持命令队列中有限数量的(即,32个)未执行(in-flight)命令,并且对于每个完成的请求可能产生系统中断。通常,许多请求或命令能够容易地被一起满足和完成,并且随着设备性能的提高,它们能够具有处理更多命令的能力。另一方面,SCSI协议可以允许对多达264个命令进行排队,但是支持这种长队列的实现可能花费昂贵,并且协议开销会明显大于AHCI中的协议开销。
迄今为止,还没有完全研究出用于为较大数量的存储设备传送请求进行服务的更有效的方法、结构和系统。
附图说明
本发明以示例的方式说明并且不受限于附图的图示。
图1示出了用于用单个命令请求多个不连续地址范围的存储设备传送的系统的一个实施例。
图2示出了用于用单个命令请求多个不连续地址范围的存储设备传送处理的一个实施例的流程图。
图3示出了用于用单个命令请求多个不连续地址范围的存储设备传送处理的一个可替代的实施例的流程图。
图4a示出了用于说明存储设备传送的地址范围的数据结构的一个实施例。
图4b示出了包括不连续地址范围的已标记传送命令和已标记命令列表的命令表数据结构的一个实施例。
图4c示出了用于说明存储设备已标记传送命令的数据结构的一个实施例。
图4d示出了用于说明存储设备已标记传送命令的数据结构的一个可替代的实施例。
图4e示出了用于说明存储设备命令头的数据结构的一个实施例,该存储设备命令头包括存储器中的命令表的基地址和不连续的地址范围的已标记命令列表的偏移量。
图4f示出了用于说明包括多个命令头的存储设备命令队列的数据结构的一个实施例。
图4g示出了用于说明存储设备已标记传送命令的数据结构的一个可替代的实施例。
具体实施方式
以下公开用于在单个命令内对多个不连续地址范围的传送进行排队的方法和系统。在一些实施例中,该系统可以包括:一个或更多个系统处理器、用以存储数据和可执行软件的系统存储器,和用以接收存储在系统存储器中的传送命令的存储设备。在一些实施例中,当存储在系统存储器中的主机控制器接口驱动器(例如用于串行ATA(高级技术附件)设备的高级主机控制器接口(AHCI),或用于NAND闪速存储器存储设备的非易失性存储器主机控制器接口(NVMHCI))由一个或更多个系统处理器执行时,可以从存储设备传送请求中收集多个不连续的地址范围,并针对每个不连续的地址范围将起始地址和要传送的数据的数量记录在已标记命令列表中。还可以将在已标记的命令列表中的不连续的地址范围的数目的计数和在已标记传送的操作码记录在一命令中,并且将该命令和已标记的命令列表存储到存储设备的系统存储器中的命令表中。可以将命令表的存储器基地址和已标记命令列表的偏移量(offset)记录在命令头中,其被按照特定的主机控制器接口存储在命令队列中。在一些替代实施例中,以主机-设备寄存器FIS(帧信息结构),可以将已标记传送命令按照物理传送机制(例如,与在诸如,ATAPI(ATA分组接口)命令和/或SATA NCQ命令这样的SATA命令中一样)传递给存储设备。已标记传送命令可以指示存储了多个不连续地址范围的已标记命令列表的可用性,存储设备可以要求其作为数据FIS(即,一个数据分组或多个数据分组)。
由此,用单个命令对多个不连续地址范围的传送进行排队可以提供更有效和成本节省的方法、结构和系统,以服务更大数量的存储设备传送请求。
在以下的描述中,阐述了很多具体细节。然而,应该理解的是,可以在没有这些具体细节的情况下实践本发明的实施例。在其它情况下,没有详细地示出公知的电路、结构和技术以免模糊对本说明书的理解。可以按照如下教导来实现本发明的这些以及其它实施例,并且显然,在不脱离本发明的更广的精神和范围的情况下,可以在下列教导中做出各种修改和改变。因此,本说明书和附图应被视为是举例说明,而不是限制性的意义,并且应仅仅按照权利要求及其等价物来衡量本发明。
图1示出了用单个命令请求多个不连续地址范围的存储设备传送的系统101的一个实施例。系统101包括多个系统处理器:中央处理器111、存储器控制处理器112、I/O控制处理器113、图形处理器114,也可以包括DMA(直接存储器存取)处理器。此外系统101包括一些存储设备,诸如SSD 120、磁盘驱动器121、PCI(外设部件互连)和/或PCI-E(PCI Express)设备122和/或闪速存储器存储设备126。系统101还包括用以存储数据和可执行软件的系统存储器115、以及音频I/O 123、通用串行总线I/O 124、局域网I/O 125、BIOS 117、键盘接口118和鼠标接口119。诸如SSD 120、磁盘驱动器121、PCI设备122和/或闪速存储器存储设备126这样的存储设备可以与系统存储器115耦合来接收存储在系统存储器115中的传送命令,以响应于存储设备传送请求而向各个地址范围传送数据以及从各个地址范围传送数据。
系统存储器115还存储处理器可执行的主机控制器接口驱动器116。在系统101的一些实施例中,驱动器116可以包括用于SATA设备(例如在SSD 120或磁盘驱动器121中)的AHCI驱动器,和/或用于NAND闪速存储器存储设备(例如闪速存储器存储设备126)的NVMHCI。当由一个或更多个系统处理器执行时,驱动器116可以使得一个或更多个系统处理器从对应的存储设备传送请求收集多个不连续的地址范围,并将每个不连续地址范围的起始地址和要传送的数据的数量记录在已标记命令列表中。执行驱动器116的系统处理器还可以在命令中记录已标记传送操作码,并且在已标记命令列表中记录不连续地址范围的数目,该命令和该已标记命令列表都被存储在特定存储设备的系统存储器115中的命令表中。系统存储器115中的命令表的基地址和已标记命令列表的偏移量可以被记录在该存储设备的命令队列中存储的多个命令头中的一个命令头中。
可以理解的是,可以根据本文描述的处理过程来使用系统101,以对每个已标记传送命令请求存储设备传送已标记命令列表中的多个不连续地址范围。
图2示出了用单个命令请求多个不连续地址范围的存储设备传送的处理过程201的一个实施例的流程图。处理过程201以及本文公开的其它处理过程由处理框执行,该处理模块可以包括专用硬件或软件或固件操作码,他们包含在机器可读介质中并可由通用机器或由专用机器或由两者的组合来执行。
在处理框211中,从对应的存储设备传送请求中识别多个不连续地址范围的列表。在处理框213中,通过主机控制器接口发送单个命令以请求存储设备传送多个不连续地址范围的列表。处理过程201的一些实施例提供了已标记传送命令,以用于以主机-设备寄存器FIS按照物理传送机制(例如,与在诸如ATAPI命令和/或SATA NCQ命令这样的SATA命令中一样)与存储设备进行通信。已标记传送命令可以指示存储了多个不连续地址范围的已标记命令列表的可用性。然后,存储设备可以请求或DMA已标记命令列表作为数据FIS(即,一个或多个数据分组)。接下来,在处理框215中,处理过程201等待所请求的数据传送完成,并且当完成时,处理就进行到处理框217。在处理框217中,对应于请求存储设备传送多个不连续地址范围的列表的单个命令的完成,接收单个中断。然后,在处理框219中服务单个中断。
图3示出了用单个命令请求多个不连续地址范围的存储设备传送的处理过程301的一个替代实施例的流程图。在处理框311中,从相应的存储设备传送请求中识别多个不连续地址范围的列表。在处理框312中,对于已识别的不连续地址范围的列表中的每一个不连续地址范围,在已标记命令列表中记录起始地址和要传送的数据的数量。在处理框313中,在已标记命令列表中的不连续地址范围的数目的计数以及已标记传送操作码都被记录在单个命令中,该命令与已标记命令列表一起被存储在存储器中的命令表中。在处理框314中,在存储器中的命令表的基地址和已标记命令列表的偏移量可以被记录在存储在命令队列中的命令头中。
在处理框315中,处理301等待请求的传送完成,并且在完成后处理就进行到处理框317。在处理框317中,对应于请求存储设备传送多个不连续地址范围的列表的单个命令的完成,接收单个中断。接着在处理框319中,服务单个中断。
可以理解的是,请求存储设备按照特定主机控制器接口进行传送的另外的细节可以在该特定主机控制器接口的对应的已公布规范中找到(例如,从英特尔公司的网站上可获得的“Serial ATA Advanced Host Controller Interface(AHCI)1.3”或“Serial ATA International Organization:Serial ATA Revision 2.6”或“Non-Volatile Memory Host Controller Interface(NVMHCI)1.0”)。
图4a示出了包括用于指定的32位字段的序列和用于存储设备传送的地址范围401的数据结构的一个实施例。地址范围401包括LBA或起始扇区地址411a和411b,和要传送的数据扇区的数量412。如处理框312所描述的,地址范围401可以被记录在已标记命令列表中。可以理解的是,这种已标记命令列表可以表示一种散布/集中列表。典型的散布/集中列表可以用于从物理地址到虚拟地址或从虚拟地址到物理地址,已标记命令列表将多个读或多个写与散布的逻辑地址映射组合为一条命令,诸如如下所述的命令403、404或408。
图4b示出了命令表数据结构402的一个实施例,该命令表数据结构402包括适当长度(例如达到32或64字节)的已标记传送命令421,并且还包括不连续地址范围(例如类似于地址范围401)的已标记命令列表423。可以理解的是,命令表数据结构402也可以包括其它数据部分和/或表,比如,如由主机控制器接口所定义的物理区域描述符(PRD)表422、元数据、PRD索引等。按照处理框313,命令表数据结构402可以被存储在存储器(例如系统存储器115)中。
图4c示出了包括用于指定存储设备已标记传送命令403的32位字段的序列的数据结构的一个实施例,其包括已标记命令列表中的不连续地址范围的数目的计数432和已标记传送操作码431。按照处理框313,已标记传送命令403可以存储在命令表(例如命令表数据结构402)中。可以理解的是,各种已标记传送操作码431可以用于读取或写入,并且如由主机控制器接口(例如AHCI和/或NVMHCI)或由总线接口(例如SATA)所规定的,命令403也可以包括存储地址数据、参数、属性等的其它字段。
图4d示出了包括用于规定存储设备已标记传送命令404的32位字段的序列的数据结构的一个可替代的实施例,其包括已标记命令列表中不连续地址范围的数目的计数442和已标记传送操作码441。在命令404的实施例中,已标记命令列表中不连续地址范围的数目的计数442可以替换现有主机控制器接口的先前规定的字段(例如,扇区的总数)。
图4e示出了用于规定存储设备命令头450的数据结构405的一个实施例,该存储设备命令头450包括32位字段的序列,这些字段包括存储器(例如系统存储器115)中的命令表(例如命令表数据结构402)的基地址451a和451b以及不连续地址范围(例如地址范围401)的已标记命令列表(例如已标记命令列表423)的偏移量452。按照处理框314,命令头450可以被存储在存储器中。
图4f示出了用于规定存储设备命令队列406的数据结构407的一个实施例,该存储设备命令队列406包括多个命令头460-463(例如命令头450),其标识相应的命令表470-473(例如命令表数据结构402)并且可以被按照处理框314进行存储。通过端口寄存器465可以为存储设备标识命令队列406在存储器(例如系统存储器115)中的基地址。也可以通过端口寄存器466标识存储器中的另外的基地址。
图4g示出了包括用于规定存储设备已标记传送命令408的分组的8位寄存器的序列的数据结构的一个替代实施例,其包括已标记命令列表中不连续地址范围的数目的计数482和已标记传送操作码481。在命令408的一些实施例中,针对DMA可以指定已标记命令列表地址/偏移量483a-c或483a-f(例如,根据已定义的PRD或命令表),来替代现有总线接口(例如像SATA ATAPI和/或SATA NCQ)的线性区块地址(LBA)。
以上描述意在说明本发明的优选实施例。根据上面的讨论,另外显而易见的是,特别是在这种发展很快并且不容易预见进一步改进的技术领域中,在所附权利要求及其等价物的范围内,本领域技术人员可以在不脱离本发明原理的情况下修改本发明的结构和细节。
Claims (14)
1.一种用于对与单个命令相关联的多个传送进行排队的方法,所述方法包括:
通过主机控制器接口向存储设备发送单个命令,所述单个命令用于请求所述存储设备传送多个不连续地址范围,其中,将记录在已标记命令列表中的所述多个不连续地址范围的数目的计数和已标记传送操作码记录在所述单个命令中,所述单个命令和所述已标记命令列表被存储在存储器中的命令表中,并且将所述存储器中的所述命令表的基地址和所述已标记命令列表的偏移量记录在命令头中,所述命令头是存储在命令队列中的多个命令头中之一;以及
在所述多个不连续地址范围的传送结束时接收单个中断。
2.如权利要求1所述的方法,其中所述主机控制器接口是串行ATA(高技术配置)总线接口。
3.如权利要求1所述的方法,其中所述主机控制器接口是高级主机控制器接口(AHCI)。
4.如权利要求3所述的方法,其中所述主机控制器接口用于串行ATA(高技术配置)存储设备。
5.如权利要求1所述的方法,其中所述主机控制器接口是非易失性存储器主机控制器接口(NVMHCI)。
6.如权利要求1所述的方法,还包括:
为所述多个不连续地址范围中的每一个不连续地址范围,在所述已标记命令列表中记录起始地址和要传送的数据的数量。
7.如权利要求6所述的方法,其中所述主机控制器接口是串行ATA(高技术配置)接口并且所述方法还包括:
至少根据记录的基地址,所述已标记命令列表的所述偏移量,并且根据所记录的不连续地址范围的数目的计数,为所述串行ATA总线接口生成命令分组。
8.如权利要求6所述的方法,其中所述命令队列用于高级主机控制器接口(AHCI)。
9.如权利要求6所述的方法,其中所述命令队列用于非易失性存储器主机控制器接口(NVMHCI)。
10.一种用于请求传送存储设备中的多个不连续地址范围的装置,该装置包括:
用于为所述多个不连续地址范围中的每一个不连续地址范围,在已标记命令列表中记录起始地址和要传送的数据的数量的模块;
用于将记录在所述已标记命令列表中的不连续地址范围的数目的计数和已标记传送操作码记录在一单个命令中的模块,其中,所述单个命令是通过主机控制器接口向所述存储设备发送的,所述命令和所述已标记命令列表被存储在存储器中的命令表中;以及
用于将存储器中的所述命令表的基地址和所述已标记命令列表的偏移量记录在一命令头中的模块,所述命令头是存储在命令队列中的多个命令头中之一。
11.如权利要求10所述的装置,还包括:
用于至少根据记录的基地址,所述已标记命令列表的所述偏移量,并且根据所记录的不连续地址范围的数目的计数,为串行ATA总线接口生成命令分组的模块。
12.如权利要求10所述的装置,其中所述主机控制器接口用于高级主机控制器接口(AHCI)。
13.如权利要求10所述的装置,其中所述主机控制器接口用于非易失性存储器主机控制器接口(NVMHCI)。
14.如权利要求10所述的装置,其中所述主机控制器接口用于串行ATA(高技术配置)存储设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/342,065 US9128699B2 (en) | 2008-12-22 | 2008-12-22 | Method and system for queuing transfers of multiple non-contiguous address ranges with a single command |
US12/342,065 | 2008-12-22 | ||
PCT/US2009/067031 WO2010074944A2 (en) | 2008-12-22 | 2009-12-07 | Method and system for queuing transfers of multiple non-contiguous address ranges with a single command |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102171649A CN102171649A (zh) | 2011-08-31 |
CN102171649B true CN102171649B (zh) | 2015-04-08 |
Family
ID=42267799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980139230.3A Expired - Fee Related CN102171649B (zh) | 2008-12-22 | 2009-12-07 | 用于用单个命令对多个不连续地址范围的传送进行排队的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9128699B2 (zh) |
EP (1) | EP2361404B1 (zh) |
JP (1) | JP2012508428A (zh) |
KR (1) | KR101245011B1 (zh) |
CN (1) | CN102171649B (zh) |
WO (1) | WO2010074944A2 (zh) |
Families Citing this family (113)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533384B2 (en) | 2007-12-27 | 2013-09-10 | Sandisk Enterprise Ip Llc | Flash memory controller garbage collection operations performed independently in multiple flash memory groups |
US9128699B2 (en) | 2008-12-22 | 2015-09-08 | Intel Corporation | Method and system for queuing transfers of multiple non-contiguous address ranges with a single command |
US8725977B2 (en) * | 2010-02-17 | 2014-05-13 | Seagate Technology Llc | NVMHCI attached hybrid data storage |
TWI465905B (zh) | 2010-09-22 | 2014-12-21 | Toshiba Kk | 記憶體系統、主機控制器、及直接記憶體存取之控制方法 |
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 |
US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
US8909982B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
CN102243617B (zh) * | 2011-07-08 | 2014-01-01 | 福建星网锐捷网络有限公司 | 读/写处理方法、设备及系统 |
US9134909B2 (en) | 2011-08-30 | 2015-09-15 | International Business Machines Corporation | Multiple I/O request processing in a storage system |
US8984182B2 (en) | 2011-10-06 | 2015-03-17 | Marvell International Ltd. | SCSI I/O command aggregation |
US8918554B2 (en) * | 2011-10-06 | 2014-12-23 | Marvell International Ltd. | Method and apparatus for effectively increasing a command queue length for accessing storage |
US8793543B2 (en) | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US8713204B2 (en) | 2011-12-27 | 2014-04-29 | Apple Inc. | High-performance AHCI interface |
US20130173842A1 (en) * | 2011-12-28 | 2013-07-04 | King Ying Ng | Adaptive Logical Group Sorting to Prevent Drive Fragmentation |
US8990477B2 (en) * | 2012-04-19 | 2015-03-24 | Sandisk Technologies Inc. | System and method for limiting fragmentation |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9032184B2 (en) * | 2012-09-14 | 2015-05-12 | HGST Netherlands B.V. | Implementing drive list mode for reads and writes for hard disk drives |
US10049061B2 (en) * | 2012-11-12 | 2018-08-14 | International Business Machines Corporation | Active memory device gather, scatter, and filter |
KR101988287B1 (ko) * | 2012-11-26 | 2019-06-12 | 삼성전자주식회사 | 저장 장치 및 그것을 포함하는 컴퓨팅 시스템, 및 그것의 데이터 전송 방법 |
KR101993187B1 (ko) | 2012-11-26 | 2019-06-27 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
CN103403667A (zh) * | 2012-12-19 | 2013-11-20 | 华为技术有限公司 | 数据处理方法和设备 |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9971710B2 (en) | 2013-02-07 | 2018-05-15 | Microsoft Technology Licensing, Llc | Optimizing data transfers between heterogeneous memory arenas |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9128634B1 (en) | 2013-03-11 | 2015-09-08 | Marvell International Ltd. | Systems and methods of packed command management for non-volatile storage devices |
US20140281147A1 (en) * | 2013-03-13 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory system |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
TWI506430B (zh) * | 2013-03-20 | 2015-11-01 | Phison Electronics Corp | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
CN104346285B (zh) * | 2013-08-06 | 2018-05-11 | 华为技术有限公司 | 内存访问处理方法、装置及系统 |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9141563B2 (en) | 2013-09-11 | 2015-09-22 | Kabushiki Kaisha Toshiba | Memory system |
US9513869B2 (en) | 2013-09-18 | 2016-12-06 | HGST Netherlands B.V. | Doorbell-less endpoint-initiated protocol for storage devices |
US9778859B2 (en) | 2013-09-18 | 2017-10-03 | Western Digital Technologies, Inc. | Doorless protocol having multiple queue read requests in flight |
US9535870B2 (en) | 2013-09-18 | 2017-01-03 | HGST Netherlands B.V. | Acknowledgement-less protocol for solid state drive interface |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US10977201B1 (en) * | 2013-11-13 | 2021-04-13 | Avago Technologies International Sales Pte. Limited | Per IO direct memory access redirection |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9497889B2 (en) | 2014-02-27 | 2016-11-15 | Sandisk Technologies Llc | Heat dissipation for substrate assemblies |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US9384830B2 (en) | 2014-05-06 | 2016-07-05 | Micron Technology, Inc. | Apparatuses and methods for performing multiple memory operations |
CN103942162B (zh) * | 2014-05-14 | 2020-06-09 | 清华大学 | 在存储器中进行多访问的方法、装置和存储系统 |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US9881680B2 (en) | 2014-06-03 | 2018-01-30 | Qualcomm Incorporated | Multi-host power controller (MHPC) of a flash-memory-based storage device |
US9632953B2 (en) * | 2014-06-03 | 2017-04-25 | Qualcomm Incorporated | Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers |
US9690720B2 (en) | 2014-06-03 | 2017-06-27 | Qualcomm Incorporated | Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device |
US9720860B2 (en) | 2014-06-06 | 2017-08-01 | Toshiba Corporation | System and method for efficient processing of queued read commands in a memory system |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9952805B2 (en) | 2014-09-11 | 2018-04-24 | Hitachi, Ltd. | Storage system and data write method using a logical volume to either store data successfully onto a first memory or send a failure response to a server computer if the storage attempt fails |
CN104731839B (zh) * | 2014-10-08 | 2018-04-27 | 记忆科技(深圳)有限公司 | 一种ssd的前端数据管理加速的方法及一种ssd设备 |
CN105426322B (zh) * | 2015-12-31 | 2019-05-28 | 华为技术有限公司 | 一种数据的预取方法及装置 |
DE112018000247T5 (de) * | 2017-03-24 | 2019-09-12 | Western Digital Technologies, Inc. | System und verfahren zur lokalitätserkennung zum identifizieren von lese- oderschreibströmen in einer speichervorrichtung |
TWI636363B (zh) * | 2017-08-08 | 2018-09-21 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行動態資源管理之方法以及記憶裝置及其控制器 |
US10761775B2 (en) * | 2018-02-09 | 2020-09-01 | Samsung Electronics Co., Ltd. | System and method for NVMe inter command association in SSD storage using a bridge device |
CN111736779B (zh) * | 2018-04-25 | 2022-01-11 | 上海忆芯实业有限公司 | Nvm接口命令的优化执行方法与装置 |
US11726704B2 (en) | 2020-03-31 | 2023-08-15 | Kioxia Corporation | Buffer optimization for solid-state drives |
CN113064550A (zh) * | 2021-03-19 | 2021-07-02 | 珠海市一微半导体有限公司 | 一种缩短外部存储器访问时间的控制装置及控制方法 |
US11934303B2 (en) * | 2022-05-12 | 2024-03-19 | Micron Technology, Inc. | Atomic write operations |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6029226A (en) * | 1996-09-30 | 2000-02-22 | Lsi Logic Corporation | Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5911135B2 (ja) | 1979-01-17 | 1984-03-13 | 株式会社日立製作所 | デ−タ処理システムのデ−タ転送方式 |
JP3132056B2 (ja) | 1991-07-17 | 2001-02-05 | いすゞ自動車株式会社 | 導電性砥粒及び電解砥石の製造方法 |
JPH10296636A (ja) | 1997-04-30 | 1998-11-10 | Mitsubishi Materials Corp | メタルボンド砥石 |
JPH10310840A (ja) | 1997-05-12 | 1998-11-24 | Sumitomo Electric Ind Ltd | 超硬質複合部材とその製造方法 |
JPH11338644A (ja) | 1998-05-22 | 1999-12-10 | Hitachi Ltd | ディスク制御装置及び記憶装置 |
JP4330200B2 (ja) | 1999-02-24 | 2009-09-16 | 住友電気工業株式会社 | ナビゲーション装置 |
JP2001154811A (ja) | 1999-11-30 | 2001-06-08 | Toshiba Corp | 計算機システム |
JP2001209500A (ja) * | 2000-01-28 | 2001-08-03 | Fujitsu Ltd | ディスク装置およびディスク装置のリード・ライト処理方法 |
US6826650B1 (en) | 2000-08-22 | 2004-11-30 | Qlogic Corporation | Disk controller configured to perform out of order execution of write operations |
US6973484B1 (en) * | 2000-12-29 | 2005-12-06 | 3Pardata, Inc. | Method of communicating data in an interconnect system |
JP2002269560A (ja) | 2001-03-06 | 2002-09-20 | Seiko Epson Corp | テンプレートマッチング方法、それを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体、テンプレートマッチング装置、位置決め装置および実装装置 |
US6901461B2 (en) * | 2002-12-31 | 2005-05-31 | Intel Corporation | Hardware assisted ATA command queuing |
US7512722B2 (en) * | 2003-07-31 | 2009-03-31 | International Business Machines Corporation | Method for completing a plurality of chained list DMA commands that include a fenced list DMA command element |
US7328304B2 (en) * | 2004-02-27 | 2008-02-05 | Intel Corporation | Interface for a block addressable mass storage system |
US7105430B2 (en) * | 2004-03-26 | 2006-09-12 | Freescale Semiconductor, Inc. | Method for forming a semiconductor device having a notched control electrode and structure thereof |
US7698473B2 (en) | 2005-01-05 | 2010-04-13 | Sony Computer Entertainment Inc. | Methods and apparatus for list transfers using DMA transfers in a multi-processor system |
JP4993061B2 (ja) | 2005-03-16 | 2012-08-08 | ヤマハ発動機株式会社 | 最適化装置、最適化方法および最適化プログラム |
US7568056B2 (en) | 2005-03-28 | 2009-07-28 | Nvidia Corporation | Host bus adapter that interfaces with host computer bus to multiple types of storage devices |
JP2006338371A (ja) | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
US7376782B2 (en) * | 2005-06-29 | 2008-05-20 | Intel Corporation | Index/data register pair for indirect register access |
US7805543B2 (en) * | 2005-06-30 | 2010-09-28 | Intel Corporation | Hardware oriented host-side native command queuing tag management |
CN100373362C (zh) * | 2005-12-22 | 2008-03-05 | 北京中星微电子有限公司 | 直接存储访问控制器 |
US8275942B2 (en) * | 2005-12-22 | 2012-09-25 | Intel Corporation | Performance prioritization in multi-threaded processors |
JP2008033721A (ja) * | 2006-07-31 | 2008-02-14 | Matsushita Electric Ind Co Ltd | Dma転送制御装置 |
JP2008117195A (ja) | 2006-11-06 | 2008-05-22 | Hitachi Ltd | 半導体記憶装置 |
JP2008140142A (ja) | 2006-12-01 | 2008-06-19 | Fuji Xerox Co Ltd | 情報処理システム |
US20090150894A1 (en) * | 2007-12-10 | 2009-06-11 | Ming Huang | Nonvolatile memory (NVM) based solid-state disk (SSD) system for scaling and quality of service (QoS) by parallelizing command execution |
US9128699B2 (en) | 2008-12-22 | 2015-09-08 | Intel Corporation | Method and system for queuing transfers of multiple non-contiguous address ranges with a single command |
-
2008
- 2008-12-22 US US12/342,065 patent/US9128699B2/en active Active
-
2009
- 2009-12-07 KR KR1020117007703A patent/KR101245011B1/ko not_active IP Right Cessation
- 2009-12-07 WO PCT/US2009/067031 patent/WO2010074944A2/en active Application Filing
- 2009-12-07 JP JP2011536629A patent/JP2012508428A/ja active Pending
- 2009-12-07 CN CN200980139230.3A patent/CN102171649B/zh not_active Expired - Fee Related
- 2009-12-07 EP EP09835500.1A patent/EP2361404B1/en not_active Not-in-force
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6029226A (en) * | 1996-09-30 | 2000-02-22 | Lsi Logic Corporation | Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command |
Also Published As
Publication number | Publication date |
---|---|
KR101245011B1 (ko) | 2013-03-19 |
JP2012508428A (ja) | 2012-04-05 |
US9128699B2 (en) | 2015-09-08 |
US20100161936A1 (en) | 2010-06-24 |
WO2010074944A3 (en) | 2010-09-16 |
EP2361404B1 (en) | 2018-05-16 |
EP2361404A4 (en) | 2012-05-30 |
KR20110053261A (ko) | 2011-05-19 |
CN102171649A (zh) | 2011-08-31 |
EP2361404A2 (en) | 2011-08-31 |
WO2010074944A2 (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102171649B (zh) | 用于用单个命令对多个不连续地址范围的传送进行排队的方法和系统 | |
JP7089830B2 (ja) | 不揮発性メモリデータの書き込み管理のための装置、システム、及び、方法 | |
EP3274806B1 (en) | Sequential write stream management | |
JP5128079B2 (ja) | ユニバーサルストレージバスアダプタ | |
EP2849076B1 (en) | Dma transmission method and system | |
US9304938B2 (en) | Storage device and data transferring method thereof | |
JP4917174B2 (ja) | 制御装置と通信するように構成されたホスト・コンピュータ・システムにおける入出力(i/o)操作用の入出力処理を容易にするためのコンピュータ・プログラム、装置、および方法 | |
US8924659B2 (en) | Performance improvement in flash memory accesses | |
KR101663066B1 (ko) | 하이브리드 디바이스에서의 고체 상태 메모리 커맨드 큐 | |
JP6102032B2 (ja) | ストレージにアクセスするためのコマンドキュー長を効率的に増やす方法及び装置 | |
US20120221809A1 (en) | Storage apparatus and data processing method of the same | |
US7376786B2 (en) | Command stack management in a disk drive | |
KR102366512B1 (ko) | 논리 블록 어드레싱 범위 충돌 크롤러 | |
EP3182267A1 (en) | Method and device for isolating disk regions | |
US20060277326A1 (en) | Data transfer system and method | |
WO2022067686A1 (zh) | 一种应用于固态硬盘ssd的数据读取方法及相关装置 | |
US8667188B2 (en) | Communication between a computer and a data storage device | |
JP6200100B2 (ja) | 計算機システム | |
EP4033346B1 (en) | Affinity-based cache operation for a persistent storage device | |
KR20110017234A (ko) | 플래시 저장장치와 일체로 형성되는 광 디스크 장치, 및 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150408 Termination date: 20181207 |