WO2022193238A1 - 存储器操作的执行方法和装置 - Google Patents

存储器操作的执行方法和装置 Download PDF

Info

Publication number
WO2022193238A1
WO2022193238A1 PCT/CN2021/081566 CN2021081566W WO2022193238A1 WO 2022193238 A1 WO2022193238 A1 WO 2022193238A1 CN 2021081566 W CN2021081566 W CN 2021081566W WO 2022193238 A1 WO2022193238 A1 WO 2022193238A1
Authority
WO
WIPO (PCT)
Prior art keywords
ehs
operation commands
upiu
frame header
operations
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.)
Ceased
Application number
PCT/CN2021/081566
Other languages
English (en)
French (fr)
Inventor
张斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to KR1020237031092A priority Critical patent/KR20230144078A/ko
Priority to JP2023557120A priority patent/JP7626360B2/ja
Priority to CN202180082047.5A priority patent/CN116601594A/zh
Priority to EP21930830.1A priority patent/EP4283455B1/en
Priority to PCT/CN2021/081566 priority patent/WO2022193238A1/zh
Publication of WO2022193238A1 publication Critical patent/WO2022193238A1/zh
Priority to US18/468,387 priority patent/US12321606B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the UFS host controller will detect the command transmitted between the UFS device controller and the UFS device controller. When the length of the command exceeds the set length (for example, 4KB), the UFS host controller will execute the corresponding logic control to execute the command. Truncated, only the 4KB command is reserved for transmission to the UFS device controller, and the remaining part can be transmitted in the next command or directly discarded.
  • the UFS device controller can also perform the same method to generate 4KB commands or data.
  • the set length is expanded so that the UFS host controller and the UFS device controller can support the transmission of N KB commands or data, where N is greater than 4, and 32B in the N KB are used for the UPIU frame header (Frame Header).
  • the operation command of the present application includes the UPIU frame header and the EHS, and the total length of the command is N KB (N>4); wherein, the length of the UPIU frame header is the first length (32B), and the total length of the EHS is N KB. -32B, in this way, compared with the operation command in the prior art, the operation command of the present application can carry more information. Based on this, when multiple EHS operation commands need to be executed, the UFS host controller can send the multiple EHS operation commands to the UFS device controller through one operation command.
  • the UPIU frame header further includes the number of multiple EHS operation commands; the EHS includes the first address and data length of the logical block address (LBA) corresponding to the multiple EHS operation commands respectively . That is, the EHS contains multiple LBAs, and each LBA corresponds to a data length.
  • LBA logical block address
  • the above-mentioned UPIU frame header includes a total length field of the EHS, and the total length field of the EHS indicates that the length of the EHS is not 0, and the EHS is used to indicate the storage addresses corresponding to the plurality of EHS operation commands respectively.
  • Multiple EHS operation commands can be used to indicate multiple read operations, multiple write operations, or multiple erase operations, that is, multiple EHS operation commands that can be sent to the UFS device controller at one time through one operation command, or all of them are read operations.
  • the operation is either a write operation or an erase operation.
  • FIG. 5 is an exemplary structural diagram of an operation command of the present application.
  • the UPIU frame header in the operation command occupies bytes 0 to 31, totaling 32B, of which byte 8 is filled in.
  • EHS Total EHS Length
  • Step 303 The UFS device controller determines storage addresses corresponding to the multiple EHS operation commands according to the operation command.
  • the UPIU frame header includes the logical block header address and the total data length corresponding to the multiple EHS operation commands.
  • the EHS includes physical page numbers corresponding to the multiple EHS operation commands respectively.
  • a receiving module 801 configured to receive an operation command from a universal flash storage UFS host controller, the operation command includes a universal flash storage protocol information unit UPIU frame header and an extended header field EHS; wherein, the UPIU frame header includes the total length of the EHS field, the EHS total length field indicates that the length of the EHS is not 0, and the EHS is used to indicate the respective storage addresses corresponding to multiple EHS operation commands; the processing module 802 is used to determine the multiple EHS operation commands according to the operation commands. storage addresses corresponding to the plurality of EHS operation commands respectively; and a corresponding memory operation is performed on the storage medium at the storage addresses corresponding to the plurality of EHS operation commands respectively.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种存储器操作的执行方法和装置,所述存储器操作的执行方法包括:生成操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;向通用闪存存储UFS设备控制器发送所述操作命令。可以减少命令的交互,从整体上节省命令开销,提高存储器操作的效率。

Description

