CN113495682A - 用于对装置管理配置请求进行列队的系统和方法 - Google Patents
用于对装置管理配置请求进行列队的系统和方法 Download PDFInfo
- Publication number
- CN113495682A CN113495682A CN202010504368.7A CN202010504368A CN113495682A CN 113495682 A CN113495682 A CN 113495682A CN 202010504368 A CN202010504368 A CN 202010504368A CN 113495682 A CN113495682 A CN 113495682A
- Authority
- CN
- China
- Prior art keywords
- device management
- command
- management commands
- queue
- commands
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims description 14
- 239000003999 initiator Substances 0.000 claims description 6
- 230000008859 change Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0658—Controller construction arrangements
-
- 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
- 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
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
Abstract
一种用于执行装置管理命令的方法包含提供装置管理命令队列指示。所述方法还包含响应于提供所述装置管理命令队列指示从主机接收装置管理命令以及针对每一装置管理命令的相应命令类型。所述方法还包含基于对应于相应装置管理命令的所述命令类型确定所述装置管理命令的命令执行次序,以及基于所述命令执行次序在装置管理命令队列中对所述装置管理命令进行列队。所述方法还包含根据所述装置管理命令队列执行所述装置管理命令。所述方法还包含向所述主机传送响应于执行所述装置管理命令的命令执行指示。
Description
技术领域
本公开涉及存储器系统,且特定来说涉及用于对存储器系统上的装置管理配置请求进行列队的系统和方法。
背景技术
非易失性存储器系统是一种无需外部电源即可保持所存储信息的存储器。非易失性存储器系统包含耦合到一个或多个存储器阵列的控制器。非易失性存储器广泛用于各种电子装置和独立的存储器装置中。举例来说,非易失性存储器可见于膝上型计算机、数字音频播放器、数码相机、智能电话、科学仪器、工业机器人、医疗电子器件、IOT(物联网)装置、固态驱动器、USB驱动器、存储卡等中。
存储器系统连接到主机系统且与主机系统通信。主机系统(或“主机”)通常负责配置存储器系统,将数据发送到存储器系统,且从存储器系统读取数据。主机可向控制器提供指令以执行存储器系统的存储器单元上的各种操作(例如,编程操作、读取操作、擦除操作等)。主机和控制器之间的通信通常由某一标准来限定。举例来说,主机和控制器之间的通信可由用于通用快闪存储(UFS)标准或其它合适的标准的通用协议(UniPro)规范(SPEC)来限定。所述标准可限定主机如何使用各层来向控制器的相应层通信。
除向控制器提供指令之外,主机还可提供用于配置存储器系统的信道的配置请求。配置请求可被称为装置管理命令。UniPro SPEC(例如,包含UFS产品的链路层)限定通过完成一个装置管理命令以一次改变一个属性来配置存储器系统的信道的过程。举例来说,主机设定或控制器接收一个属性(例如,对应于一个装置管理命令)。控制器接着执行装置管理命令来设定属性。在某一时间周期到期之后,主机例如通过向控制器请求状态而确定控制器是否成功地设定属性。这在主机移动到下一装置管理命令之前发生。也就是说,主机等待完成一个命令才继续下一命令。通常,此过程由存储器系统的上部层(例如,通过主机控制器的应用)来执行,且可能相对费时,尤其是在需要配置若干属性的情况下。相应地,缩短配置时延将是有益的。
发明内容
所公开的实施例的一方面包含一种用于执行装置管理命令的方法。所述方法包含提供装置管理命令队列指示。所述方法还包含响应于提供装置管理命令队列指示从主机接收装置管理命令以及针对每一装置管理命令的相应命令类型。所述方法还包含基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序。所述方法还包含基于命令执行次序在装置管理命令队列中对装置管理命令进行列队。所述方法还包含根据装置管理命令队列执行装置管理命令。所述方法还包含向主机传送响应于执行装置管理命令的命令执行指示。
所公开的实施例的另一方面包含一种控制器。所述控制器包含总线接口和处理器。总线接口与主机装置通信。所述处理器配置成:从主机装置接收装置管理命令和针对每一装置管理命令的相应命令类型;基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序;基于命令执行次序在装置管理命令队列中对装置管理命令进行列队;根据装置管理命令队列执行装置管理命令;以及向主机装置传送响应于执行装置管理命令的命令执行指示。
所公开的实施例的另一方面包含一种用于执行装置管理命令的系统。所述系统包含处理器和存储器。所述存储器包含指令,所述指令在由处理器执行时致使处理器:从起始器装置接收至少一个装置管理命令和对应于所述至少一个装置管理命令的命令类型;基于对应于所述至少一个装置管理命令的命令类型和对应于装置管理命令队列中的其它装置管理命令的命令类型确定所述至少一个装置管理命令的队列位置;基于所述队列位置在装置管理命令队列中对所述至少一个装置管理命令进行列队;根据装置管理命令队列执行所述至少一个装置管理命令和其它装置管理命令;以及向起始器装置传送响应于执行所述至少一个装置管理命令的命令执行指示。
本公开的这些和其它方面公开于实施例的以下详细描述、所附权利要求书和附图中。
附图说明
本公开当结合附图阅读时依据以下详细描述会得到最佳理解。应强调,根据惯例,图式的各种特征未按比例绘制。相反,为了清晰起见,各种特征的尺寸会进行任意扩大或缩小。
图1是示出根据本发明技术的原理的主机和存储器系统之间的通信的示意性框图。
图2是示出根据本发明技术的原理的装置管理命令执行方法的流程图。
图3是大体示出本发明技术所准许的装置管理命令执行工作流程(在此实例中,功率模式改变流程)的流程图。
图4是大体示出根据本发明技术的原理的装置管理命令执行工作流程(在此实例中,功率模式改变流程)的流程图。
具体实施方式
以下论述针对本发明的各种实施例。尽管这些实施例中的一个或多个可能是优选的,但不应将所公开的实施例解释为限制包含权利要求书的本公开的范围,或以其它方式作为限制包含权利要求书的本公开的范围来使用。另外,所属领域的技术人员将理解,以下描述具有广泛的应用,并且任何实施例的论述仅意味着该实施例示例性的论述,而并非意图暗示将包含权利要求书的本公开的范围限于该实施例。
本公开针对一种用于通过主机系统配置存储器系统的系统和方法。在一个实施例中,存储器系统可配置成使主机免于处理一系列循序的装置管理命令来实施当前UFS/MIPISPEC流(例如,以及可能将来UFS/MIPI SPEC流)。另外或替代地,本文中所描述的系统和方法可配置成随着所有装置管理命令列队并执行在设定存储器系统的属性的同时减小开销,而不必监视个别装置管理命令执行进程。
常规存储器系统限于串行地发送和完成一个装置管理命令。在一个实施例中,本公开提供一种存储器系统,其处理装置管理命令的突发且同时配置存储器系统的多个参数。
相应地,例如本文中所描述的允许主机对装置管理命令(例如,配置请求)进行列队的系统和方法可能是合意的。在一些实施例中,本文中所描述的系统和方法可配置成提供两种装置管理命令列队模式。举例来说,本文中所描述的系统和方法可配置成对装置管理命令(例如,配置请求)进行列队。所述系统和方法可配置成执行每一装置管理命令。所述系统和方法可配置成响应于完成每一装置管理命令的执行而产生状态指示。状态指示可指示是否成功地执行装置管理命令。所述系统和方法可配置成基于状态指示确定装置管理命令中的每一个的状态。所述系统和方法可配置成使每一状态指示与相应装置管理命令相关。
在一些实施例中,本文中所描述的系统和方法可配置成通过将多个(例如,突发)装置管理命令依次传送到控制器而不必等待每一装置管理命令的状态才继续下一装置管理命令,来对装置管理命令进行列队。所述系统和方法可配置成确定控制器(例如,在对等侧上)是否包含装置管理实体命令执行队列(DME-Q)。所述系统和方法可配置成响应于确定控制器包含DME-Q而将多个装置管理命令传送到控制器。所述系统和方法可配置成在DME-Q中对装置管理命令进行排序。所述系统和方法可配置成根据队列执行装置管理命令。
本文中所描述的系统和方法可配置成产生指示与所述多个装置管理命令相关联的所有装置管理命令完成的状态指示(例如,不必在完成每一装置管理命令之后报告状态)。在一些实施例中,所述系统和方法可配置成确定装置管理命令中的至少一个的执行期间是否发生错误。所述系统和方法可配置成产生指示发生错误的错误指示(例如,在错误的第一例项期间)且将所述错误指示传送到主机。
在一些实施例中,本文中所描述的系统和方法可配置成识别针对每一装置管理命令的命令类型。举例来说,主机可向控制器传送所述多个装置管理命令和针对所述多个装置管理命令中的每一个的命令类型。控制器可基于对应于装置管理命令中的每一个的命令类型产生所述多个装置管理命令的执行次序。在一些实施例中,所述系统和方法可配置成根据执行次序对装置管理命令进行列队。在一些实施例中,所述系统和方法可配置成基于相应命令类型确定装置管理命令中的每一个的队列位置。
在一些实施例中,命令类型可包含简单命令类型、经排序命令类型和队列头部命令类型。具有简单命令类型的装置管理命令可在具有简单命令类型的其它装置管理命令当中按任何次序执行。具有经排序命令类型的装置管理命令可仅在执行已经在DME-Q中的所有先前装置管理命令之后且在装置管理命令随后添加到DME-Q之前执行。具有队列头部命令类型的装置管理命令可尽快执行(例如,包含绕过已经在DME-Q中的其它装置管理命令)。
在一些实施例中,本文中所描述的系统和方法可配置成提供装置管理命令队列指示。所述系统和方法可配置成响应于提供装置管理命令队列指示从主机接收装置管理命令和针对每一装置管理命令的相应命令类型。所述系统和方法可配置成基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序。所述系统和方法可配置成基于命令执行次序在装置管理命令队列中对装置管理命令进行列队。所述系统和方法可配置成根据装置管理命令队列执行装置管理命令。所述系统和方法可配置成向主机传送响应于执行装置管理命令的命令执行指示。
现参看图1,是包含借助于总线106与存储器系统104通信的主机装置102的实例系统100的示意性框图。主机102的实例包含计算装置,例如台式计算机、机架式服务器、膝上型计算机、智能电话、平板电脑或其它合适的计算装置。主机102还可包含例如游戏系统、数字电话、数码相机、便携式媒体播放器、IOT装置、遥控器、电视机操纵杆、智能电视机等系统和装置。存储器系统104可实施于例如安全数字(SD)卡或微安全数字(微-SD)卡等存储卡中。在一些实施例中,存储器系统104例如作为安装在膝上型计算机中的固态磁盘(SSD)驱动器而内嵌于主机102中。
总线106允许使主机102能够与存储器系统104通信的任何已知或稍后开发的通信协议的通信。通信协议可包含安全数字(SD)协议、记忆棒(MS)协议、USB协议、高级微控制器总线架构(AMBA)或其它合适的协议。确切地说,总线106可启用总线接口,其实施例如串行高级技术附件(SATA)或高速外围组件接口(PCIe)接口等任何已知或稍后开发的通信协议。
存储器系统104包含连接到控制器114的非易失性存储器(NVM)块108。NVM块108可包含若干存储器裸片。在一些实施例中,NVM块108限定一组物理存储器裸片。在其它实施例中,NVM块108限定一组逻辑存储器裸片,其中NVM块108包含来自若干物理上不同组的存储器裸片的存储器裸片。NVM块108的限定方式并不意图是限制性的。
控制器114充当主机102和存储器系统104之间的接口且管理存储在存储器系统104中的数据。举例来说,主机102可通过经由与总线106相关联的总线接口将逻辑地址提供到控制器114来存取存储在存储器系统104中的数据,控制器114将所述逻辑地址转换为物理地址。控制器114可存取与物理地址相关联的数据和/或特定存储位置,并且促进在主机102和存储器系统104之间传递数据。在其中存储器系统104包含快闪存储器的一些实施例中,控制器114格式化快闪存储器以确保存储器恰当地操作,映射出不良的快闪存储器单元,并且分配备用单元以替换将来发生故障的单元或用于保持固件以操作快闪存储器控制器。
在一些实施例中,主机102和存储器系统104之间的通信可由针对通用快闪存储(UFS)标准的通用协议(UniPro)规范(SPEC)限定。正如图1中大体示出,主机102可经由控制器114的各层(例如,LINKS)通信。主机102可将装置管理命令传送到存储器系统控制器114来设定与UniPro标准相关联的各种属性(例如,以调适新标准)或设定用以改变存储器系统104的其它特性的各种属性。
主机102可包含主机装置管理实体队列(DME-Q)110,且控制器114可包含控制器DME-Q 112。主机DME-Q 110和控制器DME-Q 112允许主机102对装置管理命令进行列队且将装置管理命令的执行和状态验证的管理卸载到控制器114。在一些实施例中,主机DME-Q110和控制器DME-Q 112可以是LINK(UNIPRO)的组件或可扩展且超出UniPro标准。主机DME-Q 110和控制器DME-Q 112是对称的(例如,因为UNIPRO/PHY是主机102和控制器114上的对称IP)。然而,在一些实施例中,主机DME-Q 110和控制器DME-Q 112可以不对称,且仅由控制器114或仅由主机102支持。
在一些实施例中,主机102配置成将装置管理命令(例如,与例如功率模式改变操作或其它合适的操作等配置请求或操作相关联)从主机DME-Q 110传送到控制器DME-Q112。在此方面,主机102可将装置管理命令串行地(即,一个配置命令在另一配置命令之后循序地发送,而不列队)或作为配置命令的突发(即,多个配置命令一起发送)传送到控制器114。在突发模式中,主机102另外发送命令类型。
图2是示出根据本公开的原理的装置管理命令执行方法500的流程图。在502处,方法500提供装置管理命令队列指示。举例来说,控制器向主机102提供指示控制器包含控制器DME-Q 112的指示。在504处,方法500接收装置管理命令和相应命令类型。举例来说,控制器从主机102接收一个或多个装置管理命令,如所描述。在506处,方法500确定命令执行次序。举例来说,控制器基于命令类型确定命令执行次序。
在508处,方法500在装置管理命令队列中对装置管理命令进行列队。举例来说,控制器根据命令执行次序和/或已经在控制器DME-Q 112中的其它装置管理命令确定装置管理命令在控制器DME-Q 112中的队列位置。在510处,方法500根据装置管理命令队列执行装置管理命令。举例来说,控制器根据控制器DME-Q 112中的次序执行装置管理命令。在512处,方法500传送命令执行指示。举例来说,控制器存储配置的结果。控制器响应于来自主机102的提供配置状态的请求产生对应于配置结果的命令执行指示,且将状态指示和/或错误指示(例如,基于确定发生错误)传送到主机102。
正如图3和4中大体示出,客户端可请求功率模式改变。例如主机102的主机可接收功率模式改变请求,且使用例如本地UniPro信道等本地通信信道或其它合适的信道传送与功率模式改变相关联的装置管理命令。本地通信信道(例如,本地UniPro)可将装置管理命令和命令类型传送到对等通信改变,例如对等UniPro信道或装置(例如,存储系统和/或控制器114)上的其它合适的信道。如将描述,控制器114可执行与功率管理命令相关联的整个批次的装置管理命令,然后将状态传送到主机102。
控制器114可基于命令类型确定装置管理命令的命令执行次序。举例来说,如果控制器114串行地接收装置管理命令,则控制器114确定命令执行次序与接收装置管理命令的次序相同。如果控制器114接收作为突发的多个装置管理命令(同时利用DME-Q),则控制器114基于命令类型产生命令执行次序。命令类型可包含简单命令类型、经排序命令类型和队列头部命令类型,如所描述。
控制器114可根据控制器DME-Q 112中的次序执行装置管理命令。如果控制器114串行地接收装置管理命令,则控制器114可在相应装置管理命令完成期间和/或之后产生状态(例如,或执行)指示。控制器114可在控制器114完成整个批次的装置管理命令的执行之后将状态指示传送到主机102。举例来说,控制器114可执行功率模式改变操作,且执行所有装置管理命令,然后将状态传送到主机102(例如,控制器114不传送每一装置管理命令执行的状态,而是在将状态传送到主机102之前传送整个功率模式改变操作)。应理解,功率模式改变操作是一个实例,且控制器114可针对整个操作成批地执行任何合适的装置管理命令。
如果控制器114接收了作为突发的多个装置管理命令,则控制器114可等待直至完成与所述多个装置管理命令相关联的所有装置管理命令才产生状态指示。控制器114可响应于控制器114完成所述多个装置管理命令的执行而将状态指示传送到主机102。另外或替代地,控制器114可存储所述多个装置管理命令的执行结果。控制器114可响应于来自主机的请求而产生对应于所述多个装置管理命令的执行结果的状态指示,且可将状态指示传送到主机。
在一些实施例中,控制器114可配置成确定在执行相应装置管理命令时是否发生错误。如果控制器114确定发生错误,则控制器114可产生错误指示且将错误指示传送到主机102(例如,控制器114不必等待直至完成其它装置管理命令才传送错误指示)。另外或替代地,控制器114可存储错误指示,且可响应于来自主机的传送状态的请求将错误指示传送到主机。主机102可接收各种状态指示且相应地继续。另外或替代地,主机102可接收错误指示,且确定是否指示控制器114采取校正动作。
在一些实施例中,控制器114可执行本文描述的方法。然而,由控制器114执行的本文描述的方法并不意图是限制性的,并且在控制器114上执行的任何类型的软件都可以在不脱离本公开的范围的情况下执行本文描述的方法。举例来说,例如执行主机102内的软件或存储器系统104内的固件的处理器等控制器可执行本文所描述的方法。
在一些实施例中,一种用于执行装置管理命令的方法包含提供装置管理命令队列指示。所述方法还包含响应于提供装置管理命令队列指示从主机接收装置管理命令以及针对每一装置管理命令的相应命令类型。所述方法还包含基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序。所述方法还包含基于命令执行次序在装置管理命令队列中对装置管理命令进行列队。所述方法还包含根据装置管理命令队列执行装置管理命令。所述方法还包含响应于来自主机的请求将响应于执行装置管理命令的命令执行指示传送到主机。
在一些实施例中,装置管理命令中的至少一个的相应命令类型包含简单命令类型。在一些实施例中,装置管理命令中的至少一个的相应命令类型包含经排序命令类型。在一些实施例中,基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序包含将具有经排序命令类型的所有装置管理命令排序为在所有先前列队的装置管理命令之后且在所有随后列队的装置管理命令之前执行。在一些实施例中,装置管理命令中的至少一个的相应命令类型包含队列头部命令类型。在一些实施例中,基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序包含将具有队列头部命令类型的所有装置管理命令排序为在所有先前列队的装置管理命令之前执行。在一些实施例中,向主机传送响应于执行装置管理命令的命令执行指示包含在执行装置管理命令中的每一个之后向主机传送命令执行指示。在一些实施例中,向主机传送响应于执行装置管理命令的命令执行指示包含在执行所有装置管理命令之后向主机传送命令执行指示。
在一些实施例中,控制器包含总线接口和处理器。总线接口与主机装置通信。所述处理器配置成:从主机装置接收装置管理命令和针对每一装置管理命令的相应命令类型;基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序;基于命令执行次序在装置管理命令队列中对装置管理命令进行列队;根据装置管理命令队列执行装置管理命令;以及向主机装置传送响应于执行装置管理命令的命令执行指示。
在一些实施例中,装置管理命令中的至少一个的相应命令类型包含简单命令类型。在一些实施例中,装置管理命令中的至少一个的相应命令类型包含经排序命令类型。在一些实施例中,处理器进一步配置成通过以下操作基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序:将具有经排序命令类型的所有装置管理命令排序为在所有先前列队的装置管理命令之后且在所有随后列队的装置管理命令之前执行。在一些实施例中,装置管理命令中的至少一个的相应命令类型包含队列头部命令类型。在一些实施例中,处理器进一步配置成通过以下操作基于对应于相应装置管理命令的命令类型确定装置管理命令的命令执行次序:将具有队列头部命令类型的所有装置管理命令排序为在所有先前列队的装置管理命令之前执行。在一些实施例中,处理器进一步配置成在执行装置管理命令中的每一个之后向主机装置传送命令执行指示。在一些实施例中,处理器进一步配置成在执行所有装置管理命令之后向主机装置传送命令执行指示。
在一些实施例中,一种用于执行装置管理命令的系统包含处理器和存储器。所述存储器包含指令,所述指令在由处理器执行时致使处理器:从起始器装置接收至少一个装置管理命令和对应于所述至少一个装置管理命令的命令类型;基于对应于所述至少一个装置管理命令的命令类型和对应于装置管理命令队列中的其它装置管理命令的命令类型确定所述至少一个装置管理命令的队列位置;基于所述队列位置在装置管理命令队列中对所述至少一个装置管理命令进行列队;根据装置管理命令队列执行所述至少一个装置管理命令和其它装置管理命令;以及向起始器装置传送响应于执行所述至少一个装置管理命令的命令执行指示。
在一些实施例中,对应于所述至少一个装置管理命令的命令类型包含第一命令类型,且其中所述至少一个装置管理命令的队列位置包含装置管理命令队列中的紧接在装置管理命令队列中具有第一命令类型的其它装置管理命令中的任何装置管理命令之前或之后的位置。在一些实施例中,对应于所述至少一个装置管理命令的命令类型包含第二命令类型,且其中所述至少一个装置管理命令的队列位置包含装置管理命令队列中的第一可用位置。在一些实施例中,对应于所述至少一个装置管理命令的命令类型包含第三命令类型,且其中所述至少一个装置管理命令的队列位置包含装置管理命令队列中的第一位置。
以上论述意图说明本发明的原理和各种实施例。一旦完全了解上文公开内容,许多变化和修改对于所属领域的技术人员将变得显而易见。希望将所附权利要求书解释为涵盖所有此类变化和修改。在先前描述和权利要求书中,术语“包含”和“包括”是以开放式的方式使用的,因此应被解释为意指“包含但不限于……”。另外,术语“耦合”希望意指间接或直接连接。因此,如果第一装置耦合到第二装置,那么所述连接可能是经由直接连接,或经由借助于其它装置和连接的间接连接。
词语“实例”在本文中用以意指“充当实例、例子或说明”。本文中描述为“实例”的任何方面或设计不一定被解释为比其它方面或设计优选或有利。实际上,使用词语“实例”希望以具体方式来呈现概念。如本申请中所使用,术语“或”希望意味着包含性的“或”而非排他性的“或”。也就是说,除非另外规定,或从上下文清楚可见,否则“X包含A或B”希望意味着任何自然的包含性排列。也就是说,如果X包含A;X包含B;或X包含A和B两者,那么在任何前述例项下满足“X包含A或B”。此外,除非另外规定或从上下文可知表示单数形式,否则如本申请和所附权利要求书中所使用的冠词“一”应大体上解释为意味着“一个或多个”。此外,除非如此描述,否则贯穿全文使用术语“实施方案”或“一个实施方案”并不希望表示相同的实施例或实施方案。
本文描述的系统、算法、方法、指令等的实施方案可以以硬件、软件或其任何组合来实现。硬件可以包含例如计算机、知识产权(IP)内核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其它合适的电路。在权利要求书中,术语“处理器”应被理解为单独地或组合地涵盖任何前述硬件。术语“信号”和“数据”可互换使用。
如本文中所使用,术语模块可包含设计成与其它组件一起使用的经封装功能硬件单元、可由控制器(例如,执行软件或固件的处理器)执行的指令集、配置成执行特定功能的处理电路系统,以及与较大系统介接的自含式硬件或软件组件。例如,模块可以包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)、电路、数字逻辑电路、模拟电路、离散电路的组合、门和其它类型的硬件,或其组合。在其它实施例中,模块可以包含存储器,所述存储器存储可由控制器执行以实施模块的特征的指令。在一些实施例中,控制器在主机102内实施,可以配置有硬件和/或固件以执行本文描述的各种功能。
“控制器”应指个别电路组件、专用集成电路(ASIC)、具有控制软件的微控制器、数字信号处理器(DSP)、具有控制软件的处理器、现场可编程门阵列(FPGA),或其组合。
此外,本公开的全部或部分实施方案可以采取可从例如计算机可用或计算机可读介质存取的计算机程序产品的形式。计算机可用或计算机可读介质可以是例如可以有形地含有、存储、传送或传输程序以供任何处理器使用或与任何处理器结合使用的任何装置。介质可以是例如电子、磁性、光学、电磁或半导体装置。也可以使用其它合适的介质。
已经描述了上述实施例、实施方案和方面,以允许容易地理解本发明并且不限制本发明。相反,本发明旨在涵盖所附权利要求书的范围内所包含的各种修改和等效布置,所述范围应被赋予最宽泛的解释,以涵盖法律允许的所有此类修改和等效结构。
Claims (20)
1.一种用于执行装置管理命令的方法,所述方法包括:
提供装置管理命令队列指示;
响应于提供所述装置管理命令队列指示从存储器系统的主机接收两个或两个以上装置管理命令和针对所述装置管理命令中的每一个的相应命令类型;
基于对应于相应装置管理命令的所述命令类型确定所述装置管理命令的命令执行次序;
基于所述命令执行次序在装置管理命令队列中对所述装置管理命令进行列队;
以所述命令执行次序执行所述装置管理命令队列中列队的所述装置管理命令;以及
响应于来自所述主机的请求,将响应于执行所述装置管理命令的所述命令执行指示传送到所述主机。
2.根据权利要求1所述的方法,其中所述装置管理命令中的至少一个的所述相应命令类型包含简单命令类型。
3.根据权利要求1所述的方法,其中所述装置管理命令中的至少一个的所述相应命令类型包含经排序命令类型。
4.根据权利要求3所述的方法,其中确定所述装置管理命令的所述命令执行次序包含:将具有所述经排序命令类型的所有装置管理命令排序为在所有先前列队的装置管理命令之后且在所有随后列队的装置管理命令之前执行。
5.根据权利要求1所述的方法,其中所述装置管理命令中的至少一个的所述相应命令类型包含队列头部命令类型。
6.根据权利要求5所述的方法,其中确定所述装置管理命令的所述命令执行次序包含:将具有所述队列头部命令类型的所有装置管理命令排序为在所有先前列队的装置管理命令之前执行。
7.根据权利要求1所述的方法,其中向所述主机传送响应于执行所述装置管理命令的所述命令执行指示包含:在执行所述装置管理命令中的每一个之后向所述主机传送所述命令执行指示。
8.根据权利要求1所述的方法,其中向所述主机传送响应于执行所述装置管理命令的所述命令执行指示包含:在执行所有所述装置管理命令之后向所述主机传送所述命令执行指示。
9.一种与存储器系统的存储器阵列通信的控制器,所述控制器包括:
总线接口,其用于与主机装置通信;以及
处理器,其被配置为:
从所述主机装置接收两个或两个以上装置管理命令和针对每一装置管理命令的相应命令类型;
基于对应于相应装置管理命令的所述命令类型确定所述两个或两个以上装置管理命令的命令执行次序;
基于所述命令执行次序在装置管理命令队列中对所述两个或两个以上装置管理命令进行列队;
以所述命令执行次序执行所述装置管理命令队列中列队的所述两个或两个以上装置管理命令;以及
向所述主机装置传送响应于执行所述两个或两个以上装置管理命令的命令执行指示。
10.根据权利要求9所述的控制器,其中所述两个或两个以上装置管理命令中的至少一个的所述相应命令类型包含简单命令类型。
11.根据权利要求9所述的控制器,其中所述两个或两个以上装置管理命令中的至少一个的所述相应命令类型包含经排序命令类型。
12.根据权利要求11所述的控制器,其中所述处理器进一步配置成通过以下操作基于对应于相应装置管理命令的所述命令类型确定所述两个或两个以上装置管理命令的所述命令执行次序:将具有所述经排序命令类型的所有装置管理命令排序为在所有先前列队的装置管理命令之后且在所有随后列队的装置管理命令之前执行。
13.根据权利要求9所述的控制器,其中所述两个或两个以上装置管理命令中的至少一个的所述相应命令类型包含队列头部命令类型。
14.根据权利要求13所述的控制器,其中所述处理器进一步配置成通过以下操作基于对应于相应装置管理命令的所述命令类型确定所述装置管理命令的所述命令执行次序:将具有所述队列头部命令类型的所有装置管理命令排序为在所有先前列队的装置管理命令之前执行。
15.根据权利要求9所述的控制器,其中所述处理器进一步配置成在执行所述装置管理命令中的每一个之后向所述主机装置传送所述命令执行指示。
16.根据权利要求9所述的控制器,其中所述处理器进一步配置成在执行所有所述装置管理命令之后向所述主机装置传送所述命令执行指示。
17.一种用于执行装置管理命令的系统,所述系统包括:
处理器;以及
存储器,其耦合到所述处理器且包含指令,所述指令在由所述处理器执行时致使所述处理器:
从起始器装置接收两个或两个以上装置管理命令和对应于所述两个或两个以上装置管理命令的相应命令类型;
基于所述两个或两个以上装置管理命令对应于装置管理命令队列中的其它装置管理命令的相应命令类型确定所述两个或两个以上装置管理命令的队列位置;
在所述装置管理命令队列中以所确定的队列位置对所述两个或两个以上管理命令进行列队;
基于相应队列位置在所述装置管理命令队列中执行所述两个或两个以上装置管理命令和所述其它装置管理命令;以及
向所述起始器装置传送响应于执行所述两个或两个以上装置管理命令的命令执行指示。
18.根据权利要求17所述的系统,其中对应于所述至少一个装置管理命令的所述命令类型包含第一命令类型,且其中所述至少一个装置管理命令的所述队列位置包含所述装置管理命令队列中的紧接在所述装置管理命令队列中具有所述第一命令类型的所述其它装置管理命令中的任何装置管理命令之前或之后的位置。
19.根据权利要求17所述的系统,其中对应于所述至少一个装置管理命令的所述命令类型包含第二命令类型,且其中所述至少一个装置管理命令的所述队列位置包含所述装置管理命令队列中的第一可用位置。
20.根据权利要求17所述的系统,其中对应于所述至少一个装置管理命令的所述命令类型包含第三命令类型,且其中所述至少一个装置管理命令的所述队列位置包含所述装置管理命令队列中的第一位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/825,762 US11294832B2 (en) | 2020-03-20 | 2020-03-20 | Systems and methods for queuing device management configuration requests |
US16/825,762 | 2020-03-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113495682A true CN113495682A (zh) | 2021-10-12 |
Family
ID=77747944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010504368.7A Pending CN113495682A (zh) | 2020-03-20 | 2020-06-05 | 用于对装置管理配置请求进行列队的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11294832B2 (zh) |
CN (1) | CN113495682A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022174367A1 (en) * | 2021-02-18 | 2022-08-25 | Micron Technology, Inc. | Improved implicit ordered command handling |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106030521A (zh) * | 2014-02-14 | 2016-10-12 | 美光科技公司 | 命令排队 |
US20170123656A1 (en) * | 2015-10-31 | 2017-05-04 | Sandisk Technologies Llc | Methods, systems, and computer readable media for aggregating completion entries in a nonvolatile storage device |
US20170249081A1 (en) * | 2016-02-26 | 2017-08-31 | Sandisk Technologies Inc. | Systems and Methods for Decoupling Host Commands in a Non-Volatile Memory System |
CN107229581A (zh) * | 2016-03-25 | 2017-10-03 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
US20180217754A1 (en) * | 2017-02-02 | 2018-08-02 | SK Hynix Inc. | Memory system and operating method thereof |
CN110073322A (zh) * | 2017-03-24 | 2019-07-30 | 西部数据技术公司 | 用于快速执行封装体内命令的系统和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6915354B1 (en) | 2002-04-30 | 2005-07-05 | Intransa, Inc. | Distributed iSCSI and SCSI targets |
WO2010063308A1 (en) | 2008-12-01 | 2010-06-10 | Nokia Corporation | Scalable message authentication framework |
KR101911059B1 (ko) | 2011-10-18 | 2018-10-24 | 삼성전자주식회사 | Ufs 인터페이스의 테스트 방법 및 이의 테스트 방법으로 테스트를 수행하는 메모리 장치 |
KR102534633B1 (ko) * | 2016-04-14 | 2023-05-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180018886A (ko) * | 2016-08-09 | 2018-02-22 | 삼성전자주식회사 | 스토리지 시스템의 동작 방법 및 호스트의 동작 방법 |
US10084683B2 (en) | 2016-10-20 | 2018-09-25 | Mediatek Inc. | Unified protocol device with self functional test and associated method |
US10445016B2 (en) * | 2016-12-13 | 2019-10-15 | International Business Machines Corporation | Techniques for storage command processing |
KR20200065929A (ko) * | 2018-11-30 | 2020-06-09 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 저장 장치 |
-
2020
- 2020-03-20 US US16/825,762 patent/US11294832B2/en active Active
- 2020-06-05 CN CN202010504368.7A patent/CN113495682A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106030521A (zh) * | 2014-02-14 | 2016-10-12 | 美光科技公司 | 命令排队 |
US20170123656A1 (en) * | 2015-10-31 | 2017-05-04 | Sandisk Technologies Llc | Methods, systems, and computer readable media for aggregating completion entries in a nonvolatile storage device |
US20170249081A1 (en) * | 2016-02-26 | 2017-08-31 | Sandisk Technologies Inc. | Systems and Methods for Decoupling Host Commands in a Non-Volatile Memory System |
CN107229581A (zh) * | 2016-03-25 | 2017-10-03 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
US20180217754A1 (en) * | 2017-02-02 | 2018-08-02 | SK Hynix Inc. | Memory system and operating method thereof |
CN110073322A (zh) * | 2017-03-24 | 2019-07-30 | 西部数据技术公司 | 用于快速执行封装体内命令的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US11294832B2 (en) | 2022-04-05 |
US20210294758A1 (en) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11151027B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
US20190018618A1 (en) | Methods and apparatuses for executing a plurality of queued tasks in a memory | |
US8631188B1 (en) | Data storage device overlapping host data transfer for a write command with inter-command delay | |
WO2017084400A1 (zh) | 一种NVMe网络化存储的实现方法、终端、服务器及系统 | |
KR20160049200A (ko) | 데이터 저장 장치의 작동 방법, 이를 포함하는 모바일 컴퓨팅 장치, 및 이의 작동 방법 | |
US20180088854A1 (en) | Electronic device configured to reset storage device non-directly connected to application processor among storage devices serially connected to one another and method of operating the same | |
US20160239206A1 (en) | Semiconductor system performing status read for semiconductor device and operating method thereof | |
US20210049114A1 (en) | Computing system for reducing latency between serially connected electronic devices | |
JP2017076357A (ja) | Ufs装置の作動方法、ufsホストの作動方法、及びそれらを含むシステムの作動方法 | |
KR102558947B1 (ko) | 데이터 저장 장치 | |
KR20190088734A (ko) | 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
JP2015007843A (ja) | ストレージシステム、ストレージ装置及びストレージシステムの制御方法 | |
US20110072168A1 (en) | Data transfer system with different operating modes | |
CN113495682A (zh) | 用于对装置管理配置请求进行列队的系统和方法 | |
US10331594B2 (en) | Data transmission method and electronic device | |
TW202011203A (zh) | 指令處理方法及使用所述方法的儲存控制器 | |
US11775451B2 (en) | Computing system for reducing latency between serially connected electronic devices | |
US20160011791A1 (en) | Storage control apparatus, storage system, and program | |
US11687420B2 (en) | Control method for error handling in a controller, storage medium therefor, controller and storage device | |
US10216421B2 (en) | Method of operating storage device using serial interface and method of operating data processing system including the same | |
KR101260313B1 (ko) | 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법 | |
US20170126427A1 (en) | Motor controller attaining both low latency and high throughput data communications | |
US11822816B2 (en) | Networking device/storage device direct read/write system | |
JP7363344B2 (ja) | メモリ制御装置、および制御方法 | |
US11321254B2 (en) | Computing system for transmitting completion early between serially connected electronic devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |