《修改命令.pdf》由会员分享,可在线阅读,更多相关《修改命令.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102317928A43申请公布日20120111CN102317928ACN102317928A21申请号200980156842322申请日2009123012/351,20620090109USG06F13/16200601G06F9/30200601G06F12/0020060171申请人美光科技公司地址美国爱达荷州72发明人迈赫迪阿斯纳阿沙里74专利代理机构北京律盟知识产权代理有限责任公司11287代理人宋献涛54发明名称修改命令57摘要本发明包括用于修改命令的方法、装置、模块及系统。一个装置实施例包括存储器控制器,所述存储器控制器包括通道,其中所述通道包括经配置以。
2、保持命令的命令队列及经配置以修改所述队列中的至少若干个命令且执行所述经修改命令的电路。30优先权数据85PCT申请进入国家阶段日2011081586PCT申请的申请数据PCT/US2009/0067412009123087PCT申请的公布数据WO2010/080142EN2010071551INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书5页说明书9页附图4页CN102317935A1/5页21一种存储器控制器,其包含通道,其中所述通道包括命令队列,其经配置以保持命令;及电路,其经配置以修改所述队列中的至少若干个命令;及执行所述经修改命令。2根据权利要求1所述的存储器控制器。
3、,其中经配置以修改至少若干个命令的电路包含经配置以在所述若干个命令保持于所述队列中时修改所述若干个命令的电路。3根据权利要求1所述的存储器控制器,其中经配置以修改至少若干个命令的电路包含经配置以改变所述队列中的命令保持于所述队列中的次序的电路。4根据权利要求3所述的存储器控制器,其中经配置以执行所述经修改命令的电路包含经配置以根据所述已改变次序执行所述队列中的命令的电路。5根据权利要求1到4中任一权利要求所述的存储器控制器,其中所述电路进一步经配置以确定是否可修改所述队列中的命令。6根据权利要求1所述的存储器控制器,其中经配置以修改至少若干个命令的电路包含以下电路中的至少一者经配置以在可将所述。
4、队列中的若干个命令组合成一命令的情况下修改所述队列中的所述若干个命令的电路;或经配置以在所述队列中的若干个命令将被所述队列中的另一命令盖写的情况下修改所述队列中的所述若干个命令的电路。7根据权利要求6所述的存储器控制器,其中经配置以在可将所述队列中的若干个命令组合成一命令的情况下修改所述队列中的所述若干个命令的电路包含经配置以在可将所述队列中的若干个命令组合成单个命令的情况下修改所述队列中的所述若干个命令的电路。8根据权利要求6所述的存储器控制器,其中经配置以在可将所述队列中的若干个命令组合成一命令的情况下修改所述队列中的所述若干个命令的电路包含以下电路中的至少一者经配置以将若干个重叠命令组合。
5、成一命令的电路;或经配置以将若干个顺序命令组合成一命令的电路。9根据权利要求6到8中任一权利要求所述的存储器控制器,其中经配置以在所述队列中的若干个命令将被所述队列中的另一命令盖写的情况下修改所述队列中的所述若干个命令的电路包含经配置以进行以下操作的电路确定所述队列中的一命令是否将被所述队列中的另一个命令盖写;及删除将被所述另一个命令盖写的所述命令。10根据权利要求1到4中任一权利要求所述的存储器控制器,其中所述电路包括以下各项中的至少一者处理器;或专用集成电路。11一种存储器控制器,其包含权利要求书CN102317928ACN102317935A2/5页3通道,其中所述通道包括命令队列,其经。
6、配置以保持若干个命令;及处理器,其经配置以执行选自包括以下各项的功能群组的若干个功能改变将命令保持于所述队列中的次序;将所述队列中的若干个可组合命令组合成一命令;及删除所述队列中的将被所述队列中的另一个命令盖写的命令。12根据权利要求11所述的存储器控制器,其中经配置以执行选自所述功能群组的若干个功能的处理器包含经配置以执行选自所述功能群组的一个或一个以上功能的处理器。13根据权利要求11所述的存储器控制器,其中可组合命令包括重叠命令;及顺序命令。14根据权利要求11到13中任一权利要求所述的存储器控制器,其中所述通道为后端通道;且所述存储器控制器包括前端通道,其中所述前端通道包括命令调度程序。
7、;且所述命令调度程序经配置以将若干个命令发送到所述后端通道;且所述队列经配置以按所述命令调度程序将命令发送到所述后端通道的次序保持所述命令。15根据权利要求14所述的存储器控制器,其中所述队列经配置以保持等于所述命令调度程序可保持的命令的数目的数目个命令。16根据权利要求14所述的存储器控制器,其中所述命令调度程序经配置以从主机接收若干个命令;及按所述命令调度程序从所述主机接收所述命令的次序将所述命令发送到所述后端通道。17根据权利要求16所述的存储器控制器,其中所述前端通道包括命令处理器;且所述命令处理器经配置以执行选自包括以下各项的功能群组的若干个功能改变所述命令调度程序将命令发送到所述后。
8、端通道的所述次序;将所述命令调度程序从所述主机接收的若干个可组合命令组合成一命令;及删除所述命令调度程序从所述主机接收的将被所述命令调度程序从所述主机接收的另一个命令盖写的命令。18根据权利要求17所述的存储器控制器,其中所述命令处理器经配置以在所述命令调度程序不能够从所述主机接收命令时执行所述若干个功能。19根据权利要求18所述的存储器控制器,其中所述命令处理器经配置以在所述命令调度程序已满时执行所述若干个功能。20根据权利要求14所述的存储器控制器,其中所述前端通道包括命令处理器;且所述命令处理器经配置以确定是否不对所述命令调度程序中所保持的命令执行所述功能群组中的所述功能;及权利要求书C。
9、N102317928ACN102317935A3/5页4标记所述命令调度程序中所保持的不对其执行所述功能群组中的所述功能的命令。21根据权利要求20所述的存储器控制器,其中所述处理器经配置以不对经标记命令执行所述功能群组中的所述功能。22一种存储器控制器,其包含若干个后端通道,其中所述若干个后端通道包括命令队列,其经配置以保持若干个命令;及处理器,其经配置以修改所述命令队列中的命令,其中修改所述命令包括执行选自包括以下各项的功能群组的若干个功能改变将命令保持于所述队列中的次序;将所述队列中的重叠命令组合成一命令;将所述队列中的顺序命令组合成一命令;及删除所述队列中的将被所述队列中的另一个命令盖。
10、写的命令;及根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令。23根据权利要求22所述的存储器控制器,其中经配置以保持若干个命令的命令队列包含经配置以保持若干个读取命令的命令队列,其中所述若干个读取命令包括用以读取响应于先前读取命令先前所读取的存储于存储器阵列中的若干个存储器单元上的数据的命令,且其中所述存储器控制器进一步经配置以在不存取所述阵列的情况下执行所述用以读取先前所读取的数据的命令。24根据权利要求23所述的存储器控制器,其中所述若干个后端通道包括经配置以保持所述先前所读取的数据的数据缓冲器,且其中所述处理器经配置以通过存取所述数据缓冲器来执行所述若干个读取命令中的至少一。
11、者的至少一部分。25根据权利要求22所述的存储器控制器,其中所述存储器控制器包括前端通道;且所述前端通道包括耦合到所述若干个后端通道的前端直接存储器存取DMA。26根据权利要求25所述的存储器控制器,其中所述若干个后端通道包括通道DMA;且所述前端DMA耦合到所述通道DMA。27根据权利要求22到26中任一权利要求所述的存储器控制器,其中所述若干个后端通道包括经配置以将所述存储器控制器耦合到若干个存储器阵列的接口。28一种用于操作存储器装置的方法,其包含修改保持于队列中的若干个命令,其中修改所述若干个命令包括执行选自包括以下各项的功能群组的若干个功能改变将命令保持于所述队列中的次序;将所述队列。
12、中的若干个可组合命令组合成一命令;及删除所述队列中的将被所述队列中的另一个命令盖写的命令;及根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令。29根据权利要求28所述的方法,其中改变将命令保持于所述队列中的次序包括按将执行所述命令的次序来排序所述命令;权利要求书CN102317928ACN102317935A4/5页5且根据将所述经修改命令保持于所述队列中的次序执行所述经修改命令包括根据将执行所述命令的所述次序来执行所述命令。30根据权利要求28所述的方法,其中将所述队列中的若干个可组合命令组合成一命令包括将所述队列中的若干个可组合命令组合成单个命令。31根据权利要求28所述的方法。
13、,其中组合所述若干个可组合命令包括组合重叠命令;及组合顺序命令。32根据权利要求28到31中任一权利要求所述的方法,其中所述方法包括在正执行所述经修改命令时在所述队列中接收额外命令;及在正执行所述经修改命令时修改所述额外命令。33根据权利要求28到31中任一权利要求所述的方法,其中执行所述经修改命令包括执行所述经修改命令以对存储器阵列进行操作。34一种用于操作存储器装置的方法,其包含将保持于队列中的若干个可组合命令组合成一命令,借此避免部分页编程操作。35根据权利要求34所述的方法,其中将所述若干个可组合命令中的每一者与特定存储器单元页的一部分相关联。36根据权利要求34到35中任一权利要求所。
14、述的方法,其进一步包含执行所述经组合命令。37一种用于操作存储器装置的方法,其包含在位于存储器控制器的后端通道中的队列中接收若干个命令;修改所述队列中的所述若干个命令;及执行所述经修改命令。38根据权利要求37所述的方法,其中修改所述队列中的所述若干个命令包括改变所述若干个命令的次序;且执行所述经修改命令包括根据所述已改变次序执行所述若干个命令。39根据权利要求37所述的方法,其中在所述队列中接收若干个命令包括接收与重叠逻辑块地址LBA相关联的若干个命令;且修改所述队列中的所述若干个命令包括将与重叠LBA相关联的所述若干个命令组合成单个命令。40根据权利要求37所述的方法,其中在所述队列中接收。
15、若干个命令包括接收与顺序逻辑块地址LBA相关联的若干个命令;且修改所述队列中的所述若干个命令包括将与顺序LBA相关联的所述若干个命令组合成单个命令。41根据权利要求37所述的方法,其中在所述队列中接收若干个命令包括接收与特定逻辑块地址LBA相关联的第一命令;及权利要求书CN102317928ACN102317935A5/5页6在所述第一命令之后接收与所述特定LBA相关联的第二命令;且修改所述队列中的所述若干个命令包括删除所述第一命令。42根据权利要求37到41中任一权利要求所述的方法,其中在所述队列中接收若干个命令包括从前端通道接收若干个命令。权利要求书CN102317928ACN102317。
16、935A1/9页7修改命令技术领域0001本发明一般来说涉及半导体存储器装置、方法及系统,且更特定来说涉及修改命令。背景技术0002通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包括易失性及非易失性存储器。易失性存储器可需要电力来维持其数据,且可包括随机存取存储器RAM、动态随机存取存储器DRAM及同步动态随机存取存储器SDRAM以及其它存储器。非易失性存储器可通过在不被供电时保留所存储的信息来提供永久性数据,且可包括NAND快闪存储器、NOR快闪存储器、只读存储器ROM、电可擦除可编程ROMEEPROM、可擦除可编程ROMEPROM及相变随机存取。
17、存储器PCRAM以及其它存储器。0003可将存储器装置组合在一起以形成固态驱动器SSD。SSD可包括非易失性存储器例如,NAND快闪存储器及NOR快闪存储器及/或可包括易失性存储器例如,DRAM及SRAM以及各种其它类型的非易失性及易失性存储器。0004SSD可用于取代硬盘驱动器作为计算机的主存储装置,因为SSD可在举例来说性能、大小、重量、耐用性、操作温度范围及功率消耗方面具有胜于硬驱动器的优点。举例来说,SSD在与磁盘驱动器比较时因其缺少移动部件而可具有优越的性能,缺少移动部件可改善与磁盘驱动器相关联的搜寻时间、等待时间及其它机电延迟。SSD制造商可使用非易失性快闪存储器来形成快闪SSD,。
18、所述快闪SSD可不使用内部电池电源,因此允许所述驱动器更通用且更小型。0005SSD可包括若干个存储器装置,例如若干个存储器芯片本文所用“若干个”某物可指代一个或一个以上此物,例如,若干个存储器装置可指代一个或一个以上存储器装置。所属领域的技术人员将了解,存储器芯片可包括若干个裸片。每一裸片可包括若干个存储器阵列及其上的外围电路。存储器阵列可包括若干个平面,其中每一平面包括若干个存储器单元物理块。每一物理块可包括可存储若干个数据扇区的若干个存储器单元页。0006在SSD的操作期间,可使用例如编程命令、读取命令及擦除命令等命令以及其它命令。举例来说,可使用编程例如,写入命令将数据编程于固态驱动器。
19、上,可使用读取命令读取固态驱动器上的数据,且可使用擦除命令擦除固态驱动器上的数据。附图说明0007图1图解说明根据本发明的一个或一个以上实施例的存储器系统的框图。0008图2图解说明可根据本发明的一个或一个以上实施例操作的存储器控制器的功能框图。0009图3图解说明根据本发明的一个或一个以上实施例的通道命令队列的框图。0010图4A及4B图解说明根据本发明的一个或一个以上实施例的通道命令队列的框说明书CN102317928ACN102317935A2/9页8图。具体实施方式0011本发明包括用于修改命令的方法、装置、模块及系统。一个装置实施例包括存储器控制器,所述存储器控制器包括通道,其中所述。
20、通道包括经配置以保持命令的命令队列及经配置以修改所述队列中的至少若干个命令且执行所述经修改命令的电路。0012在本发明的以下详细说明中,参照形成本发明的一部分且其中以图解说明方式显示可如何实践本发明的一个或一个以上实施例的附图。充分详细地描述这些实施例以使得所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可作出过程、电及/或结构改变,而不背离本发明的范围。如本文中所使用,标示符“N”及“M”特定来说关于图式中的参照编号指示本发明的一个或一个以上实施例可包括如此标示的特定特征的数目。所述标示符可表示相同数目个或不同数目个特定特征。0013本文中的图遵循以下编号惯例其中第一个。
21、数字或前几个数字对应于图式图编号,且其余数字识别图式中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,101可指代图1中的元件“10”,且类似元件在图2中可标号为201。如将了解,可添加、交换及/或消除本文中各种实施例中所示的元件以便提供本发明的若干个额外实施例。另外,如将了解,所述图中所提供的所述元件的比例及相对比例尺打算图解说明本发明的实施例而不应被视为具有限制意义。0014图1图解说明根据本发明的一个或一个以上实施例的存储器系统120的框图。在一个或一个以上实施例中,存储器系统120可为固态驱动器。图1的实施例图解说明存储器系统120的一个实施例的组件及架构。。
22、在图1中所图解说明的实施例中,存储器系统120包括控制器101、接口连接器103及存储器阵列1301、130N。在一个或一个以上实施例中,存储器系统120可包括用以装纳存储器系统120的外壳,但此外壳并非是基本的。0015可使用接口连接器103在存储器系统120与另一装置例如,计算装置之间传递信息。举例来说,当存储器系统120用于计算装置中的数据存储时,接口103可为串行高级技术附件SATA以及其它。0016控制器101可与存储器阵列1301、130N通信以在存储器阵列1301、130N上执行读取、编程例如,写入及擦除操作及其它操作。控制器101可用于管理存储器系统120中的操作。控制器101。
23、可具有可为若干个集成电路的电路。控制器101也可具有可为若干个离散组件的电路。对于一个或一个以上实施例,控制器101中的电路可包括用于控制跨越若干个存储器阵列的存取的控制电路。控制器101中的电路也可包括用于提供外部主机与存储器系统120之间的翻译层的控制电路。因此,存储器控制器可选择性地耦合存储器阵列的I/O连接未在图1中显示以在适当时间在适当I/O连接处接收适当信号。类似地,主机与存储器系统120之间的通信协议可不同于存取存储器阵列例如,存储器阵列1301、130N所需的协议。然后,存储器控制器101可将从主机接收的命令翻译成适当命令以实现对存储器阵列的所要存取。0017存储器阵列1301。
24、、130N可为各种类型的易失性及非易失性存储器阵列例如,快闪及DRAM阵列以及其它阵列。在一个或一个以上实施例中,存储器阵列1301、130N可为固态存储器阵列。存储器阵列1301、130N可包括可按单位分组的若干个说明书CN102317928ACN102317935A3/9页9存储器单元。如本文所用,单位可包括若干个存储器单元,例如页、物理块、平面、整个阵列或其它存储器单元群组。举例来说,存储器阵列可包括若干个平面,其中每一平面包括若干个物理块。每一物理块中的存储器单元可作为单位一起擦除,例如,可以大致同时的方式擦除每一物理块中的单元。举例来说,可在单个操作中一起擦除每一物理块中的单元。物理。
25、块可包括若干个页。每一页中的存储器单元可作为单位一起编程,例如,可以大致同时的方式编程每一页中的单元。每一页中的存储器单元也可作为单位一起读取。作为实例,128GB存储器装置可包括每页4314个数据字节,每物理块128个页,每平面2048个物理块,且每装置16个平面。然而,实施例并不限于此实例。0018存储器系统的物理扇区可对应于逻辑扇区且可包括开销信息例如,错误校正码ECC信息及逻辑块地址LBA信息以及用户数据。所属领域的技术人员将了解,逻辑块寻址是主机识别信息逻辑扇区通常使用的方案。作为实例,每一物理扇区可存储表示若干个数据字节的信息,例如,256个字节、512个字节或1,024个字节以及。
26、其它数目个字节。然而,本发明的实施例并不限于存储于物理扇区中或与逻辑扇区相关联的特定数目个数据字节。0019图2图解说明可根据本发明的一个或一个以上实施例操作的存储器控制器201的功能框图。在一个或一个以上实施例中,存储器控制器201可为固态驱动器控制器。在一个或一个以上实施例中,存储器控制器201可类似于图1中所示的控制器101。0020如在图2中所示,存储器控制器201包括前端部分及后端部分。所述前端部分可对应于前端通道,且所述后端部分可对应于若干个后端通道,例如后端通道12101、后端通道N210N。存储器控制器201可使用前端通道及后端通道来与存储器阵列2301、230N通信以在存储器。
27、阵列2301、230N上执行读取、编程例如,写入及擦除操作以及其它操作。在一个或一个以上实施例中,存储器阵列2301、230N可为固态存储器阵列。在一个或一个以上实施例中,存储器阵列2301、230N可类似于图1中所示的存储器阵列1301、130N。0021如在图2中所示,控制器201的前端部分例如,前端通道包括主机接口202、命令处理器204、前端直接存储器存取DMA206及命令调度程序208。后端通道2101、210N可包括后端通道处理器2111、211N、后端通道DMA2131、213N、后端通道命令队列2151、215N、数据缓冲器2171、217N及ECC引擎/阵列接口2191、21。
28、9N。尽管图2中所示的实施例将每一后端通道2101、210N图解说明为包括后端通道处理器,但本发明的实施例并不如此受限制。举例来说,所述后端部分可包括可对每一后端通道2101、210N进行操作的电路,例如,单个后端处理器或硬件逻辑,例如专用集成电路ASIC。0022在图2中所图解说明的实施例中,所述前端通道可经由前端DMA206及命令调度程序208耦合到后端通道,例如后端通道2101、210N。举例来说,前端DMA206可耦合到后端通道处理器2111、211N及后端通道DMA2131、213N。命令调度程序208可耦合到后端通道命令队列2151、215N。可使用主机接口202在控制器201与主。
29、机装置未显示,例如计算装置之间传递信息。在一个或一个以上实施例中,可使用主机接口202经由接口连接器例如,图1中所示的接口连接器103在控制器201与所述主机装置之间传递信息。说明书CN102317928ACN102317935A4/9页100023在一个或一个以上实施例中,在主机装置与控制器201之间传递的信息可包括若干个命令,例如编程命令、读取命令及擦除命令以及其它命令。可使用编程例如,写入命令在存储器阵列2301、230N上编程数据,可使用读取命令读取存储器阵列2301、230N上的数据,且可使用擦除命令擦除存储器阵列2301、230N上的数据。所述命令可包括指示被命令的操作类型例如,编。
30、程、读取或擦除、数量例如,逻辑扇区的数目及所述命令的执行将开始的位置例如,开始地址的信息以及其它信息。如果所述命令为编程命令,那么所述命令可后跟未必紧接着将编程到对应存储器单元的数据。在一个或一个以上实施例中,所述数量可为主机的对应于若干个存储器单元的若干个逻辑扇区。在一个或一个以上实施例中,所述命令中所包括的“位置”可为逻辑块地址LBA。0024数据缓冲器2171、217N可经由主机接口202、前端DMA206及后端通道DMA2131、213N从主机接收将在存储器阵列2301、230N上编程的数据。所述数据可经由ECC引擎/阵列接口2191、219N从数据缓冲器2171、217N发送到存储器。
31、阵列2301、230N。0025在一个或一个以上实施例中,LBA可与主机的逻辑扇区相关联,例如,主机的每一逻辑扇区可与特定LBA相关联。举例来说,LBA1000可与第一逻辑扇区相关联,LBA1001可与第二逻辑扇区相关联,LBA1002可与第三逻辑扇区相关联等。作为进一步实例,用以编程所述阵列中对应于开始于LBA1000的16个逻辑扇区的存储器单元的命令可编程与LBA1000到1016相关联的存储器单元,例如,对应于与LBA1000到1016相关联的逻辑扇区的存储器单元。0026命令调度程序208可经由主机接口202从主机接收若干个命令。命令调度程序208可保持所述所接收的命令,且将所述命令发。
32、送到适当后端通道2101、210N。举例来说,后端通道队列2151、215N可从命令调度程序208接收所述命令。在一个或一个以上实施例中,后端通道2101、210N可按命令调度程序208从主机接收所述命令的次序接收所述命令。在一个或一个以上实施例中,命令调度程序208可保持多达特定数目个命令,且如果命令调度程序208正保持所述特定数目个命令例如,如果命令调度程序208已满,那么命令调度程序208可不能够从主机接收命令。0027在一个或一个以上实施例中,后端通道命令队列2151、215N可保持从命令调度程序208接收的若干个命令。在一个或一个以上实施例中,所述队列可按将执行所述命令的次序保持所述。
33、命令。在一个或一个以上实施例中,所述队列可按从所述命令调度程序接收所述命令的次序保持所述命令。在一个或一个以上实施例中,每一队列可保持等于命令调度程序208可保持的若干个命令的若干个命令。举例来说,在一个或一个以上实施例中,命令调度程序208及所述队列可各自保持多达32个命令。然而,本发明的实施例并不限于特定数目个命令。0028根据一个或一个以上实施例,后端通道处理器2111、211N可确定是否可修改保持于所述队列中的命令,且可例如在所述命令保持于所述队列中时相应地对所述命令进行修改。在一个或一个以上实施例中,如果可改变命令保持于队列中的次序,如果可将队列中的命令中的若干个命令组合成一命令例如。
34、,单个命令,或如果队列中的命令中的若干个命令将被队列中的随后命令盖写,那么可修改所述命令。在一个或一个以上实施例中,修改命令可包括改变命令保持于队列中的次序;将队列中的若干个可组合命令说明书CN102317928ACN102317935A5/9页11组合成单个命令;或删除队列中的将被队列中的随后命令盖写的若干个命令;以及其它修改。0029在一个或一个以上实施例中,如果保持于队列中的命令是重叠命令,那么所述命令是可组合的,例如,可被组合成单个命令。如本文所用,重叠命令是与重叠地址例如,重叠逻辑块地址LBA相关联的若干个命令。举例来说,重叠命令可包括与存储器阵列中将在其上执行所述命令的共用位置相关。
35、联的命令。具体实例包括用以编程阵列中对应于主机的开始于逻辑块地址LBA1000的48个逻辑扇区例如,来自所述主机的48个数据逻辑扇区的存储器单元的第一命令及用以编程所述阵列中对应于所述主机的开始于LBA1040的16个逻辑扇区的存储器单元的第二命令。所述第一命令与第二命令是重叠命令,因为两个命令均与开始于LBA1040的相同8个逻辑扇区相关联。因此,可将这两个命令组合成用以编程对应于开始于LBA1000的56个逻辑扇区的存储器单元的单个命令。可组合保持于所述队列中的重叠命令而不管将其接收于所述队列中的次序如何。0030在一个或一个以上实施例中,如果保持于队列中的命令是顺序命令,那么所述命令是可。
36、组合的,例如,可组合成单个命令。如本文所用,顺序命令是与将在其上执行所述命令的顺序地址例如,顺序LBA相关联的若干个命令。举例来说,顺序命令可包括与紧在与其它命令中的一者相关联的逻辑扇区之前或紧在其之后的逻辑扇区相关联的命令。具体实例包括用以编程阵列中对应于主机的开始于LBA1000的16个逻辑扇区的存储器单元的第一命令及用以编程所述阵列中对应于所述主机的开始于LBA1016的32个逻辑扇区的存储器单元的第二命令。所述第一命令与第二命令是顺序命令,因为与所述第一命令相关联的地址紧在与所述第二命令相关联的地址之前,例如,与所述第二命令相关联的位置紧在与所述第一命令相关联的位置之后。因此,可将这两。
37、个命令组合成用以编程对应于所述主机的开始于LBA1000的48个逻辑扇区的存储器单元的单个命令。可组合保持于所述队列中的顺序命令而不管将其接收于所述队列中的次序如何。0031在一个或一个以上实施例中,如果队列中的第一命令及所述队列中的随后命令两者与将在其上执行所述命令的同一地址例如,同一LBA相关联,那么所述第一命令将被所述随后命令盖写。举例来说,用以编程阵列中对应于主机的开始于LBA1000的16个逻辑扇区的存储器单元的第一命令将被用以编程所述阵列中对应于所述主机的开始于LBA1000的16个逻辑扇区的存储器单元的随后命令盖写,因为所述第一命令及所述随后命令两者与同一地址相关联。因此,可删除。
38、所述第一命令。0032在一个或一个以上实施例中,如果与队列中的第一命令相关联的地址在与所述队列中的随后命令相关联的地址范围内,那么所述第一命令将被所述随后命令盖写。举例来说,用以编程阵列中对应于主机的开始于LBA1000的16个逻辑扇区的存储器单元的第一命令将被用以编程所述阵列中对应于所述主机的开始于LBA1000的48个逻辑扇区的存储器单元的随后命令盖写。因此,可删除所述第一命令。0033后端通道处理器2111、211N可根据经修改命令保持于队列中的次序执行所述经修改命令。举例来说,如果通过改变命令保持于队列中的次序来修改所述命令,那么后端通道处理器可根据所述已改变次序来执行所述命令。如果通。
39、过将命令中的若干个命令组合成单个命令来修改所述命令,那么后端通道处理器可执行所述单个命令而非单独地执行所述若干个命令。如果通过删除将被随后命令盖写的命令来修改命令,那么后端通道处理说明书CN102317928ACN102317935A6/9页12器可执行所述随后命令而非所述已删除的命令。0034在一个或一个以上实施例中,如果通过将保持于后端通道命令队列2151、215N中的命令中的若干个命令组合成单个命令来修改所述命令,那么可认为命令调度程序208中所保持的也可与所述单个命令组合的任何命令已完成。后端通道处理器2111、211N可向命令处理器204通信此些命令已完成。举例来说,如果将队列215。
40、1中用以编程阵列中对应于主机的开始于LBA1000的48个逻辑扇区的存储器单元的第一命令与队列215N中用以编程所述阵列中对应于所述主机的开始于LBA1040的16个逻辑扇区的存储器单元的第二命令组合成单个命令例如,用以编程对应于所述主机的开始于LBA1000的56个逻辑扇区的存储器单元的命令,那么可认为命令调度程序208中所保持的用以编程对应于所述主机的开始于LBA1000的16个逻辑扇区的存储器单元的命令已完成,例如,后端通道处理器2111可向命令处理器204通信此命令已完成,因为此命令可与所述单个命令组合。0035后端通道处理器2111、211N也可根据经修改命令修改将在存储器阵列230。
41、1、230N上编程的数据。举例来说,后端通道处理器2111、211N可修改所述数据以匹配所述经修改命令。后端通道处理器2111、211N可在数据缓冲器2171、217N接收到所述数据之前例如,在所述数据正被从前端DMA206发送到数据缓冲器2171、217N时修改所述数据。后端通道处理器2111、211N也可在所述数据被从数据缓冲器2171、217N发送到存储器阵列2301、230N之后修改所述数据。0036在一个或一个以上实施例中,后端通道命令队列2151、215N可在后端通道处理器2111、211N正在执行经修改命令时保持从命令调度程序208接收的额外命令。后端通道处理器2111、211N。
42、可在执行所述经修改命令时修改所述额外命令。0037可使用ECC引擎/阵列接口2191、219N将存储器控制器201耦合到存储器阵列2301、230N。后端通道处理器2111、211N可经由ECC引擎/阵列接口2191、219N在存储器阵列2301、230N上执行经修改命令。尽管图2中所示的实施例将命令图解说明为穿过后端通道处理器2111、211N行进,但本发明的实施例并不如此受限制。举例来说,所述命令可经由ECC引擎/阵列接口2191、219N直接从后端通道命令队列2151、215N行进到存储器阵列2301、230N。0038数据缓冲器2171、217N可保持在若干个先前读取操作期间所读取的数。
43、据,例如,响应于先前读取命令在位于存储器阵列2301、230N中的若干个存储器单元上执行的读取。在一个或一个以上实施例中,保持于后端通道命令队列2151、215N中的命令可包括用以读取先前已经读取的若干个存储器单元例如,所述存储器单元的数据已经保持于数据缓冲器2171、217N中的若干个命令。在此些实施例中,后端通道处理器2111、211N可通过例如在不存取存储器阵列2301、230N的情况下存取数据缓冲器2171、217N或通过仅针对不在所述数据缓冲器中的数据而仅存取所述存储器阵列来执行这些读取命令。0039在一个或一个以上实施例中,通过将若干个可组合命令组合成单个命令来修改命令可消除或减少。
44、存储器系统所执行的部分页编程操作的数目,此可改善所述系统的总性能及/或可靠性。所属领域的技术人员将理解,部分页编程操作可包括定位新块、将存储于位于旧块中的页上的数据读取到数据缓冲器中、将所述数据缓冲器中的数据与新数据合并及说明书CN102317928ACN102317935A7/9页13/或用新数据取代所述数据缓冲器中的数据以使得所述数据缓冲器中的数据包括新数据及从旧块中的页读取的数据两者,且以所述数据缓冲器中的数据编程新块中的页。所述部分页编程操作还可包括将存储于旧块中的剩余页上的数据传送到新块中的剩余页例如,读取存储于旧块中的剩余页上的数据且以此数据编程新块中的剩余页、标记旧块以用于擦除且。
45、擦除旧块。0040所属领域的技术人员将理解,部分页编程操作可因用以仅编程页的一部分的命令而产生,例如,由所述命令起始。举例来说,用以仅编程页的一部分的命令可在用以编程所述页的剩余部分的命令已经被执行的情形下起始部分页编程操作。然而,可通过根据本发明的一个或一个以上实施例组合用以仅编程页的一部分的命令与用以编程所述页的剩余部分的若干个命令来避免部分页编程操作,例如,可避免执行与上文所描述的部分页编程操作相关联的操作的需要。举例来说,涉及包括对应于主机的开始于LBA3000的4个逻辑扇区的存储器单元的页的部分页编程操作可通过根据本发明的一个或一个以上实施例组合用以编程所述页中对应于所述主机的开始于。
46、LBA3000的2个逻辑扇区的存储器单元的命令与用以编程所述页中对应于所述主机的开始于LBA3002的2个逻辑扇区的存储器单元的命令而避免。0041在一个或一个以上实施例中,命令处理器204可执行类似于后端通道处理器2111、211N所执行的功能的功能。举例来说,命令处理器204可确定是否可修改命令调度程序208中所保持的命令,且可在将所述命令保持于命令调度程序208中时相应地修改所述命令。如果可改变所述命令发送到后端通道的次序,如果可将所述命令中的若干个命令组合成单个命令,如果所述命令中的若干个命令将被随后命令盖写等,那么可修改所述命令。修改所述命令可包括改变命令调度程序208将所述命令发送。
47、到后端通道的次序、将命令调度程序208所接收的若干个可组合命令组合成单个命令、删除命令调度程序208所接收的将被命令调度程序208所接收的随后命令盖写的若干个命令等。0042在一个或一个以上实施例中,命令处理器204可在命令调度程序208不能够从主机接收命令时执行这些功能,例如,可确定是否可修改命令调度程序208中所保持的命令且可在将所述命令保持于命令调度程序208中时相应地修改所述命令。举例来说,命令处理器204可在命令调度程序208已满时执行这些功能。0043在一个或一个以上实施例中,命令处理器204可确定命令调度程序208中所保持的命令是否是不再由后端通道处理器2111、211N修改的命。
48、令。如果命令处理器204确定命令调度程序208中所保持的若干个命令不再由后端通道处理器修改,那么命令处理器204可将这些命令标记例如,加标签为不再由后端通道处理器修改的命令。当由命令处理器204标记为不再被修改的命令保持于后端通道命令队列2151、215N中时,其将不被后端通道处理器2111、211N修改。举例来说,如果后端通道命令队列2151保持用以编程阵列中对应于主机的开始于LBA1000的48个逻辑扇区的存储器单元的第一命令及用以编程所述阵列中对应于所述主机的开始于LBA1040的16个逻辑扇区的存储器单元的第二命令,且命令处理器204已将这些命令中的一者或两者标记为不再被修改的命令,那。
49、么后端通道处理器2111将不修改例如,组合这两个命令。不再被修改的命令可包括举例来说为盖写操作的一部分的命令,例如,其中第一编程命令后跟读取命令且所述读取命令后跟既定盖写初始编程命令的第二编程命令的操作。然而,本发明的实施例并说明书CN102317928ACN102317935A8/9页14不如此受限制,且不再被修改的命令可包括其它类型的命令。0044根据本发明的一个或一个以上实施例操作存储器装置可通过举例来说删除重复命令且将多个命令组合成一个命令来减少执行若干个命令所使用的时间量,借此增加所述存储器装置的效率。另外,由于后端通道可与存储器阵列2301、230N紧密地耦合例如,位于其附近,因此可通过根据本发明的一个或一个以上实施例操作存储器装置来增加所述存储器装置的效率。0045图3图解说明根据本发明一个或一个以上实施例的通道命令队列315的框图。在一个或一个以上实施例中,通道命令队列315可类似于图2中所示的后端通道命令队列2151、215N。0046如在图3中所示,通道命令队列315包括通道命令时隙13251、通道命令时隙23252、通道命令时隙33253、通道命令时隙43254、通道命令时隙M325M。每一通道命令时隙325。