存储器操作的执行方法和装置 技术领域
本申请涉及存储技术,尤其涉及一种存储器操作的执行方法和装置。
背景技术
在通用闪存存储(universal flash storage,UFS)技术中,UFS主机(host)控制器(controller)和UFS设备(device)控制器(controller)之间通过命令交互的方式实现数据和信息传输。目前的UFS协议信息单元(UFS protocol information unit,UPIU)中,由于定义的命令的长度有限,因此命令能够承载的信息较少,如果要完成的功能操作较复杂,会导致整体上无法发挥UFS技术的性能优势。
相关技术提供了可以支持4K数据的加速读命令,该命令可以触发UFS device controller进行连续加速读并一次性返回数据。但是该技术针对大数据量的存储操作,仍然需要多次命令交互,增加了命令交互的开销,还是无法体现UFS技术的性能优势。
发明内容
本申请提供一种存储器操作的执行方法和装置,以减少命令的交互,从整体上节省命令开销,提高存储器操作的效率。
第一方面,本申请提供一种存储器操作的执行方法,包括:UFS主机控制器生成操作命令,操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,UPIU帧头的长度为第一长度(32B),EHS的总长度为N KB-32B,该总长度大于4KB和第一长度的差值,EHS用于指示多个EHS操作命令分别对应的存储地址;UFS主机控制器向UFS设备控制器发送操作命令。UFS设备控制器根据操作命令确定多个EHS操作命令分别对应的存储地址,在多个EHS操作命令分别对应的存储地址上执行相应的存储器操作。UFS设备控制器向UFS主机控制器返回处理结果。
相关技术中,UFS主机控制器会对与UFS设备控制器之间传输的命令进行检测,当命令的长度超过设定长度(例如4KB)时,UFS主机控制器执行相应的逻辑控制将该命令进行截断,只保留4KB的命令传输给UFS设备控制器,剩余部分可以放在下一个命令中传输或者直接丢弃。UFS设备控制器也可以执行同样的方法产生4KB的命令或数据。而本申请中,对设定长度进行扩大,使得UFS主机控制器和UFS设备控制器可以支持传输N KB的命令或数据,N大于4,该N KB中有32B用于UPIU帧头(Frame Header),其余长度(N KB-32B)可以用于扩展头字段(extend header segment,EHS)。长度为N KB-32B的EHS在相关技术中是没有的,因此UFS主机控制器和UFS设备控制器之间传输的命令可以承载更多的信息。相应的,UPIU帧头中包括EHS总长度字段,该EHS总长度字段指示EHS的长度不为0。
如上所述,本申请的操作命令包括UPIU帧头和EHS,命令总长度为N KB(N>4);其中,UPIU帧头的长度为第一长度(32B),EHS的总长度为N KB-32B,这样相较于现有技术中的操作命令,本申请的操作命令可以承载更多的信息。基于此,UFS主机控制器可以在需要执行多个EHS操作命令时,通过一个操作命令将该多个EHS操作命令发送给 UFS设备控制器。
上述UPIU帧头包括EHS的总长度字段,该EHS总长度字段指示EHS的长度不为0,EHS用于指示多个EHS操作命令分别对应的存储地址。多个EHS操作命令可以用于指示多个读操作、多个写操作或者多个擦除操作,即可以通过一个操作命令一次性发送给UFS设备控制器的多个EHS操作命令,要么均是读操作,要么均是写操作,要么均是擦除操作。
EHS的最大长度可以是N KB-32B,即EHS的总长度小于或等于N KB-32B,该总长度的具体数值可以由EHS中实际写入的数据的长度确定。多个EHS操作命令中的任意一个EHS操作命令对应的存储地址可以通过首地址加数据长度的方式表示,例如,存储器操作为读操作,该读操作对应的首地址是要读取的数据在存储器中的存储区域的首地址,数据长度是从首地址开始要读取的数据长度。
UFS主机控制器获取多个EHS操作命令分别对应的存储地址,在发送给UFS设备控制器的操作命令中,可以携带上相关信息以指示多个EHS操作命令分别对应的存储地址。
UFS设备控制器接收到操作命令后,可以根据操作命令的格式从相应的字节中提取信息,包括多个EHS操作命令的个数、EHS的总长度、多个EHS操作命令分别对应的存储地址和数据长度。
UFS设备控制器根据操作指令中指示的操作类型,例如读操作、写操作或者擦除操作,对上述步骤中确定的多个存储区域进行相应的操作。当存储器操作是读操作时,UFS设备控制器从指示的多个存储区域中获取存储的数据;当存储器操作是写操作时,UFS设备控制器,UFS设备控制器在指示的多个存储区域中写入UFS主机控制器发送的数据;当存储器操作是擦除操作时,UFS设备控制器从指示的多个存储区域中将数据擦除。
当存储器操作是读操作时,UFS设备控制器向UFS主机控制器返回读取的数据;当存储器操作是写操作时,UFS设备控制器向UFS主机控制器返回写入成功的响应;当存储器操作是擦除操作时,UFS设备控制器向UFS主机控制器返回擦除入成功的响应。
需要说明的是,本申请的操作命令中,除了上述字段外,还可以包含其他字段,例如UPIU帧头中还包括该操作命令的索引字段(xx00 0001b)、标识字段(Flags)等,这些字段可以沿用协议中的相关规定,本申请对此不做具体限定。
本申请,基于扩展的操作命令,在一条操作命令中可以携带多个EHS操作命令分别对应的存储地址和数据长度,只需要少量的命令交互就可以请求执行针对多个地址的存储器操作,减少了命令的交互。另外,由于UFS主机控制器和UFS设备控制器可以支持传输的数据量变大,UFS设备控制器再接收或返回数据时,可以在一个命令中携带更多的数据,因此也减少了返回命令,从整体上节省了命令开销。再来存储器操作的执行过程中,每个命令都需要经过区块层(Block)的调度,驱动层(Driver)和物理层的传输,使用本申请的方法后,可以对多个EHS操作命令实现IO聚合,相应的上述调度、传输等处理都可以合并,进一步减少了存储器操作的处理流程,提高存储器操作的效率。
在一种可能的实现方式中,UPIU帧头还包括多个EHS操作命令的个数;EHS包括多个EHS操作命令分别对应的逻辑区块地址(logical block address,LBA)的首地址和数据长度。即EHS中包含多个LBA,每个LBA对应一个数据长度。
在一种可能的实现方式中,UPIU帧头还包括多个EHS操作命令对应的逻辑区块首地 址和数据总长度;EHS包括多个EHS操作命令分别对应的物理页码(physical page number,PPN)。
第二方面,本申请提供一种UFS主机控制器,包括:处理器和接口电路;其中,所述处理器,用于生成操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;所述接口电路,用于向通用闪存存储UFS设备控制器发送所述操作命令。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令的个数。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
第三方面,本申请提供一种UFS设备,包括:处理器、接口电路和存储介质;其中,所述接口电路,用于接收来自通用闪存存储UFS主机控制器的操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;所述处理器,用于根据所述操作命令确定所述多个EHS操作命令分别对应的存储地址;在所述多个EHS操作命令分别对应的存储地址上对所述存储介质执行相应的存储器操作。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令的个数。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
第四方面,本申请提供一种UFS主机控制装置,包括:处理模块和发送模块。其中, 处理模块,用于生成操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;发送模块,用于向通用闪存存储UFS设备控制器发送所述操作命令。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令的个数。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
第五方面,本申请提供一种UFS装置,包括:接收模块和处理模块。其中,接收模块,用于接收来自通用闪存存储UFS主机控制器的操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;处理模块,用于根据所述操作命令确定所述多个EHS操作命令分别对应的存储地址;在所述多个EHS操作命令分别对应的存储地址上对所述存储介质执行相应的存储器操作。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令的个数。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
第六方面,本申请提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行上述第一方面中任一项所述的方法。
附图说明
图1为相关技术加速读的一个示例性的流程图;
图2为本申请的硬件系统的一个示例性的结构图;
图3为本申请存储器操作的执行方法的一个示例性的流程图;
图4为本申请操作命令的一个示例性的结构图;
图5为本申请操作命令的一个示例性的结构图;
图6为本申请读操作的执行方法的一个示例性的流程图;
图7为本申请UFS主机控制装置的一个示例性的结构示意图;
图8为本申请UFS设备控制装置的一个示例性的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
图1为相关技术加速读的一个示例性的流程图,如图1所示,在阶段1,当UFS主机控制器发现大范围IO读均命中表项时,发送专用Write Buffer DPIU、Ready to transfer和Data out命令序列,以下发多个物理页码(physical page number,PPN)的读操作命令。在阶段2,UFS主机控制器发送加速读命令,触发UFS设备控制器进行连续加速读并一次性返回数据。
但是,完成上述加速读操作需要2个阶段,共至少8次UPIU命令交互,如果要完成的功能操作较复杂,会导致整体上无法发挥UFS技术的性能优势。其是多个时隙(slot)并发的命令交互,还需要在UFS主机控制器和UFS设备控制器分别增加命令归属标记以防止命令错乱,导致处理复杂,命令交互的开销严重。
为了解决上述技术问题,本申请提供了一种存储器操作的执行方法,通过以下的实施例进行说明。
图2为本申请的硬件系统的一个示例性的结构图,如图2所示,UFS Host包括应用程序(Application)、UFS驱动(Driver)、UFS主机控制器和接口电路,UFS Device包括 存储介质(user storage)、UFS设备控制器和接口电路。
UFS Host和UFS Device之间的命令和数据都是通过二者的接口电路进行传输的,而UFS主机控制器负责生成操作命令,UFS设备控制器负责解析命令并控制存储器操作的执行。
基于上述结构,相关技术中,UFS主机控制器会对与UFS设备控制器之间传输的命令进行检测,当命令的长度超过设定长度(例如4KB)时,UFS主机控制器执行相应的逻辑控制将该命令进行截断,只保留4KB的命令传输给UFS设备控制器,剩余部分可以放在下一个命令中传输或者直接丢弃。UFS设备控制器也可以执行同样的方法产生4KB的命令或数据。而本申请中,对设定长度进行扩大,使得UFS主机控制器和UFS设备控制器可以支持传输N KB的命令或数据,N大于4,该N KB中有32B用于UPIU帧头(Frame Header),其余长度(N KB-32B)可以用于扩展头字段(extend header segment,EHS)。长度为N KB-32B的EHS在相关技术中是没有的,因此UFS主机控制器和UFS设备控制器之间传输的命令可以承载更多的信息。相应的,UPIU帧头中包括EHS总长度字段,该EHS总长度字段指示EHS的长度不为0。
需要说明的是,本申请的UFS Host和UFS Device可以集成于同一个电子设备中,共同完成存储器操作,该电子设备具备存储能力;UFS Host和UFS Device也可以分别设置于不同的电子设备上,例如,UFS Host设置于手机、平板电脑等用户设备上,UFS Device设置于硬盘、寄存器、闪存等存储器上。
图3为本申请存储器操作的执行方法的一个示例性的流程图,如图3所示,本实施例的方法可以由上述UFS主机控制器和UFS设备控制器共同执行。存储器操作的执行方法可以包括:
步骤301、UFS主机控制器生成操作命令。
如上所述,本申请的操作命令包括UPIU帧头和EHS,命令总长度为N KB(N>4);其中,UPIU帧头的长度为第一长度(32B),EHS的总长度为N KB-32B,这样相较于现有技术中的操作命令,本申请的操作命令可以承载更多的信息。基于此,UFS主机控制器可以在需要执行多个EHS操作命令时,通过一个操作命令将该多个EHS操作命令发送给UFS设备控制器。
上述UPIU帧头包括EHS的总长度字段,该EHS总长度字段指示EHS的长度不为0,EHS用于指示多个EHS操作命令分别对应的存储地址。多个EHS操作命令可以用于指示多个读操作、多个写操作或者多个擦除操作,即可以通过一个操作命令一次性发送给UFS设备控制器的多个EHS操作命令,要么均是读操作,要么均是写操作,要么均是擦除操作。
EHS的最大长度可以是N KB-32B,即EHS的总长度小于或等于N KB-32B,该总长度的具体数值可以由EHS中实际写入的数据的长度确定。多个EHS操作命令中的任意一个EHS操作命令对应的存储地址可以通过首地址加数据长度的方式表示,例如,存储器操作为读操作,该读操作对应的首地址是要读取的数据在存储器中的存储区域的首地址,数据长度是从首地址开始要读取的数据长度。
步骤302、UFS主机控制器向UFS设备控制器发送操作命令。
UFS主机控制器获取多个EHS操作命令分别对应的存储地址,在发送给UFS设备控 制器的操作命令中,可以携带上相关信息以指示多个EHS操作命令分别对应的存储地址。
在一种可能的实现方式中,UPIU帧头还包括多个EHS操作命令的个数;EHS包括多个EHS操作命令分别对应的逻辑区块地址(logical block address,LBA)的首地址和数据长度。即EHS中包含多个LBA,每个LBA对应一个数据长度。
本实施例中多个EHS操作命令分别对应的存储地址是连续的或者不连续的。例如,多个EHS操作命令指示多个读操作,以读操作1、读操作2和读操作3为例,读操作1对应LBA 1和数据长度1,读操作2对应LBA 2和数据长度2,读操作3对应LBA 3和数据长度3。LBA 1、LBA 2和LBA 3可以是连续的,即读操作1、读操作2和读操作3分别要读取的数据在存储器中的存储区域是相邻的;LBA 1、LBA 2和LBA 3可以是不连续的,即读操作1、读操作2和读操作3分别要读取的数据在存储器中的存储区域是不相邻的,各自分开。应当理解的是,多个EHS操作命令分别对应的LBA还可以是一部分LBA是连续的,另一部分LBA是不连续的。
示例性的,图4为本申请操作命令的一个示例性的结构图,如图4所示,操作命令中的UPIU帧头占用0~31号字节,共32B,其中,8号字节填入EHS的长度(Total EHS Length),例如32B,9号字节填入多个EHS操作命令的个数(Total EHS Num),例如4。
操作命令中的EHS占用32B,其中,0~3号字节填入第一个存储器操作的LBA0,4~7号字节填入第一个存储器操作的LEN0;8~11号字节填入第二个存储器操作的LBA1,12~15号字节填入第二个存储器操作的LEN1;16~19号字节填入第三个存储器操作的LBA2,20~23号字节填入第三个存储器操作的LEN2;24~27号字节填入第四个存储器操作的LBA3,28~31号字节填入第四个存储器操作的LEN3。本实施例中,EHS中的行号用于表示每4个字节一组的第一个字节的索引号,列号用于表示该组字节中每个字节的索引号相对于第一个字节的索引号的偏移量。需要说明的是,EHS中的字节的索引号还可以用其他的方式表示,本申请对此不做具体限定。
在一种可能的实现方式中,UPIU帧头还包括多个EHS操作命令对应的逻辑区块首地址和数据总长度;EHS包括多个EHS操作命令分别对应的物理页码(physical page number,PPN)。
本实施例中多个EHS操作命令分别对应的存储地址是连续的,多个EHS操作命令对应的PPN的首地址和多个EHS操作命令对应的LBA的首地址是相对应的。基于此,UPIU帧头中可以只填入多个EHS操作命令对应的首地址LBA,这样LBA加上多个EHS操作命令对应的数据总长度可以指示多个EHS操作命令要处理的所有数据在存储器中的存储区域。另外,执行读操作时,UFS主机控制器才有可能获取到LBA和PPN之间的对应关系,这是因为数据已经存储于存储器中,其存储位置是确定的,因此才可以建立起LBA和PPN之间的而对应关系。
示例性的,图5为本申请操作命令的一个示例性的结构图,如图5所示,操作命令中的UPIU帧头占用0~31号字节,共32B,其中,8号字节填入EHS的总长度(Total EHS Length),例如32B,18~21号字节填入多个读操作对应的逻辑区块首地址(LBA[3]~LBA[0]),26~29号字节填入多个读操作对应的数据总长度(Length[3]~Length[0])。
操作命令中的EHS占用32B,其中,0~3号字节填入第一个读操作的PPN0 (PPN0[3]~PPN0[0]),4~7号字节填入第二个读操作的PPN1(PPN1[3]~PPN1[0]),8~11号字节填入第三个读操作的PPN2(PPN2[3]~PPN2[0]),12~15号字节填入第四个读操作的PPN3(PPN3[3]~PPN3[0])。
图6为本申请读操作的执行方法的一个示例性的流程图,如图6所示,UFS主机控制器向UFS设备控制器发送读操作命令,该读操作命令包括UPIU帧头和EHS,EHS中包括多个读操作要读取的数据分别在存储器中的存储区域的地址,UFS设备控制器从前述地址中获取到存储的数据后通过Data In UPIU命令将数据返回给UFS主机控制器,完成整个读操作的执行过程。可见,与图1所示的流程相比,本申请的方法只需要一个操作命令就可以请求读取多个地址的数据,减少了命令的交互。另外,由于UFS主机控制器和UFS设备控制器可以支持传输的数据量变大,UFS设备控制器再返回数据时,可以在一个命令中携带更多的数据,因此也减少了返回命令,从整体上节省了命令开销。
步骤303、UFS设备控制器根据操作命令确定多个EHS操作命令分别对应的存储地址。
UFS设备控制器接收到操作命令后,可以根据操作命令的格式从相应的字节中提取信息,包括多个EHS操作命令的个数、EHS的总长度、多个EHS操作命令分别对应的存储地址和数据长度。
在一种可能的实现方式中,根据图4所示的结构,UFS设备控制器从UPIU帧头中的8号字节提取EHS的长度,从9号字节提取多个EHS操作命令的个数。从EHS中的0~3号字节提取第一个存储器操作的LBA0,从4~7号字节提取第一个存储器操作的LEN0;从8~11号字节提取第二个存储器操作的LBA1,从12~15号字节提取第二个存储器操作的LEN1;从16~19号字节提取第三个存储器操作的LBA2,从20~23号字节提取第三个存储器操作的LEN2;从24~27号字节提取第四个存储器操作的LBA3,从28~31号字节提取第四个存储器操作的LEN3。
在一种可能的实现方式中,根据图5所示的结构,UFS设备控制器从UPIU帧头中的8号字节提取EHS的长度,从18~21号字节提取多个读操作对应的首地址LBA(LBA[3]~LBA[0]),从26~29号字节提取多个读操作对应的数据总长度(Length[3]~Length[0])。从EHS中的0~3号字节提取第一个读操作的PPN0(PPN0[3]~PPN0[0]),从4~7号字节提取第二个读操作的PPN1(PPN1[3]~PPN1[0]),从8~11号字节提取第三个读操作的PPN2(PPN2[3]~PPN2[0]),从12~15号字节提取第四个读操作的PPN3(PPN3[3]~PPN3[0])。
基于上述信息,UFS设备控制器可以确定各个存储器操作要处理的数据在存储器中的存储区域。
步骤304、UFS设备控制器在多个EHS操作命令分别对应的存储地址上执行相应的存储器操作。
UFS设备控制器根据操作指令中指示的操作类型,例如读操作、写操作或者擦除操作,对上述步骤中确定的多个存储区域进行相应的操作。当存储器操作是读操作时,UFS设备控制器从指示的多个存储区域中获取存储的数据;当存储器操作是写操作时,UFS设备控制器,UFS设备控制器在指示的多个存储区域中写入UFS主机控制器发送的数据;当存储器操作是擦除操作时,UFS设备控制器从指示的多个存储区域中将数据擦除。
步骤305、UFS设备控制器向UFS主机控制器返回处理结果。
当存储器操作是读操作时,UFS设备控制器向UFS主机控制器返回读取的数据;当存储器操作是写操作时,UFS设备控制器向UFS主机控制器返回写入成功的响应;当存储器操作是擦除操作时,UFS设备控制器向UFS主机控制器返回擦除入成功的响应。
需要说明的是,本申请的操作命令中,除了上述字段外,还可以包含其他字段,例如UPIU帧头中还包括该操作命令的索引字段(xx00 0001b)、标识字段(Flags)等,这些字段可以沿用协议中的相关规定,本申请对此不做具体限定。
本申请,基于扩展的操作命令,在一条操作命令中可以携带多个EHS操作命令分别对应的存储地址和数据长度,只需要少量的命令交互就可以请求执行针对多个地址的存储器操作,减少了命令的交互。另外,由于UFS主机控制器和UFS设备控制器可以支持传输的数据量变大,UFS设备控制器再接收或返回数据时,可以在一个命令中携带更多的数据,因此也减少了返回命令,从整体上节省了命令开销。再来存储器操作的执行过程中,每个命令都需要经过区块层(Block)的调度,驱动层(Driver)和物理层的传输,使用本申请的方法后,可以对多个EHS操作命令实现IO聚合,相应的上述调度、传输等处理都可以合并,进一步减少了存储器操作的处理流程,提高存储器操作的效率。
图7为本申请UFS主机控制装置的一个示例性的结构示意图,如图7所示,本实施例的装置可以是上述实施例中的UFS主机控制器。该装置包括:处理模块701和发送模块702。其中,
处理模块701,用于生成操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;发送模块702,用于向通用闪存存储UFS设备控制器发送所述操作命令。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令的个数。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请UFS设备控制装置的一个示例性的结构示意图,如图8所示,本实施例的装置可以是上述实施例中的UFS设备控制器。该装置包括:接收模块801和处理模块802。其中,
接收模块801,用于接收来自通用闪存存储UFS主机控制器的操作命令,所述操作命 令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;处理模块802,用于根据所述操作命令确定所述多个EHS操作命令分别对应的存储地址;在所述多个EHS操作命令分别对应的存储地址上对所述存储介质执行相应的存储器操作。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令的个数。
在一种可能的实现方式中,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
在一种可能的实现方式中,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
在一种可能的实现方式中,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、特定应用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM, SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (29)

  1. 一种存储器操作的执行方法,其特征在于,包括:
    生成操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;
    向通用闪存存储UFS设备控制器发送所述操作命令。
  2. 根据权利要求1所述的方法,其特征在于,所述UPIU帧头包括所述多个EHS操作命令的个数。
  3. 根据权利要求1或2所述的方法,其特征在于,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
  5. 根据权利要求4所述的方法,其特征在于,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
  6. 根据权利要求1-3中任一项所述的方法,其特征在于,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
  7. 根据权利要求6所述的方法,其特征在于,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
  8. 一种存储器操作的执行方法,其特征在于,包括:
    接收来自通用闪存存储UFS主机控制器的操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS的总长度字段,所述EHS的总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;
    根据所述操作命令确定所述多个EHS操作命令分别对应的存储地址;
    在所述多个EHS操作命令分别对应的存储地址上执行相应的存储器操作。
  9. 根据权利要求8所述的方法,其特征在于,所述UPIU帧头包括所述多个EHS操作命令的个数。
  10. 根据权利要求8或9所述的方法,其特征在于,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
  11. 根据权利要求8-10中任一项所述的方法,其特征在于,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
  12. 根据权利要求11所述的方法,其特征在于,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
  13. 根据权利要求8-10中任一项所述的方法,其特征在于,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
  14. 根据权利要求13所述的方法,其特征在于,所述EHS包括所述多个EHS操作 命令分别对应的物理页码。
  15. 一种通用闪存存储UFS主机控制器,其特征在于,包括:处理器和接口电路;其中,
    所述处理器,用于生成操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;
    所述接口电路,用于向通用闪存存储UFS设备控制器发送所述操作命令。
  16. 根据权利要求15所述的控制器,其特征在于,所述UPIU帧头包括所述多个EHS操作命令的个数。
  17. 根据权利要求15或16所述的控制器,其特征在于,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
  18. 根据权利要求15-17中任一项所述的控制器,其特征在于,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
  19. 根据权利要求18所述的控制器,其特征在于,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
  20. 根据权利要求15-17中任一项所述的控制器,其特征在于,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
  21. 根据权利要求20所述的控制器,其特征在于,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
  22. 一种通用闪存存储UFS设备,其特征在于,包括:处理器、接口电路和存储介质;其中,
    所述接口电路,用于接收来自通用闪存存储UFS主机控制器的操作命令,所述操作命令包括通用闪存存储协议信息单元UPIU帧头和扩展头字段EHS;其中,所述UPIU帧头包括EHS总长度字段,所述EHS总长度字段指示所述EHS的长度不为0,所述EHS用于指示多个EHS操作命令分别对应的存储地址;
    所述处理器,用于根据所述操作命令确定所述多个EHS操作命令分别对应的存储地址;在所述多个EHS操作命令分别对应的存储地址上对所述存储介质执行相应的存储器操作。
  23. 根据权利要求22所述的设备,其特征在于,所述UPIU帧头包括所述多个EHS操作命令的个数。
  24. 根据权利要求22或23所述的设备,其特征在于,所述UPIU帧头包括所述多个EHS操作命令对应的逻辑区块首地址和数据总长度。
  25. 根据权利要求22-24中任一项所述的设备,其特征在于,所述多个EHS操作命令用于指示多个读操作、多个写操作或者多个擦除操作;所述多个EHS操作命令分别对应的存储地址是连续的或者不连续的。
  26. 根据权利要求25所述的设备,其特征在于,所述EHS包括所述多个EHS操作命令分别对应的逻辑区块首地址和数据长度。
  27. 根据权利要求22-24中任一项所述的设备,其特征在于,所述多个EHS操作命令用于指示多个读操作;所述多个EHS操作命令分别对应的存储地址是连续的。
  28. 根据权利要求27所述的设备,其特征在于,所述EHS包括所述多个EHS操作命令分别对应的物理页码。
  29. 一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行权利要求1-14中任一项所述的方法。
