CN114385070B - 主机、数据存储装置、数据处理系统以及数据处理方法 - Google Patents
主机、数据存储装置、数据处理系统以及数据处理方法 Download PDFInfo
- Publication number
- CN114385070B CN114385070B CN202110396352.3A CN202110396352A CN114385070B CN 114385070 B CN114385070 B CN 114385070B CN 202110396352 A CN202110396352 A CN 202110396352A CN 114385070 B CN114385070 B CN 114385070B
- Authority
- CN
- China
- Prior art keywords
- command
- host
- information
- data
- data processing
- 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.)
- Active
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 78
- 238000012545 processing Methods 0.000 title claims abstract description 53
- 238000003672 processing method Methods 0.000 title description 9
- 230000015654 memory Effects 0.000 claims description 133
- 238000013507 mapping Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000010410 layer Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 150000003623 transition metal compounds Chemical class 0.000 description 1
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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0656—Data buffering 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/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space 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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及一种数据处理系统,该数据处理系统包括:主机,包括命令队列,该命令队列包括多个命令存储区域,并且主机被配置成在将多个命令之中的第二命令插入到命令队列中时,将该第二命令的摘要信息存储在多个命令存储区域之中的命令存储区域的预留存储区域中,该命令存储区域存储有多个命令之中的作为第二命令的先前命令的第一命令;以及数据存储装置,被配置成根据从主机接收到的新命令通知,从命令队列中获取第一命令并且存储所获取的第一命令。
Description
相关申请的交叉引用
本申请要求于2020年10月5日提交的、申请号为10-2020-0127937的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体装置,并且更特别地,涉及一种主机、数据存储装置、数据处理系统以及数据处理方法。
背景技术
因为使用存储器装置的数据存储装置不具有机械驱动器,所以该数据存储装置具有优异的稳定性和耐久性、高信息访问速度和低功耗。具有这种优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置以及固态驱动器(SSD)。
用于闪存的诸如UFS和高速非易失性存储器(NVMe)协议的规范标准化技术通过定义超越现有接口限制的新接口来提高性能。
操作员已经意识到,仅通过改善主机的硬件规格或数据存储装置的软件来提高UFS的性能是有限的,并且已经寻求了一种用于提高主机与数据存储装置之间的操作效率的方法。
发明内容
各个实施例针对一种主机、数据存储装置、数据处理系统以及数据处理方法,其通过改变命令插入方法,使得数据存储装置可以预先识别下一命令,从而提高数据存储装置中的命令处理性能。
在实施例中,一种数据处理系统可以包括:主机,包括命令队列,该命令队列包括多个命令存储区域,并且主机被配置成在将多个命令之中的第二命令插入到命令队列中时,将该第二命令的摘要信息存储在多个命令存储区域之中的命令存储区域的预留存储区域中,该命令存储区域存储有多个命令之中的作为第二命令的先前命令的第一命令;以及数据存储装置,被配置成根据从主机接收到的新命令通知,从命令队列中获取第一命令并且存储所获取的第一命令。
在实施例中,一种主机可以包括:主机存储器,包括命令队列,该命令队列包括多个命令存储区域,并且主机存储器被配置成顺序地将插入命令队列的多条命令信息分别存储在多个命令存储区域中;以及处理器,被配置成在将多个命令中的第二命令插入到命令队列中时,将该第二命令的摘要信息存储在多个命令中的第一命令的命令存储区域中。每个命令存储区域可以包括存储下一命令的摘要信息的预留存储区域,并且第二命令的摘要信息存储在预留存储区域中。
在实施例中,一种数据存储装置可以包括:非易失性存储器装置;以及控制器,被配置成控制非易失性存储器装置以根据从主机接收到的新命令通知,从主机的命令队列获取与非易失性存储器装置相关联的第一命令并且存储所获取的第一命令,并且基于第一命令中包括的第二命令的摘要信息,执行关于与非易失性存储器装置相关联的第二命令的预操作。第二命令可以是第一命令的下一命令。
在实施例中,一种数据处理方法可以包括:在命令队列的多个命令存储区域的每一个中分配预留存储区域;将第一命令插入到命令队列的第一命令存储区域中;当将第二命令插入到命令队列的第二命令存储区域中时,将第二命令的摘要信息存储在作为第二命令的先前命令的第一命令的预留存储区域中,并且生成新命令通知;获取第一命令;并且基于与第一命令一起传送的第二命令的摘要信息,执行关于第二命令的预操作。
第二命令的摘要信息的存储可以包括:当插入第二命令时,检查是否已经获取第一命令;并且当检查结果指示尚未获取第一命令时,将第二命令的摘要信息存储在存储有第一命令的命令存储区域的预留存储区域中。
第二命令的摘要信息的存储可以包括:当将第二命令插入到命令队列中时,在不检查是否已经获取第一命令的情况下,将第二命令的摘要信息存储在存储有第一命令的命令存储区域的预留存储区域中。
在实施例中,一种数据处理系统可以包括:主机,包括命令队列,该命令队列包括多个命令存储区域,并且主机被配置成顺序地将第一命令和第一命令之后的第二命令存储在命令队列的第一和第二命令存储区域中,并且将第二命令的摘要信息存储在第一命令存储区域的预留存储区域中,每个命令存储区域包括预留存储区域;以及数据存储装置,包括存储器装置,并且被配置成从主机接收每个命令的通知,响应于来自主机的对第一命令的通知而从第一命令存储区域中获取第一命令以及第二命令的摘要信息,并且对存储器装置执行与第一命令相关联的操作并对存储器装置执行与第二命令相关联的预操作。
根据该实施例,当将命令存储在命令队列中时,主机可以将下一命令的摘要信息一起存储,并且将该摘要信息提前传送到数据存储装置。因此,在获取下一命令之前,数据存储装置可以基于下一命令的摘要信息,执行处理下一命令所需要的预操作,从而提高命令处理性能。
附图说明
图1是示出根据本公开的实施例的数据处理系统的配置的示图。
图2是示出根据本公开的实施例的数据处理系统的示图。
图3至图7是用于描述根据本公开的实施例的将命令存储在命令队列中的方法的示图。
图8是详细示出图2的数据存储装置的一些组件的示图。
图9是用于描述根据本公开的实施例的数据处理方法的流程图。
图10是示出根据本公开的实施例的包括固态驱动器(SSD)的数据处理系统的示图。
图11是示出图10的控制器的配置的示图。
图12是示出根据本公开的实施例的包括数据存储装置的数据处理系统的示图。
图13是示出根据本公开的实施例的包括数据存储装置的数据处理系统的示图。
图14是示出根据本公开的实施例的包括数据存储装置的网络系统的示图。
图15是示出根据本公开的实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
下文中,将通过各个实施例并参照附图来描述根据本公开的主机、数据存储装置、数据处理系统以及数据处理方法。
图1是示出根据本公开的实施例的数据处理系统10的配置的示图。
参照图1,数据处理系统10可以包括主机100和数据存储装置端控制器210。控制器210可以是高速非易失性存储器(NVMe)控制器。
在图1中,通过安装在主机100中的命令队列将输入和输出(I/O)命令传送到控制器210并通过命令队列运行I/O命令的过程可以如下执行。
首先,主机100可以将命令插入到提交队列131-1(①队列命令)中,并通知控制器210存在新命令(②新末尾门铃(Ring Doorbell New Tail))。
在该实施例中,当插入当前命令时,主机100可以将当前命令的摘要信息附加地存储在命令队列的先前命令所存储的存储区域中,并且因此使控制器210能够执行关于待获取的下一命令的预操作。下面将详细描述该过程。
控制器210可以识别新命令的存在,从主机100的提交队列131-1中获取命令(③获取命令),然后处理相应的命令(④处理命令)。
当完全处理命令时,控制器210可以将处理结果插入到完成队列131-2中(⑤队列完成),并且生成MSI_X中断(⑥生成中断)。
主机100可以通过完成队列131-2检查命令处理结果(⑦处理完成),并且将指示主机100已经完全检查了中断的通知(⑧新头部门铃(Ring Doorbell New Head))传输到控制器210。
图2是示出根据本公开的实施例的数据处理系统10的控制框图。
下文中,将参照图3至图7来描述数据处理系统,图3至图7是用于描述根据本公开的实施例的将命令存储在命令队列中的方法的示图。
参照图2,数据处理系统10可以包括主机100和数据存储装置200。
当将第二命令插入到包括多个命令存储区域的命令队列131中,其中每个命令存储区域均分配有预留存储区域时,主机100可以将第二命令的摘要信息存储在命令存储区域的预留存储区域中,该命令存储区域存储有与第二命令的先前命令相对应的第一命令。第二命令可以指示在第一命令之后生成的命令。第一命令可以指示在第二命令生成之前生成的单个命令或多个命令。
在一些实施例中,第一命令可以包含用于命令处理的命令描述信息。
第二命令的摘要信息可以指示使控制器能够执行关于第二命令的预操作的简要信息。摘要信息可以包含比命令描述信息更少的信息量。
例如,摘要信息可以包含命令类型、起始逻辑块地址(LBA)和命令大小。然而,本实施例不限于此,并且摘要信息中包含的信息可以根据操作员的需要来改变。
当摘要信息存储在第一命令所存储的上述命令存储区域的预留存储区域中时,其可以指示摘要信息存储在第一命令的命令存储区域中,以便在数据存储装置200获取第一命令时一起获取摘要信息。
具体地,主机100可以包括处理器110、主机存储器130、装置接口150、用户接口170和附加装置190。
处理器110可以控制数据处理系统10的全部操作,并且执行逻辑运算。处理器110可以是基于硬件的数据处理装置,包括物理上被配置成运行代码或程序中包含的命令的电路。
当将第二命令插入到命令队列131中时,处理器110可以将第二命令的摘要信息存储在分配给第一命令的命令存储区域的内部的预留存储区域中。
如图3所示,处理器110可以将命令CMD Info顺序地插入到命令队列131中。
在如图4所示的本实施例中,当将第二命令CMD Info#2插入到命令队列131时,处理器110可以将第二命令的摘要信息存储在分配给存储有第一命令CMD Info#1的命令存储区域A的内部的预留存储区域A-1中。预留存储区域可以指示先前被分配以存储下一命令的摘要信息的区域。
当将第二命令插入到命令队列131中时,处理器110可以检查是否已经获取第一命令。当检查到尚未获取第一命令时,处理器110可以将第二命令的摘要信息存储在存储有第一命令的命令存储区域的预留存储区域中。
在图7所示的示例中,当插入CMD Info#4时,处理器110可以检查是否已经获取CMDInfo#3。当检查到尚未获取CMD Info#3时,处理器110可以将CMD sum#4存储在预留存储区域C-1中。CMD sum#4可以是CMD Info#4的摘要信息。
当将第二命令插入到命令队列131中时,处理器110可以在不检查是否已经获取第一命令的情况下,将第二命令的摘要信息存储在存储有第一命令的命令存储区域的预留存储区域中。
如上所述,当在先前命令中包括待插入的当前命令的摘要信息时,处理器110可以检查数据存储装置200是否已经获取先前命令,然后执行该包括过程。可选地,处理器110可以执行包括过程,而无论数据存储装置200是否已经获取先前命令。
当为命令存储区域分配预留存储区域时,处理器110可以分配具有能够存储一个或多个第二命令的摘要信息的大小的预留存储区域。
在该实施例中,第一命令可以指示在第二命令生成之前生成的命令,并且指示单个命令或多个命令。
当被配置成在存储第二命令的摘要信息的情况下存储刚好在第二命令之前的一个命令的摘要信息时,处理器110可以将第二命令的摘要信息存储在刚好在第二命令之前的一个第一命令的预留存储区域中。
在图4所示的示例中,处理器110可以将第二命令的摘要信息仅存储在预留存储区域A-1中,该预留存储区域A-1分配给存储有第一命令CMD Info#1的命令存储区域A的内部。
此外,如图5所示,处理器110可以将第三命令CMD Info#3的摘要信息仅存储在分配给存储有第二命令CMD Info#2的命令存储区域B的内部的预留存储区域B-1中。在图5中,命令CMD Info#1和CMD Info#2可以是作为第三命令CMD info#3的先前命令的第一命令。
当第一命令包括彼此不同的多个第一命令并且处理器110被配置成将第二命令的摘要信息存储在多个先前命令中时,处理器110可以将第二命令的摘要信息存储在多个第一命令的每个预留存储区域。
在一些实施例中,处理器110可以将第二命令的摘要信息存储在多个第一命令的预留存储区域之中的预设数量的预留存储区域中。
在图5的示例中,处理器110可以将第三命令CMD Info#3的摘要信息存储在预留存储区域A-1和B-1中,预留存储区域A-1和B-1被分配给存储有第一和第二命令CMD Info#1和CMD Info#2的命令存储区域A和B的内部。
参照图6,多个第二命令的摘要信息以及一个第二命令CMD Sum#2的摘要信息也可以存储在预留存储区域的每一个中。对于该操作,当将预留存储区域分配给命令存储区域时,处理器110可以分配具有能够存储一个或多个第二命令的摘要信息的大小的预留存储区域。
如图6所示,可以将CMD sum#2和CMD sum#3存储在CMD Info#1的预留存储区域A-1中。当插入CMD Info#3时,处理器110可以将CMD Info#3存储在预留存储区域B-1中,然后根据操作员的设置信息将在CMD Info#3之后生成的命令的摘要信息存储在预留存储区域B-1或A-1中。
返回参照图2,主机存储器130可以包括与处理器110通信的主机100或数据处理系统10的主存储器。由处理器110运行和参考的代码和数据可以被临时存储在主机存储器130中。处理器110可以使用主机存储器130运行诸如操作系统和应用的代码并处理数据。主机存储器130可以从包括诸如静态RAM(SRAM)、动态RAM(DRAM)和同步DRAM(SDRAM)的易失性存储器以及包括诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和铁电RAM(FeRAM)的非易失性存储器的随机存取存储器(RAM)中选择。
主机存储器130可以包括命令队列131,该命令队列131包括多个命令存储区域。命令队列131可以顺序地将插入到其中的多条命令信息存储在各个命令存储区域中。
命令存储区域中的每一个可以包括存储下一命令的摘要信息的预留存储区域。
如图2所示,命令队列131可以包括提交队列131-1和完成队列131-2。在一些实施例中,上述第二命令的摘要信息可以存储在提交队列131-1中。
装置接口150可以在主机100和数据存储装置200之间提供物理连接。
用户接口170可以在处理器110的控制下与用户通信。例如,用户接口170可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、照相机、麦克风、陀螺仪传感器和振动传感器。用户接口170可以包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
附加装置190可以包括调制解调器,以使数据处理系统10能够通过各种有线或无线通信协议与外部装置通信。
当数据存储装置200从主机100接收到新命令通知时,数据存储装置200可以从命令队列131获取第一命令,并且存储所获取的第一命令。
在一些实施例中,第一命令可以指示待从主机100获取的命令。
数据存储装置200可以存储由诸如以下的主机100访问的数据:移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、平板PC、或车载式信息娱乐系统。数据存储装置200也可以被称为存储器系统。
根据联接到主机100的接口协议,数据存储装置200可以被制造为各种类型的存储装置中的任意一种。例如,数据存储装置200可以被配置为包括以下的各种类型的存储装置中的任意一种:固态驱动器(SSD),诸如eMMC、RS-MMC或微型MMC的多媒体卡(MMC),诸如迷你SD或微型SD的安全数字(SD)卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCIe)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
数据存储装置200可以被制造为各种类型的封装中的任意一种。例如,数据存储装置200可以被制造为诸如以下的各种类型的封装中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
数据存储装置200可以包括控制器210和非易失性存储器装置230。
当控制器210从主机100接收到新命令通知时,控制器210可以从命令队列131获取第一命令,并且存储所获取的第一命令。在一些实施例中,控制器210可以基于第一命令中包括的第二命令的摘要信息来执行关于第二命令的预操作。
在一些实施例中,第一命令可以指示所获取的命令,并且第二命令可以指示在第一命令生成之后生成的命令,即,尚未由控制器210获取的下一命令。
下文中,以控制器210基于第二命令的摘要信息执行预操作的情况为例进行描述。
例如,当第二命令的摘要信息包含读取命令、起始LBA和大小时,控制器210可以基于该读取命令、起始LBA和大小,从非易失性存储器装置230预获取相应的数据,并且存储预获取的数据。
又例如,当第二命令的摘要信息包含读取命令、起始LBA和大小时,控制器210可以基于该读取命令、起始LBA和大小,预先识别关于读取命令的逻辑到物理(L2P)地址映射信息。
还例如,当第二命令的摘要信息包含用于请求装置重启的重置命令Reset CMD时,控制器210可以预先将存储在易失性存储器215中的系统数据存储到非易失性存储器装置230中。
再例如,当第二命令的摘要信息包含命令类型、起始LBA和大小时,控制器210可以在处理写入命令或读取命令时,根据该命令类型、起始LBA和大小,预先调整用于数据输入/输出的缓冲器的大小。
图8是详细示出图2中的数据存储装置200的控制器210的一些组件的示图。
参照图8,控制器210可以包括主机接口211、处理器213和存储器接口217。主机接口211可以包括命令处理器2111、第一写入缓冲器2113、第一读取缓冲器2115和第一DMA(Direct Memory Access)引擎2117。
命令处理器2111可以获取从主机100提供的命令,调度命令的处理顺序,并且顺序地将命令提供到处理器213。
第一写入缓冲器2113可以临时存储从主机100提供的写入数据。
第一读取缓冲器2115可以临时存储从非易失性存储器装置230读取的数据。
在写入操作期间,第一DMA引擎2117可以将存储在第一写入缓冲器2113中的数据传送到设置在控制器210内部或外部的缓冲存储器(未示出),以便存储数据。在读取操作期间,第一DMA引擎2117可以读取存储在缓冲存储器中的数据,并且将读取数据存储在第一读取缓冲器2115中。
存储器接口217可以提供用于在控制器210与非易失性存储器装置230之间传输和接收信号的通信通道。存储器接口217可以在处理器213的控制下将存储在缓冲存储器中的数据写入非易失性存储器装置230。此外,存储器接口217可以将从非易失性存储器装置230读取的数据传送到缓冲存储器以存储数据。
存储器接口217可以包括命令控制器2171、第二写入缓冲器2173、第二读取缓冲器2175和第二DMA引擎2177。
命令控制器2171可以基于从处理器213提供的命令将控制信号传输到非易失性存储器装置230。
第二写入缓冲器2173可以在写入操作期间临时存储从缓冲存储器传输的写入数据。
第二读取缓冲器2175可以在读取操作期间临时存储从非易失性存储器装置230读取的数据。
在写入操作期间,第二DMA引擎2177可以将存储在缓冲存储器中的写入数据传送到第二写入缓冲器2173以存储写入数据。在读取操作期间,第二DMA引擎2177可以将存储在第二读取缓冲器2175中的读取数据传送到缓冲存储器以存储读取数据。
为了处理第二命令,控制器210可以基于第二命令的摘要信息中包含的命令类型、起始LBA和大小,预先调整第一写入缓冲器2113、第一读取缓冲器2115、第二写入缓冲器2173和第二读取缓冲器2175中的至少一个的大小。
控制器210可以通过驱动加载在存储器215中的固件或软件,控制数据存储装置200的全部操作。控制器210可以解码并驱动诸如固件或软件的基于代码的指令或算法。控制器210可以以硬件或硬件和软件的组合来实施。
返回参照图2,控制器210可以包括主机接口211、处理器213、存储器215和存储器接口217。尽管未在图2中示出,但是控制器210可以进一步包括错误校正码(ECC)引擎,其通过对从主机提供的写入数据执行ECC编码来生成奇偶校验数据,并使用该奇偶校验数据对从非易失性存储器装置230读取的数据执行ECC解码。ECC引擎可以安装在存储器接口217的内部或外部。
主机接口211可以响应于主机100的协议而接口连接主机100与数据存储装置200。例如,主机接口211可以通过诸如以下的协议中的任意一种与主机100通信:通用串行总线(USB)、通用闪存(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)和高速PCI(PCI-e)。
处理器213可以包括微控制单元(MCU)和中央处理单元(CPU)。处理器213可以处理从主机100接收到的请求。为了处理从主机100接收到的请求,处理器213可以驱动加载到存储器215的基于代码的指令或算法,即固件,并且控制对非易失性存储器装置230以及诸如主机接口211、存储器215和存储器接口217的内部装置的操作。
处理器213可以基于从主机100接收到的请求,生成用于控制非易失性存储器装置230的操作的控制信号。进一步地,处理器213可以通过存储器接口217将所生成的控制信号提供到非易失性存储器装置230。
存储器215可以包括动态RAM(DRAM)或静态RAM(SRAM)。存储器215可以存储由处理器213驱动的固件。此外,存储器215可以存储驱动固件所需要的数据,例如,元数据。也就是说,存储器215可以操作为处理器213的工作存储器。尽管图2中未示出,但是控制器210可以进一步包括邻近处理器213设置的处理器专用存储器,并且存储在存储器215中的固件和元数据可以加载到处理器专用存储器中。
存储器215可以包括数据缓冲器,该数据缓冲器用于临时存储从主机100接收到的待被存储到非易失性存储器装置230的写入数据或临时存储从非易失性存储器装置230读取并将被传输到主机100的读取数据。也就是说,存储器215可以操作为缓冲存储器。
尽管图2示出了存储器215安装在控制器210中,但是存储器215可以安装在控制器210的外部。
存储器接口217可以在处理器213的控制下控制非易失性存储器装置230。当非易失性存储器装置230被配置为NAND闪速存储器时,存储器接口217可以被称为闪存控制顶(Flash Control Top:FCT)。存储器接口217可以将由处理器213生成的控制信号传输到非易失性存储器装置230。控制信号可以包括命令、地址和用于控制非易失性存储器装置230的操作的操作控制信号。操作控制信号可以包括例如芯片使能信号、命令锁存使能信号、地址锁存使能信号、写入使能信号、读取使能信号、数据选通信号等,但不特别限制于此。存储器接口217可以将写入数据传输到非易失性存储器装置230,或者从非易失性存储器装置230接收读取数据。
存储器接口217和非易失性存储器装置230可以通过多个通道CH1至CHn联接。存储器接口217可以通过多个通道CH1至CHn将诸如命令、地址、操作控制信号和数据(即,写入数据)的信号传输到非易失性存储器装置230。存储器接口217可以通过多个通道CH1至CHn从非易失性存储器装置230接收状态信号(例如,就绪/忙碌)和数据(即,读取数据)。
非易失性存储器装置230可以操作为数据存储装置200的存储介质。根据存储器单元,非易失性存储器装置230可以被配置为诸如以下的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器、NOR闪速存储器、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)和使用过渡金属化合物的电阻式随机存取存储器(ReRAM)。
非易失性存储器装置230可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)与多个字线(未示出)之间的各个相交点处的多个存储器单元。例如,存储器单元阵列的存储器单元中的每一个可以是存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)或存储4位数据的四层单元(QLC)。存储器单元阵列可以包括SLC、MLC、TLC和QLC中的一个或多个。例如,存储器单元阵列可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。
图9是用于描述根据本公开的实施例的数据处理方法的流程图。
参照图9,在操作S101中,主机100可以为命令队列131中的多个命令存储区域中的每一个分配预留存储区域。
在操作S103中,主机100可以将第一命令插入到命令队列131的第一命令存储区域中。
在操作S105中,主机100可以将第二命令插入到命令队列131的第二命令存储区域中。然后,在操作S107中,主机100可以将第二命令的摘要信息存储在作为第二命令的先前命令的第一命令的预留存储区域中,并且生成新命令通知。
在一些实施例中,主机100可以在将第二命令的摘要信息存储在第一命令的预留存储区域中之后或之前,将第二命令插入到命令队列131中。也就是说,可以根据操作员的需要来改变操作S105的顺序。
尽管未示出,但是操作S107可以包括:当插入第二命令时,检查是否已经获取第一命令,并且当检查结果指示尚未获取第一命令时,将第二命令的摘要信息存储在存储有第一命令的命令存储区域的预留存储区域中。
又例如,在操作S107中,当插入第二命令时,主机100可以在不检查是否已经获取第一命令的情况下,将第二命令的摘要信息存储在存储有第一命令的命令存储区域的预留存储区域中。
如上所述,当将第二命令的摘要信息存储在预留存储区域中时,主机100可以检查是否已经获取第一命令,并根据检查结果存储第二命令的摘要信息,或者无论是否已经获取了第一命令都存储第二命令的摘要信息。
当数据存储装置200接收到从主机100接收的新命令通知时,在操作S109中,数据存储装置200可以获取第一命令。进一步地,数据存储装置200可以对非易失性存储器装置执行与第一命令相关联的操作。
在操作S111中,数据存储装置200可以基于与第一命令一起传送的第二命令的摘要信息,执行关于第二命令的预操作。
图10是示出根据本公开的实施例的包括固态驱动器(SSD)的数据处理系统2000的示图。参照图10,数据处理系统2000可以包括主机2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n中读取的数据。在控制器2210的控制下,临时存储在缓冲存储器装置2220中的数据可以被传输到主机2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至123n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以分别通过多个通道CH1至CHn联接到控制器2210。一个通道可以联接到一个或多个非易失性存储器装置。联接到一个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供到SSD 2200。电源2240可以包括辅助电源2241。当发生突然断电时,辅助电源2241可以提供电力以正常关闭SSD2200。辅助电源2241可以包括能够存储电力PWR的较大电容器。
控制器2210可以通过信号连接器2250与主机2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机2100与SSD 2200之间的接口连接方法,信号连接器2250可以配置为各种类型的连接器。
图11是示出图10的控制器2210的配置的示图。参照图11,控制器2210可以包括主机接口2211、控制组件2212、RAM 2213、ECC组件2214和存储器接口2215。
根据主机2100的协议,主机接口2211可以接口连接主机2100与SSD 2200。例如,主机接口2211可以通过诸如以下的标准传输协议中的一个或多个与主机2100通信:安全数字(SD)、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e)和通用闪存装置(UFS)。主机接口2211可以执行磁盘仿真功能,以支持主机2100将SSD 2200识别为通用数据存储装置,例如硬盘驱动器(HDD)。
控制组件2212可以分析和处理从主机2100输入的信号SGL。根据用于驱动SSD2200的固件或软件,控制组件2212可以控制内部功能块的操作。RAM 2213可以用作用于驱动这种固件或软件的工作存储器。
ECC组件2214可以生成待被传输到非易失性存储器装置2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据可以与该数据一起存储在非易失性存储器装置2231至223n中。ECC组件2214可以基于奇偶校验数据检测从非易失性存储器装置2231至223n读取的数据的错误。当检测到的错误落入可校正范围内时,ECC组件2214可以校正检测到的错误。
在控制组件2212的控制下,存储器接口2215可以将诸如命令和地址的控制信号提供到非易失性存储器装置2231至223n。在控制组件2212的控制下,存储器接口2215可以与非易失性存储器装置2231至223n交换数据。例如,存储器接口2215可以将存储在缓冲存储器装置2220中的数据提供到非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供到缓冲存储器装置2220。
图12是示出根据本公开的实施例的包括数据存储装置的数据处理系统3000的示图。参照图12,数据处理系统3000可以包括主机3100和数据存储装置3200。
主机3100可以以诸如印刷电路板的板形式来配置。尽管未示出,但是主机3100可以包括用于执行主机的功能的内部功能块。
主机3100可以包括诸如插座、插槽或连接器的连接端子3110。数据存储装置3200可以被安装在连接端子3110上。
数据存储装置3200可以以诸如印刷电路板的板形式来配置。数据存储装置3200可以指存储器模块或存储卡。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制数据存储装置3200的全部操作。控制器3210可以以与图11所示的控制器2210相同的方式来配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。在控制器3210的控制下,临时存储在缓冲存储器装置3220中的数据可以被传输到主机3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储装置3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到数据存储装置3200。在控制器3210的控制下,PMIC 3240可以管理数据存储装置3200的电力。
连接端子3250可以连接到主机3100的连接端子3110。通过连接端子3250,可以在主机3100与数据存储装置3200之间传送电力和诸如命令、地址、数据的信号。连接端子3250可以根据主机3100与数据存储装置3200之间的接口连接方法以各种方式来配置。连接端子3250可以设置在数据存储装置3200的任意一侧上。
图13是示出根据本公开的实施例的包括数据存储装置的数据处理系统4000的示图。参照图13,数据处理系统4000可以包括主机4100和数据存储装置4200。
主机4100可以以诸如印刷电路板的板形式来配置。尽管未示出,但是主机4100可以包括用于执行主机的功能的内部功能块。
数据存储装置4200可以以表面安装型封装的形式来配置。数据存储装置4200可以通过焊球4250安装在主机4100上。数据存储装置4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储装置4200的全部操作。控制器4210可以以与图11所示的控制器2210相同的方式来配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230中读取的数据。在控制器4210的控制下,临时存储在缓冲存储器装置4220中的数据可以被传输到主机4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储装置4200的存储介质。
图14是示出根据本公开的实施例的包括数据存储装置的网络系统5000的示图。参照图14,网络系统5000可以包括通过网络5500连接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。又例如,服务器系统5300可以将数据提供到多个客户端系统5410至5430。
服务器系统5300可以包括主机5100和数据存储装置5200。数据存储装置5200可以被配置为图2的数据存储装置200、图10的SSD 2200、图12的数据存储装置3200或图13的数据存储装置4200。
图15是示出根据本公开的实施例的数据存储装置中的非易失性存储器装置100的框图。参照图15,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、列解码器130、数据读取/写入块140、电压生成器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm与位线BL1至BLn之间的各个相交点处的存储器单元MC。
行解码器120可以通过字线WL联接到存储器单元阵列110。行解码器120可以在控制逻辑160的控制下操作。行解码器120可以对从外部装置(未示出)提供的地址进行解码。行解码器120可以基于解码结果,选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压生成器150提供的字线电压提供到字线WL1至WLm。
数据读取/写入块140可以通过位线BL1至BLn联接到存储器单元阵列110。数据读取/写入块140可以包括与各个位线BL1至BLn相对应的读取/写入电路RW1至RWn。数据读取/写入块140可以在控制逻辑160的控制下操作。根据操作模式,数据读取/写入块140可以操作为写入驱动器或读出放大器。例如,在写入操作期间,数据读取/写入块140可以操作为将从外部装置提供的数据存储在存储器单元阵列110中的写入驱动器。又例如,在读取操作期间,数据读取/写入块140可以操作为从存储器单元阵列110读取数据的读出放大器。
列解码器130可以在控制逻辑160的控制下操作。列解码器130可以对从外部装置提供的地址进行解码。列解码器130可以基于解码结果,将数据读取/写入块140的与各自的位线BL1至BLn相对应的读取/写入电路RW1至RWn联接到数据输入/输出线(或数据输入/输出缓冲器)。
电压生成器150可以生成用于非易失性存储器装置100的内部操作的电压。由电压生成器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,可以将在编程操作期间生成的编程电压施加到待对其执行编程操作的存储器单元的字线。又例如,可以将在擦除操作期间生成的擦除电压施加到待对其执行擦除操作的存储器单元的阱区。又例如,可以将在读取操作期间生成的读取电压施加到待对其执行读取操作的存储器单元的字线。
基于从外部装置提供的控制信号,控制逻辑160可以控制非易失性存储器装置100的全部操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作和擦除操作。
尽管上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,本文中已经描述的主机、数据存储装置、数据处理系统以及数据处理方法不应受到所描述的实施例的限制。
尽管已经针对特定实施例描述了本发明,但对于本领域技术人员将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (20)
1.一种数据处理系统,包括:
主机,包括命令队列,所述命令队列包括多个命令存储区域,并且所述主机将第一命令插入到所述命令队列中,并在插入作为所述第一命令的下一命令的第二命令时,将所述第二命令的摘要信息存储在所述多个命令存储区域之中的存储所述第一命令的命令存储区域的预留存储区域中;以及
数据存储装置,根据从所述主机接收到的新命令通知,从所述命令队列中获取所述第二命令的摘要信息和所述第一命令并且存储所获取的第一命令和所获取的所述第二命令的摘要信息。
2.根据权利要求1所述的数据处理系统,其中所述主机包括:
主机存储器,包括所述命令队列,所述命令队列包括所述多个命令存储区域,并且所述主机存储器顺序地将插入到所述命令队列的多条命令信息分别存储在所述多个命令存储区域中;以及
处理器,当将所述第二命令插入到所述命令队列中时,所述处理器将所述第二命令的摘要信息存储在分配给所述第一命令的命令存储区域的内部的预留存储区域中。
3.根据权利要求2所述的数据处理系统,其中所述处理器在将所述第二命令插入到所述命令队列中时,检查是否已经获取所述第一命令,并且当尚未获取所述第一命令时,所述处理器将所述第二命令的摘要信息存储在存储有所述第一命令的命令存储区域的预留存储区域中。
4.根据权利要求2所述的数据处理系统,其中当将所述第二命令插入到所述命令队列中时,所述处理器在不检查是否已经获取所述第一命令的情况下,将所述第二命令的摘要信息存储在存储有所述第一命令的命令存储区域的预留存储区域中。
5.根据权利要求2所述的数据处理系统,其中当主机存储刚好在所述第二命令之前的一个命令的摘要信息时,
所述处理器将所述第二命令的摘要信息存储在刚好在所述第二命令之前的一个第一命令的预留存储区域中。
6.根据权利要求2所述的数据处理系统,其中所述多个命令包括彼此不同的多个第一命令,
其中当所述主机在存储所述摘要信息的情况下将所述第二命令的摘要信息存储在多个先前命令中时,所述处理器将所述第二命令的摘要信息存储在所述多个第一命令的每个预留存储区域中。
7.根据权利要求6所述的数据处理系统,其中所述处理器将所述第二命令的摘要信息存储在所述多个第一命令的预留存储区域之中的设定数量的预留存储区域中。
8.根据权利要求2所述的数据处理系统,其中当为所述命令存储区域分配预留存储区域时,所述处理器分配预留存储区域,所述预留存储区域的大小能够存储一个或多个第二命令的摘要信息。
9.根据权利要求1所述的数据处理系统,其中所述第二命令的摘要信息包含命令类型、起始逻辑块地址即起始LBA和命令大小。
10.根据权利要求1所述的数据处理系统,其中所述数据存储装置包括:
非易失性存储器装置;以及
控制器,控制所述非易失性存储器装置以根据从所述主机接收到的新命令通知,从所述命令队列获取与所述非易失性存储器装置相关联的所述第一命令并且存储所获取的第一命令,并且基于所述第一命令中包括的所述第二命令的摘要信息,执行关于与所述非易失性存储器装置相关联的所述第二命令的预操作。
11.根据权利要求10所述的数据处理系统,其中所述第二命令的摘要信息包含读取命令、起始LBA和大小,
所述控制器从所述非易失性存储器装置中预获取与所述读取命令、所述起始LBA和所述大小相对应的数据,并且基于所述读取命令、所述起始LBA和所述大小,存储预获取的数据。
12.根据权利要求10所述的数据处理系统,其中当所述第二命令的摘要信息包含读取命令、起始LBA和大小时,
所述控制器基于所述读取命令、所述起始LBA和所述大小,预先识别关于所述读取命令的逻辑到物理映射信息即L2P地址映射信息。
13.根据权利要求10所述的数据处理系统,其中当所述第二命令的摘要信息包含命令类型、起始LBA和大小时,
所述控制器在处理写入命令或读取命令时,根据所述命令类型、所述起始LBA和所述大小,预先调整用于数据输入/输出的缓冲器的大小。
14.一种主机,包括:
主机存储器,包括命令队列,所述命令队列包括多个命令存储区域,并且所述主机存储器顺序地将插入到所述命令队列的多条命令信息分别存储在所述多个命令存储区域中;以及
处理器,将第一命令插入到所述命令队列中,并在插入作为所述第一命令的下一命令的第二命令时,将所述第二命令的摘要信息存储在所述第一命令的命令存储区域中,
其中每个命令存储区域包括存储下一命令的摘要信息的预留存储区域,并且所述第二命令的摘要信息存储在预留存储区域中。
15.根据权利要求14所述的主机,其中当插入所述第二命令时,所述处理器检查是否已经获取所述第一命令,并且当尚未获取所述第一命令时,所述处理器将所述第二命令的摘要信息存储在存储有所述第一命令的命令存储区域的预留存储区域中。
16.根据权利要求14所述的主机,其中当插入所述第二命令时,所述处理器在不检查是否已经获取所述第一命令的情况下,将所述第二命令的摘要信息存储在存储有所述第一命令的命令存储区域的预留存储区域中。
17.根据权利要求14所述的主机,其中当所述处理器存储刚好在所述第二命令之前的一个命令的摘要信息时,
所述处理器将所述第二命令的摘要信息存储在刚好在所述第二命令之前的一个第一命令的预留存储区域中。
18.根据权利要求14所述的主机,其中所述多个命令包括彼此不同的多个第一命令,
其中当所述处理器在存储所述摘要信息的情况下将所述第二命令的摘要信息存储在多个先前命令中时,所述处理器将所述第二命令的摘要信息存储在所述多个第一命令的每个预留存储区域中。
19.根据权利要求14所述的主机,其中当为所述命令存储区域分配所述预留存储区域时,所述处理器分配预留存储区域,所述预留存储区域的大小能够存储一个或多个第二命令的摘要信息。
20.一种数据存储装置,包括:
非易失性存储器装置;以及
控制器,控制所述非易失性存储器装置以根据从主机接收到的新命令通知,从所述主机的命令队列获取与所述非易失性存储器装置相关联的第一命令和包括在所述第一命令中的第二命令的摘要信息并且存储所获取的第一命令和所获取的第二命令的摘要信息,并且基于所述第二命令的摘要信息,执行关于所述第二命令的预操作,
其中所述第二命令是所述第一命令的下一命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200127937A KR20220045342A (ko) | 2020-10-05 | 2020-10-05 | 호스트 장치, 데이터 저장 장치, 데이터 처리 시스템 및 데이터 처리 방법 |
KR10-2020-0127937 | 2020-10-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114385070A CN114385070A (zh) | 2022-04-22 |
CN114385070B true CN114385070B (zh) | 2024-04-09 |
Family
ID=80931392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110396352.3A Active CN114385070B (zh) | 2020-10-05 | 2021-04-13 | 主机、数据存储装置、数据处理系统以及数据处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11609710B2 (zh) |
KR (1) | KR20220045342A (zh) |
CN (1) | CN114385070B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12093566B2 (en) * | 2022-03-01 | 2024-09-17 | Micron Technology, Inc. | Memory controller for managing raid information |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992201A (zh) * | 2018-01-03 | 2019-07-09 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
CN110083545A (zh) * | 2018-01-25 | 2019-08-02 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059656A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Main memory control function with prefetch intelligence |
US10656873B2 (en) * | 2016-12-21 | 2020-05-19 | Intel Corporation | Technologies for prioritizing execution of storage commands |
KR102446733B1 (ko) | 2017-11-30 | 2022-09-23 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치를 포함하는 전자 장치 |
US11281587B2 (en) * | 2018-01-02 | 2022-03-22 | Infinidat Ltd. | Self-tuning cache |
US11061600B2 (en) * | 2018-01-12 | 2021-07-13 | Western Digital Technologies, Inc. | Tiered storage data evacuation within solid state devices |
US10732978B2 (en) * | 2018-08-24 | 2020-08-04 | Arm Limited | Data processing systems |
-
2020
- 2020-10-05 KR KR1020200127937A patent/KR20220045342A/ko unknown
-
2021
- 2021-02-17 US US17/177,722 patent/US11609710B2/en active Active
- 2021-04-13 CN CN202110396352.3A patent/CN114385070B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992201A (zh) * | 2018-01-03 | 2019-07-09 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
CN110083545A (zh) * | 2018-01-25 | 2019-08-02 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220107757A1 (en) | 2022-04-07 |
KR20220045342A (ko) | 2022-04-12 |
US11609710B2 (en) | 2023-03-21 |
CN114385070A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506516B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN110083545B (zh) | 数据存储装置及其操作方法 | |
US10769066B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
CN111414312B (zh) | 数据存储装置及其操作方法 | |
US20200117559A1 (en) | Data storage device and operating method thereof | |
CN109992202B (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
CN111124273B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111414313B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111916140A (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
CN113704138A (zh) | 存储装置及其操作方法 | |
CN111752853A (zh) | 控制器、存储器系统及其操作方法 | |
CN111752852A (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN109426453B (zh) | 数据存储装置及其操作方法 | |
CN111752858A (zh) | 控制器、存储器系统及其操作方法 | |
US11281590B2 (en) | Controller, operating method thereof and storage device including the same | |
CN114385070B (zh) | 主机、数据存储装置、数据处理系统以及数据处理方法 | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN112988045A (zh) | 数据存储装置及其操作方法 | |
CN112286443A (zh) | 控制器、存储器系统及其操作方法 | |
CN112905107A (zh) | 数据存储装置及其操作方法 | |
US12032824B2 (en) | Event log management method, controller and storage device | |
US10572155B2 (en) | Data storage device and operating method thereof | |
CN112286444B (zh) | 控制器以及包括控制器的存储器系统 | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts | |
CN114579484A (zh) | 数据存储装置及其操作方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |