CN115220649A - 信息处理系统和存储系统 - Google Patents
信息处理系统和存储系统 Download PDFInfo
- Publication number
- CN115220649A CN115220649A CN202210206076.4A CN202210206076A CN115220649A CN 115220649 A CN115220649 A CN 115220649A CN 202210206076 A CN202210206076 A CN 202210206076A CN 115220649 A CN115220649 A CN 115220649A
- Authority
- CN
- China
- Prior art keywords
- host
- storage system
- information
- read data
- command
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
实施例提供了一种信息处理系统和一种有效处理来自主机的请求的存储系统。一种信息处理系统包括主机和存储系统。主机的处理器被配置为:确定读数据的逻辑地址和读数据的大小;准备除读数据的逻辑地址和读数据的大小之外的与读数据相关的第三信息,第三信息是存储系统向主机发送读数据所必需的信息,向存储系统发送请求发送读数据的命令。存储系统的存储控制器被配置为:响应于接收到来自主机的命令,向主机发送对第三信息的请求。主机的处理器还被配置为:响应于接收到来自存储系统的请求,向存储系统发送第三信息。存储系统的存储控制器还被配置为:在没有接收到来自主机的另一命令的情况下,利用第三信息,从非易失性存储器获取读数据,并将所获取的读数据发送到主机。
Description
本申请基于并要求2021年4月20日提交的日本专利申请No.2021-070956和2022年1月24号提交的美国专利申请No.17/583019的优先权的权益,其整体内容被援引至此。
技术领域
本文描述的实施例一般地涉及信息处理系统和存储系统。
背景技术
连接到主机的存储系统响应于来自主机的请求而处理事务。
发明内容
实施例提供了一种信息处理系统和一种有效处理来自主机的请求的存储系统。
根据本实施例,一种信息处理系统包括:包括处理器的主机;以及连接到所述主机的存储系统,所述存储系统包括非易失性存储器和被配置为控制所述非易失性存储器的存储控制器。所述主机的所述处理器被配置为:确定读数据的逻辑地址和所述读数据的大小;准备除所述读数据的所述逻辑地址和所述读数据的所述大小之外的与所述读数据相关的第三信息,所述第三信息是所述存储系统向所述主机发送所述读数据所必需的信息;以及向所述存储系统发送请求发送所述读数据的命令。所述存储系统的所述存储控制器还被配置为:响应于接收到来自所述主机的所述命令,向所述主机发送对所述第三信息的请求。所述主机的所述处理器还被配置为:响应于接收到来自所述存储系统的所述请求,向所述存储系统发送所述第三信息。所述存储系统的所述存储控制器还被配置为:在没有接收到来自所述主机的另一命令的情况下,利用所述第三信息,从所述非易失性存储器获取所述读数据,并将所获取的读数据发送到所述主机。
附图说明
图1是示出根据第一实施例的信息处理系统的配置的图;
图2是示出根据第一实施例的由存储系统的存储控制器执行的功能配置的示例的框图;
图3是示出在第一实施例中使用的通用闪存(UFS)协议信息单元(UPIU)的头部分的图;
图4是用于说明在第一实施例中使用的命令的属性的图;
图5A是示出在第一实施例中使用的具有读(Read)属性的命令的图;
图5B是示出在第一实施例中使用的具有写(Write)属性的命令的图;
图5C是示出在第一实施例中使用的兼有读属性和写属性的命令的图;
图6是示出根据第一实施例的信息处理系统的操作的时序图(sequencediagram);
图7是示出根据第一实施例的比较示例的信息处理系统的操作的时序图;
图8是示出根据第二实施例的信息处理系统的操作的时序图;以及
图9是示出根据第二实施例的比较示例的信息处理系统的操作的时序图。
具体实施方式
下面将参考附图详细描述根据实施例的信息处理系统。请注意,本发明不限于这些实施例。
(第一实施例)
图1是示出根据第一实施例的信息处理系统5的配置示例的图。信息处理系统5包括存储系统1和主机2。存储系统1例如是通用闪存(UFS)器件或固态驱动器(SSD)。在下文中,将通过示例的方式描述存储系统1包括作为非易失性存储器的NAND型闪存(以下称为NAND存储器)的情况。
主机2例如是中央处理单元(CPU)、个人计算机、便携式信息设备、服务器或其它信息处理设备。主机2例如包括CPU 21和随机存取存储器(RAM)22。CPU 21和RAM 22可以经由总线连接。CPU 21例如是至少一个处理器。CPU 21控制主机2的各种组件。RAM 22例如是易失性存储器。RAM 22可以是动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。CPU21向存储系统1发送访问命令。
存储系统1被配置为可连接到主机2。可以采用任何接口标准作为用于在存储系统1和主机2之间进行通信的接口标准。两个或更多个主机2可以同时连接到存储系统1。主机2和存储系统1可以经由网络连接。
存储系统1响应于来自主机2的访问命令而向主机2发送数据和从主机2接收数据。
存储系统1包括NAND存储器12和存储控制器18。存储控制器18例如被配置为片上系统(SoC)。存储控制器18的每个功能可以通过专用硬件、执行程序的处理器(例如,固件)或其组合来实现。存储控制器18包括主机接口电路11、NAND接口电路13、RAM 14和处理器15。
处理器15例如是一个或多个处理器。处理器15通过执行存储在存储系统1中的预定位置的程序来控制存储系统1。程序的存储位置是自由设计的。例如,程序可以存储在NAND存储器12中,并在存储系统1启动时加载到RAM 14中。处理器15执行加载到RAM 14中的程序。存储系统1的控制包括多个过程。
主机接口电路11是存储系统1与主机2进行通信所用的接口设备。例如,主机接口电路11在处理器15的控制下在主机2和RAM 14之间传输用户数据。
NAND接口电路13是用于访问NAND存储器12的接口设备。NAND接口电路13在处理器15的控制下在RAM 14和NAND存储器12之间传输用户数据或管理信息。
NAND存储器12是用作存储装置的非易失性存储介质。NAND存储器12可以包括一个或多个芯片。
RAM 14是用于临时存储数据的存储介质。作为RAM 14,例如,可以采用比NAND存储器12更快的存储介质类型。作为RAM 14,例如,可以采用易失性或非易失性存储介质。RAM14例如是DRAM、SRAM、铁电RAM(FeRAM)、磁阻RAM(MRAM)或相变存储器(PCM)。
通常,在存储系统中管理用于关联存储系统中的非易失性存储器的逻辑地址和物理地址的逻辑物理地址转换表(L2P表)。然而,由于L2P表的大小通常约为存储系统的存储容量的1/500到1/1000,因此,将所有L2P表存储在存储系统的存储控制器的RAM或其它区域中是不切实际的。因此,L2P表被存储在诸如NAND存储器之类的非易失性存储器中并根据需要读出。这需要延迟并降低存储系统的性能(尤其是读操作的性能)。但是,如果可以将用于待读数据的L2P表的映射数据与读命令同时从主机发送,则可以减少读取L2P表的延迟,从而提高性能。
作为UFS标准的一部分并在2020年初标准化的主机性能增强器(HostPerformance Booster,主机性能提升器)扩展版本1.0(HPB 1.0)标准定义了主机中的存储器(例如DRAM)可以存储L2P表的部分映射数据。当符合HPB 1.0标准的主机发送读命令时,同时将用于读数据(即,待读数据)的映射数据发送到存储系统,从而减少了存储系统内部参考L2P表的开销。这可以加速读操作,尤其是随机读操作。
UFS标准采用客户端-服务器协议。这意味着存储系统不能自行向主机发送命令,主机与存储系统之间的任何通信都应由主机发起。因此,操作存储系统所需的所有信息都应包含在由主机发送的信息中。通过使用例如被称为UFS协议信息单元(UPIU)的包(packet),在主机和存储系统之间传输信息。信息的示例是主机发送的命令。以下将发送命令的UPIU称为COMMAND UPIU。
HPB 1.0标准定义映射数据包含在COMMAND UPIU中并且从主机发送到存储系统。然而,包含在COMMAND UPIU中的映射数据具有定义的大小。例如,在HPB 1.0标准的情况下,定义COMMAND UPIU可以包括8字节的映射数据。该映射数据大小对应于读数据的一个逻辑块(例如,4KB)。这将其中包含映射数据的一个读命令可以请求的读数据大小限制为最多4KB。但是,在很多情况下,来自主机的读命令请求读取大于4KB的数据。因此,优选地允许其中包含映射数据的一个读命令可以请求的读数据的大小为8KB或更大。这里需要指出,读数据的大小应该是逻辑块大小(例如,4KB)的整数倍。
在本实施例中,存储系统1通过执行基于HPB标准的命令来有效地处理来自主机2的请求。这里的基于HPB标准的命令是指当前和未来在HPB标准中定义的命令。
图2是示出由存储系统1的存储控制器18执行的功能配置的示例的框图。如图2所示,存储控制器18包括命令接收模块151、获取模块152和输出模块153。命令接收模块151接收从主机2发送的命令。这里,现在将参考图3描述UPIU的头部。
图3是示出基于HPB标准的UPIU的头部的图。如图3所示,头包括32个字节(即,字节0到字节31)的信息。
在32字节的信息中,字节0定义了“事务类型(Transaction Type)”。例如,“00000001”的“事务类型”定义该UPIU将命令从主机发送到存储系统。如上所述,此类型的UPIU被称为COMMAND UPIU。“00000010”的“事务类型”定义该UPIU将数据从主机发送到存储系统。此类型的UPIU被称为DATAOUT UPIU。“00100010”的“事务类型”定义该UPIU将数据从存储系统发送到主机。此类型的UPIU被称为DATA IN UPIU。“00110001”的“事务类型”定义该UPIU将准备传输(ready-to-transfer)状态从存储系统发送到主机,这表示存储系统准备好接收来自主机的数据,并指定存储系统能够一次性接收的数据的大小。此类型的UPIU被称为RTT UPIU。“00100001”的“事务类型”定义该UPIU将响应从存储系统发送到主机,这表示命令的执行在存储系统中完成。此类型的UPIU被称为RESPONSE UPIU。
在32字节的头中,字节1定义“标志(Flags)”字段。COMMAND UPIU中的“标志”字段指示由该COMMAND UPIU发送的命令的属性。现在将参考图4描述由“标志”字段指示的命令的属性。图4是用于说明命令的属性的图。如图4所示,“标志”的8位中的一些位中的每个位都被分配有一个属性。例如,为位6(bit6)分配了读属性,为位5(bit5)分配了写属性。
然后,图5示出了属性设置的示例。如图5A所示,将位6(bit6)设置为“1”且将位5(bit5)设置为“0”指示该命令具有读属性。如图5B所示,将位5(bit5)设置为“1”且将位6(bit6)设置为“0”指示该命令具有写属性。
如图5C所示,将位6(bit6)和位5(bit5)都设置为“1”指示该命令同时具有读属性和写属性。本实施例使用同时具有读属性和写属性的命令。在本实施例中使用的具有两个属性的命令既请求从主机2到存储系统1的数据传输(即,响应于写属性),又请求从存储系统1到主机2的数据传输(即,响应于读属性)。
返回图2。命令接收模块151获取包含在从主机2发送的接收命令中的用于读数据的映射数据。
获取模块152基于包含在由命令接收模块151获取的用于读数据的映射数据中的物理地址,从NAND存储器12的位置获取读数据。输出模块153将由获取模块152获取的读数据发送到主机2。
将参考图6描述包括存储系统1和主机2的信息处理系统5的操作。图6是示出根据第一实施例的信息处理系统5的操作的时序图。该操作使用从主机2发送的映射数据,通过一个命令实现8KB或更大的读操作。
这里,假设主机2(具体是指CPU 21)将存储系统1的L2P表存储在RAM 22中。主机2首先确定读数据的逻辑地址和大小,并使用COMMAND UPIU向存储系统1发送命令(步骤S1)。该命令可以指定读数据的逻辑地址(例如,起始逻辑地址)和大小。该命令可以通过读数据的起始逻辑地址和大小来指定多个逻辑地址。该命令同时具有上述读属性和写属性。换言之,在图5C所示的“标志”字段中,位6(bit6)和位5(bit5)都被设置为“1”。在接收到该命令时,存储系统1的命令接收模块151向主机2发送RTT UPIU(步骤S2)。存储系统1向主机2发送RTT UPIU以请求用于读数据的映射数据。如上所述,RTT UPIU指定存储系统1能够一次性接收的数据的大小(这里是映射数据的大小)。
响应于RTT UPIU,主机2使用DATA OUT UPIU将用于读数据的映射数据发送到存储系统1(步骤S3)。映射数据可以包括多个条目,每个条目映射NAND存储器12的一个物理地址和在命令中指定的多个逻辑地址中的一个逻辑地址。如果用于读数据的整个映射数据超过了RTT UPIU中指定的大小,则主机2分割整个映射数据,使得要发送到存储系统1的映射数据的大小不超过指定大小并发送分割的映射数据。因此,通过指定存储系统1能够一次性接收的大小,存储系统1可以可靠地从主机2接收用于读数据的映射数据。存储系统1的命令接收模块151获取用于读数据的映射数据。获取模块152从映射数据所指示的物理地址的位置获取读数据。输出模块153使用DATA IN UPIU将由获取模块152获取的读数据发送到主机2(步骤S4)。存储系统1的命令接收模块151使用RESPONSE UPIU发送响应以完成处理(步骤S5)。
如上所述,通过使用一个命令,主机2将用于读数据的映射数据发送到存储系统1,然后存储系统1从映射数据所指示的物理地址的位置获取读数据,并且将读数据发送到主机2。因此,存储系统1不需要访问自己管理的L2P表。读请求可以通过信息处理系统5中的一个命令有效地处理。
这里,将描述比较示例。根据比较示例的信息处理系统5a包括存储系统1a和主机2a。在比较示例中,使用用于将映射数据发送到存储系统1a的命令和用于将读数据发送到主机2a的另一命令。图7是示出根据比较示例的信息处理系统5a的操作的时序图。
这里,假设主机2a将存储系统1a的L2P表存储在其内部RAM中。如图7所示,主机2a使用COMMAND UPIU向存储系统1a发送具有写属性的第一命令(步骤S11)。请注意,该第一命令具有写属性,但没有读属性。在接收到该命令时,存储系统1a向主机2a发送RTT UPIU(步骤S12)。如上所述,RTT UPIU指定存储系统1a能够一次性接收的映射数据的大小。响应于RTT UPIU,主机2a使用DATA OUT UPIU将映射数据发送到存储系统1a(步骤S13)。然后存储系统1a使用RESPONSE UPIU发送响应以完成第一命令(步骤S14)。
然后,主机2a使用COMMAND UPIU向存储系统1a新发送具有读属性的第二命令(步骤S15)。存储系统1a从在步骤S13中接收到的映射数据所表示的物理地址的位置获取读数据。然后存储系统1a使用DATA IN UPIU将读数据发送到主机2a(步骤S16)。存储系统1a最后使用RESPONSE UPIU向主机2a发送响应以完成第二命令(步骤S17)。
在比较示例的方法中,由于映射数据不是作为COMMAND UPIU的辅助信息,而是作为响应于RTT UPIU的写数据来发送的,因此可以处理大小较大的读数据(这会导致大小较大的映射数据)。但是,存在以下问题。
首先,一个读请求需要两个命令,这将消耗存储系统1a的命令队列的两倍。通常,可以排队的命令数越大,预期的读性能就越好。因此,将可以排队的命令数减半会产生显著影响。
其次,UFS标准允许以乱序方式执行优先级相同的命令。然而,为了执行上述第一命令和第二命令,存储系统1a需要保证这两个命令的执行顺序。即,存储系统1a需要先执行第一命令,然后再执行第二命令。这样的要求可能增加处理的复杂度并降低性能。
另一方面,根据第一实施例,映射数据的发送/接收和读数据的发送/接收由一个命令执行。因此,与比较示例相比,可以减少命令队列的消耗。此外,不需要用于保证命令之间的执行顺序的处理,并且可以有效地执行该处理。
(第二实施例)
在第一实施例中,已经描述了使用同时具有写属性和读属性的命令来发送/接收映射数据和读数据的情况。在第二实施例中,使用此类命令发送/接收认证数据和读数据。
现在将参考图8描述根据第二实施例的信息处理系统5的操作。图8是示出根据第二实施例的信息处理系统5的操作的时序图。
主机2首先确定读数据的逻辑地址和大小,并使用COMMAND UPIU向存储系统1发送命令(步骤S21)。该命令同时具有读属性和写属性。
在接收到该命令时,存储系统1的命令接收模块151向主机2发送RTT UPIU(步骤S22)。存储系统1向主机2发送RTT UPIU以请求认证数据。如上所述,RTT UPIU指定存储系统1能够一次性接收的数据的大小(这里是指认证数据的大小)。
响应于RTT UPIU,主机2使用DATA OUT UPIU将认证数据发送到存储系统1(步骤S23)。该DATA OUT UPIU可以包括读数据的逻辑地址和大小。例如,认证数据在这里是一次性密码。存储系统1的命令接收模块151获取认证数据。获取模块152基于逻辑地址读取读数据,并通过使用所获取的一次性密码对读数据进行加密来生成加密读数据。输出模块153使用DATA IN UPIU将加密读数据发送到主机2(步骤S24)。存储系统1的命令接收模块151使用RESPONSE UPIU发送响应以完成处理(步骤S25)。
如上所述,通过使用一个命令,主机2将认证数据发送到存储系统1,并且存储系统1使用认证数据生成加密读数据,并将加密读数据发送到主机2。因此,读请求可以通过信息处理系统5中的一个命令有效地处理。
这里,将描述比较示例。根据比较示例的信息处理系统5b包括存储系统1b和主机2b。在比较示例中,使用用于将认证数据发送到存储系统1的命令和用于将加密读数据发送到主机2b的另一命令。图9是示出根据比较示例的信息处理系统5b的操作的时序图。
如图9所示,主机2b使用COMMAND UPIU向存储系统1b发送具有写属性的第一命令(步骤S31)。请注意,第一命令具有写属性,但没有读属性。在接收到该命令时,存储系统1b向主机2b发送RTT UPIU(步骤S32)。响应于RTT UPIU,主机2b使用DATA OUT UPIU将认证数据发送到存储系统1b(步骤S33)。然后存储系统1b使用RESPONSE UPIU发送响应以完成第一命令(步骤S34)。
然后,主机2b使用COMMAND UPIU向存储系统1b新发送具有读属性的第二命令(步骤S35)。存储系统1b获取读数据并使用在步骤S33中接收到的认证数据对读数据进行加密。然后存储系统1b使用DATA IN UPIU将加密读数据发送到主机2b(步骤S36)。存储系统1b最后使用RESPONSE UPIU向主机2b发送响应以完成第二命令(步骤S37)。
如图7所示,图9所示的过程也存在消耗大量命令队列的问题和需要保证命令之间的顺序的问题。
另一方面,根据第二实施例,认证数据的发送/接收和加密读数据的发送/接收通过一个命令执行。因此,与比较示例相比,命令队列的消耗可以减少。此外,不需要用于保证命令之间的执行顺序的处理,并且可以有效地执行该处理。
尽管已经描述了某些实施例,但是这些实施例仅作为示例呈现,并且并不旨在限定本发明的范围。实际上,本文所述的新颖实施例可以以多种其它形式来实施;此外,在不脱离本发明的精神的情况下,可以对这里描述的实施例的形式进行各种省略、替换和变更。所附权利要求及其等价物旨在覆盖落入本发明范围和精神内的这些形式或修改。
Claims (20)
1.一种信息处理系统,包括:
包括处理器的主机;以及
连接到所述主机的存储系统,所述存储系统包括非易失性存储器和被配置为控制所述非易失性存储器的存储控制器,其中,
所述主机的所述处理器被配置为:
确定读数据的逻辑地址和所述读数据的大小;
准备除所述读数据的所述逻辑地址和所述读数据的所述大小之外的与所述读数据相关的第三信息,所述第三信息是所述存储系统向所述主机发送所述读数据所必需的信息;以及
向所述存储系统发送请求发送所述读数据的命令,
所述存储系统的所述存储控制器还被配置为:
响应于接收到来自所述主机的所述命令,向所述主机发送对所述第三信息的请求,
所述主机的所述处理器还被配置为:
响应于接收到来自所述存储系统的所述请求,向所述存储系统发送所述第三信息,
所述存储系统的所述存储控制器还被配置为:
在没有接收到来自所述主机的另一命令的情况下,利用所述第三信息,从所述非易失性存储器获取所述读数据,并将所获取的读数据发送到所述主机。
2.根据权利要求1所述的信息处理系统,其中,
所述第三信息包括用于映射所述读数据的所述逻辑地址和所述非易失性存储器的存储所述读数据的位置的物理地址的映射数据,
所述存储系统的所述存储控制器被配置为:
从所述非易失性存储器的所述映射数据中指定的所述位置获取所述读数据。
3.根据权利要求2所述的信息处理系统,其中,
所述映射数据包括多个条目,每个条目映射所述非易失性存储器的一个物理地址和在所述命令中指定的多个逻辑地址中的一个逻辑地址。
4.根据权利要求1所述的信息处理系统,其中,
所述第三信息包括一次性密码,
所述存储系统的所述存储控制器被配置为:
从所述非易失性存储器获取所述读数据,并在使用所述一次性密码对所获取的读数据进行加密后发送所述读数据。
5.根据权利要求1所述的信息处理系统,其中,
所述命令基于符合通用闪存存储标准的主机性能增强器扩展标准。
6.根据权利要求1所述的信息处理系统,其中,
所述命令中同时设置了读属性和写属性。
7.根据权利要求6所述的信息处理系统,其中,
所述读属性和所述写属性设置在所述命令的头中。
8.根据权利要求6所述的信息处理系统,其中,
指示具有所述读属性的位值和指示具有所述写属性的位值同时设置在所述命令的所述头中。
9.根据权利要求1所述的信息处理系统,其中,
所述存储系统的所述存储控制器还被配置为在所述请求中指定能够一次性接收的所述第三信息的大小。
10.根据权利要求9所述的信息处理系统,其中,
所述主机的所述处理器还被配置为:
在所述主机的所述处理器准备的所述第三信息的大小超过在所述请求中指定的所述大小时,基于在所述请求中指定的所述大小分割所述第三信息并将所述分割后的第三信息发送到所述存储系统。
11.一种能连接到主机的存储系统,所述存储系统包括:
非易失性存储器;以及
存储控制器,其被配置为:
响应于从所述主机接收到请求发送读数据的命令,向所述主机发送对第三信息的请求,所述第三信息是除所述读数据的逻辑地址和所述读数据的大小之外的与所述读数据相关的信息,所述第三信息是所述存储控制器向所述主机发送所述读数据所必需的信息;以及
在没有接收到来自所述主机的另一命令的情况下,利用已经响应于所述请求而从所述主机发送的所述第三信息,从所述非易失性存储器获取所述读数据,并将所获取的读数据发送到所述主机。
12.根据权利要求11所述的存储系统,其中,
所述第三信息包括用于映射所述读数据的所述逻辑地址和所述非易失性存储器的存储所述读数据的位置的物理地址的映射数据,
所述存储控制器被配置为:
从所述非易失性存储器的所述映射数据中指定的所述位置获取所述读数据。
13.根据权利要求12所述的存储系统,其中,
所述映射数据包括多个条目,每个条目映射所述非易失性存储器的一个物理地址和在所述命令中指定的多个逻辑地址中的一个逻辑地址。
14.根据权利要求11所述的存储系统,其中,
所述第三信息包括一次性密码,
所述存储控制器被配置为:
从所述非易失性存储器获取所述读数据,并在使用所述一次性密码对所获取的读数据进行加密后发送所述读数据。
15.根据权利要求11所述的存储系统,其中,
所述命令基于符合通用闪存存储标准的主机性能增强器扩展标准。
16.根据权利要求11所述的存储系统,其中,
所述命令中同时设置了读属性和写属性。
17.根据权利要求16所述的存储系统,其中,
所述读属性和所述写属性设置在所述命令的头中。
18.根据权利要求16所述的存储系统,其中,
指示具有所述读属性的位值和指示具有所述写属性的位值同时设置在所述命令的所述头中。
19.根据权利要求11所述的存储系统,其中,
所述存储控制器还被配置为在所述请求中指定能够一次性接收的所述第三信息的大小。
20.根据权利要求19所述的存储系统,其中,
在所述主机中准备的所述第三信息的大小超过在所述请求中指定的所述大小时,由所述主机基于在所述请求中指定的所述大小分割所述第三信息并将所述分割后的第三信息发送到所述存储系统。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-070956 | 2021-04-20 | ||
JP2021070956A JP2022165569A (ja) | 2021-04-20 | 2021-04-20 | メモリシステム、メモリデバイス、およびデータ送信方法 |
US17/583,019 US20220334734A1 (en) | 2021-04-20 | 2022-01-24 | Information processing system and memory system |
US17/583019 | 2022-01-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115220649A true CN115220649A (zh) | 2022-10-21 |
Family
ID=83602363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210206076.4A Withdrawn CN115220649A (zh) | 2021-04-20 | 2022-02-28 | 信息处理系统和存储系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220334734A1 (zh) |
JP (1) | JP2022165569A (zh) |
CN (1) | CN115220649A (zh) |
TW (1) | TW202242666A (zh) |
-
2021
- 2021-04-20 JP JP2021070956A patent/JP2022165569A/ja active Pending
-
2022
- 2022-01-24 US US17/583,019 patent/US20220334734A1/en not_active Abandoned
- 2022-02-24 TW TW110139607A patent/TW202242666A/zh unknown
- 2022-02-28 CN CN202210206076.4A patent/CN115220649A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20220334734A1 (en) | 2022-10-20 |
JP2022165569A (ja) | 2022-11-01 |
TW202242666A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775455B2 (en) | Storage device for interfacing with host and method of operating the host and the storage device | |
EP3608790B1 (en) | Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests | |
US20190171392A1 (en) | Method of operating storage device capable of reducing write latency | |
US20100169549A1 (en) | Memory system and controller | |
US20220091760A1 (en) | Storage device, host device, electronic device including storage device and host device, and method of operating the same | |
US20200117722A1 (en) | Efficient file storage and retrieval system, method and apparatus | |
CN112214240A (zh) | 主机输出输入命令的执行装置及方法及计算机可读取存储介质 | |
KR20180126656A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20190004992A1 (en) | Chipset with near-data processing engine | |
US20230305749A1 (en) | Nonvolatile storage device, host, and method of controlling nonvolatile storage device | |
EP3850474A1 (en) | Hybrid memory system interface | |
KR20210004629A (ko) | 메모리 시스템 및 그것의 동작방법 | |
US20220334734A1 (en) | Information processing system and memory system | |
CN113961487A (zh) | 加速存储器存取的电子装置及方法 | |
JP2021182300A (ja) | メモリコントローラ、メモリシステムおよびメモリシステムの制御方法 | |
US20240168876A1 (en) | Solving submission queue entry overflow using metadata or data pointers | |
US20240264772A1 (en) | Operation method of storage device | |
US20230342075A1 (en) | Memory system and method of controlling transmission of packets | |
US12067288B2 (en) | Storage devices including a controller for handling command sequences and methods of operating the same | |
US20230236742A1 (en) | NONVOLATILE MEMORY EXPRESS (NVMe) OVER COMPUTE EXPRESS LINK (CXL) | |
EP4414821A1 (en) | Operation method of storage device | |
EP4184337A1 (en) | Storage devices including a controller and methods operating the same | |
US20240295990A1 (en) | System and Method for searching a buffer of a non-volatile storage Host Controller | |
CN110568991B (zh) | 降低锁引起的io命令冲突的方法与存储设备 | |
US20240184712A1 (en) | Memory system with improved map table update efficiency, memory controller therefor, and operating method thereof |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20221021 |
|
WW01 | Invention patent application withdrawn after publication |