PCT/CN2021/081566 2021-03-18 2021-03-18 存储器操作的执行方法和装置 Ceased WO2022193238A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020237031092A KR20230144078A (ko) 2021-03-18 2021-03-18 메모리 동작을 수행하기 위한 방법 및 장치
JP2023557120A JP7626360B2 (ja) 2021-03-18 2021-03-18 メモリ動作を実行する方法及び装置
CN202180082047.5A CN116601594A (zh) 2021-03-18 2021-03-18 存储器操作的执行方法和装置
EP21930830.1A EP4283455B1 (en) 2021-03-18 2021-03-18 Method and apparatus for performing memory operation
PCT/CN2021/081566 WO2022193238A1 (zh) 2021-03-18 2021-03-18 存储器操作的执行方法和装置
US18/468,387 US12321606B2 (en) 2021-03-18 2023-09-15 Method for performing memory operation and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/081566 WO2022193238A1 (zh) 2021-03-18 2021-03-18 存储器操作的执行方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/468,387 Continuation US12321606B2 (en) 2021-03-18 2023-09-15 Method for performing memory operation and apparatus

Publications (1)

Publication Number Publication Date
WO2022193238A1 true WO2022193238A1 (zh) 2022-09-22

Family

ID=83321354

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/081566 Ceased WO2022193238A1 (zh) 2021-03-18 2021-03-18 存储器操作的执行方法和装置

Country Status (6)

Country Link
US (1) US12321606B2 (zh)
EP (1) EP4283455B1 (zh)
JP (1) JP7626360B2 (zh)
KR (1) KR20230144078A (zh)
CN (1) CN116601594A (zh)
WO (1) WO2022193238A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4471567A1 (en) * 2023-06-02 2024-12-04 Samsung Electronics Co., Ltd. Storage device and prefetch method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4528470A1 (en) * 2023-09-21 2025-03-26 Samsung Electronics Co., Ltd Storage device communicating with external storage device via host and operating method of the storage device
CN120723673A (zh) * 2024-03-29 2025-09-30 Oppo广东移动通信有限公司 数据访问方法及装置、设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153910A1 (en) * 2009-12-18 2011-06-23 Mackenna Craig Flash Memory-Interface
CN109324754A (zh) * 2017-07-31 2019-02-12 三星电子株式会社 与主机接合的储存装置以及操作主机和储存装置的方法
CN109411007A (zh) * 2018-12-11 2019-03-01 武汉精鸿电子技术有限公司 一种基于fpga的通用闪存测试系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210226A (ja) 2007-02-27 2008-09-11 Oki Electric Ind Co Ltd ホストとusbストレージデバイス間のデータ転送方法
US10229051B2 (en) * 2015-12-30 2019-03-12 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device
CN112513822B (zh) * 2018-08-01 2024-05-10 华为技术有限公司 信息处理方法及装置、设备、系统
US11137914B2 (en) * 2019-05-07 2021-10-05 Western Digital Technologies, Inc. Non-volatile storage system with hybrid command
US11275527B1 (en) * 2019-06-11 2022-03-15 Western Digital Technologies, Inc. Execution condition embedded in a command or a request to storage device
KR102703997B1 (ko) * 2019-08-02 2024-09-10 삼성전자주식회사 스토리지 장치, 및 스토리지 장치 및 스토리지 장치를 제어하는 호스트 장치를 포함하는 스토리지 시스템의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153910A1 (en) * 2009-12-18 2011-06-23 Mackenna Craig Flash Memory-Interface
CN109324754A (zh) * 2017-07-31 2019-02-12 三星电子株式会社 与主机接合的储存装置以及操作主机和储存装置的方法
CN109411007A (zh) * 2018-12-11 2019-03-01 武汉精鸿电子技术有限公司 一种基于fpga的通用闪存测试系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4283455A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4471567A1 (en) * 2023-06-02 2024-12-04 Samsung Electronics Co., Ltd. Storage device and prefetch method thereof

Also Published As

Publication number Publication date
US20240004552A1 (en) 2024-01-04
JP2024511384A (ja) 2024-03-13
US12321606B2 (en) 2025-06-03
JP7626360B2 (ja) 2025-02-04
EP4283455B1 (en) 2025-10-22
KR20230144078A (ko) 2023-10-13
CN116601594A (zh) 2023-08-15
EP4283455A4 (en) 2024-03-13
EP4283455A1 (en) 2023-11-29

Similar Documents

Publication Publication Date Title
CN112214158B (zh) 主机输出输入命令的执行装置及方法及计算机可读取存储介质
US12321606B2 (en) Method for performing memory operation and apparatus
TW200406680A (en) Method, system, and program for handling input/output commands
EP3608790B1 (en) Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests
CN115543894B (zh) 存储系统、数据处理方法及装置、存储介质及电子设备
CN108132760A (zh) 一种提升ssd读性能的方法及系统
WO2015176664A1 (zh) 一种数据操作的方法、设备和系统
CN120729823A (zh) 数据存储方法、系统、装置、芯片、网络接口卡、设备、介质和程序产品
US20220100681A1 (en) Method For PRP/SGL Handling For Out-Of-Order NVME Controllers
CN118193053A (zh) NVMe命令处理的方法及其相关产品
WO2023030256A1 (zh) 处理i/o请求的方法、装置、系统、设备及存储介质
US11650736B2 (en) SGL processing acceleration method and storage device
US9244824B2 (en) Memory sub-system and computing system including the same
CN120255809A (zh) 元数据管理方法、装置、电子设备和存储介质
CN113204309B (zh) 数据储存装置以及非挥发式存储器控制方法
WO2026000922A1 (zh) 数据存储装置、数据存储系统及所使用的数据整理方法
WO2017054714A1 (zh) 磁盘阵列的读方法及装置
CN112068927B (zh) 一种用于云桌面的刻录机重定向方法及系统
CN112732176A (zh) 基于fpga的ssd访问方法及装置、存储系统及存储介质
CN115982068A (zh) 数据处理方法及相关装置
WO2022217637A1 (zh) 存储装置及其数据处理方法
US20240168876A1 (en) Solving submission queue entry overflow using metadata or data pointers
CN120723167B (zh) 一种地址访问控制系统、方法、电子设备及存储介质
CN103064638A (zh) 一种处理数据的方法、装置及系统
CN102243617A (zh) 读/写处理方法、设备及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21930830

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180082047.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2021930830

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2021930830

Country of ref document: EP

Effective date: 20230825

ENP Entry into the national phase

Ref document number: 20237031092

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020237031092

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2023557120

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWG Wipo information: grant in national office

Ref document number: 2021930830

Country of ref document: EP