CN109840050A - 存储设备及其操作方法,控制存储设备的主机设备 - Google Patents
存储设备及其操作方法,控制存储设备的主机设备 Download PDFInfo
- Publication number
- CN109840050A CN109840050A CN201811323502.2A CN201811323502A CN109840050A CN 109840050 A CN109840050 A CN 109840050A CN 201811323502 A CN201811323502 A CN 201811323502A CN 109840050 A CN109840050 A CN 109840050A
- Authority
- CN
- China
- Prior art keywords
- physical space
- equipment
- storage
- order
- host
- 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.)
- Granted
Links
- 238000011017 operating method Methods 0.000 title claims description 12
- 238000000034 method Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 54
- 230000015654 memory Effects 0.000 claims description 52
- 230000006870 function Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 7
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 12
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 12
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 6
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 6
- 230000005611 electricity Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
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/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/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/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/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
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- 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
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种存储设备,包括:第一物理空间,包括第一非易失性存储器设备;第二物理空间,包括与第一非易失性存储器设备物理上隔离的第二非易失性存储器设备;以及存储控制器,用于从外部设备获取命令并基于所获取的命令中包括的信息在第一和第二物理空间中的任何一个中执行与命令相对应的操作。
Description
相关申请的交叉引用
本申请要求于2017年11月24日在韩国知识产权局提交的韩国专利申请第10-2017-0158419号的优先权,其内容通过引用整体并入本文。
技术领域
本发明构思在本文中涉及半导体存储器,更具体地,涉及存储设备、控制存储设备的主机设备、以及存储设备的操作方法。
背景技术
半导体存储器设备可以被分为易失性存储器设备和非易失性存储器设备。诸如静态随机存取存储器(static random access memory,SRAM)、动态RAM(dynamic RAM,DRAM)、同步DRAM(synchronous DRAM,SDRAM)等的易失性存储器设备在断电时丢失存储在其中的数据。诸如只读存储器(read only memory,ROM)、可编程ROM(programmable ROM,PROM)、电可编程ROM(electrically programmable ROM,EPROM)、电可擦除和可编程ROM(electrically erasable and programmable ROM,EEPROM)、闪速存储器设备、相变RAM(phase-change RAM,PRAM)、磁RAM(magnetic RAM,MRAM)、电阻式RAM(resistive RAM,RRAM)、铁电RAM(ferroelectric RAM,FRAM)等的非易失性存储器设备在断电时保持存储在其中的数据。
基于闪速存储器的大容量存储介质使用高速接口与外部设备通信。通常,外部设备管理存储介质的存储区域作为逻辑区域。在这种情况下,在存储介质内管理实际执行输入/输出的物理区域。也就是说,由于在外部设备中管理的逻辑区域和在存储介质内管理的物理区域彼此不同,因此可能需要用于映射逻辑区域和物理区域的各种方法。此外,该差异可能会导致性能下降。
发明内容
本发明构思的实施例提供了一种提供稳定性能或改进性能的存储设备、控制存储设备的主机设备、以及存储设备的操作方法。
本发明构思的实施例提供了一种存储设备,包括:第一物理空间,包括第一非易失性存储器设备;第二物理空间,包括与第一非易失性存储器设备物理上隔离的第二非易失性存储器设备;存储控制器,其从外部设备获取命令,并基于所获取的命令中包括的信息,在第一和第二物理空间中的一个中执行与所获取的命令相对应的操作。
本发明构思的实施例还提供了一种存储设备的操作方法,包括:由存储设备从外部设备获取命令;基于命令中的信息,由存储设备从存储设备的多个物理空间当中选择物理空间,多个物理空间彼此物理上隔离并由外部设备识别;存储设备在所选择的物理空间中执行与命令相对应的操作;并且由存储设备将与命令相对应的操作的完成信息发送给外部设备。
本发明构思的实施例还提供了一种主机设备,包括驱动第一进程的第一核;驱动第二进程的第二核;主机缓冲存储器,包括第一提交队列和第二提交队列,第一提交队列被映射到外部存储设备的第一物理空间,并将由第一核生成的第一命令进行排队,并且第二提交队列被映射到与第一物理空间物理上隔离的外部存储设备的第二物理空间上,并将由第二核生成的第二命令进行排队;以及向外部存储设备提供第一和第二命令的主机驱动器。
本发明构思的实施例还提供了一种存储设备,包括:第一物理空间,包括第一非易失性存储器设备;第二物理空间,包括与第一非易失性存储器设备物理上隔离的第二易失性存储器设备;存储控制器,被配置为响应于从外部设备接收的并且对应于第一进程的第一命令,在第一物理空间中执行与由外部设备执行的第一进程相对应的操作,并且响应于从外部设备接收的并且对应于第二进程的第二命令,在第二物理空间中执行与由外部设备执行的第二进程相对应的操作。
附图说明
鉴于以下参考附图对示例性实施例的描述,本发明构思的上述和其他目的和特征将变得显而易见。
图1示出了根据本发明构思的实施例的存储系统的框图。
图2示出了图1的存储控制器的框图。
图3示出了图1的多个非易失性存储器设备之一的框图。
图4示出了用于描述由图1的主机识别的物理空间的视图。
图5A示出了用于描述由图1的主机识别的物理空间的另一视图。
图5B示出了用于描述由图1的主机识别的物理空间的另一视图。
图6A示出了根据本发明构思的实施例的存储系统的拓扑的框图。
图6B示出了根据本发明构思的实施例的存储系统的另一拓扑的框图。
图6C示出了根据本发明构思的实施例的存储系统的另一拓扑的框图。
图6D示出了根据本发明构思的实施例的存储系统的另一拓扑的框图。
图7示出了图1的主机的操作方法的流程图。
图8示出了用于描述图1的存储设备的操作的视图。
图9示出了图8的存储设备的操作的流程图。
图10示出了用于描述根据图9的流程图的存储系统的另一操作的视图。
图11示出了用于描述图1的存储系统的操作的视图。
图12示出了图11的存储设备的操作的流程图。
图13示出了用于描述根据图12的流程图的存储系统的另一操作的视图。
图14示出了图1的存储系统的操作的流程图。
图15示出了用于描述图14的物理空间模式的视图。
图16示出了用于描述图14的分发模式的视图。
图17示出了示出应用根据本发明构思的示例实施例的存储系统的固态驱动系统的框图。
具体实施方式
以下,本发明构思的实施例被详细并且清楚地描述达到本领域普通技术人员可以容易地实施本发明构思的程度。
如在本发明构思的领域中的传统的,可以根据执行所描述的一个或多个功能的块来描述和示出实施例。这些块(本文中可称为单元或模块等)在物理上由模拟和/或数字电路(诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)实施,并且可以可选地由固件和/或软件驱动。电路可以例如体现在一个或多个半导体芯片中,或者体现在诸如印刷电路板等的基板支撑件上。构成块的电路可以由专用硬件实施,或者由处理器(例如,一个或多个编程的微处理器和相关联的电路)实施,或者由执行块的一些功能的专用硬件和执行块的其他功能的处理器的组合实施。在不脱离本发明构思的范围的情况下,实施例的每个块可以在物理上分离成两个或多个交互且离散的块。同样地,在不脱离本发明构思的范围的情况下,可以将实施例的块物理地组合成更复杂的块。
图1示出了根据本发明构思的实施例的存储系统的框图。参考图1,存储系统100包括主机110和存储设备120。
主机110可以通过预先确定的接口与存储设备120通信。通过该接口,主机110可以例如将数据存储在存储设备120中,或者可以读取存储在存储设备120中的数据。在本发明构思的实施例中,接口可以是外围组件互连快速(peripheral component interconnectexpress,PCI-express)接口。然而,在其他实施例中,可以使用其他接口。
主机110包括主机驱动器111和主机缓冲存储器112。主机驱动器111可以管理来自在主机110上驱动的各种应用的命令或指令。
主机缓冲存储器112可以被配置为存储主机110操作所需的信息。在示例实施例中,主机缓冲存储器112可以包括管控队列、提交队列和完成队列。管控队列可以是用于管理主机驱动器111控制存储设备120所需的信息或指令的队列。提交队列可以是用于管理要提供给存储设备120的命令或输入/输出(input/output,I/O)的队列。完成队列可以是用于管理关于在存储设备120中完成的操作的信息的队列。在示例实施例中,管控队列、提交队列和完成队列可以由主机驱动器111或存储控制器(诸如,例如,存储控制器130)管理。
存储设备120包括存储控制器130和多个非易失性存储器设备NVM1、NVM2、NVM3和NVM4。存储控制器130可以被配置为处理来自主机110的各种请求。例如,存储控制器130可以根据主机110的请求将数据存储在多个非易失性存储器设备NVM1至NMM4中的至少一个中,或者从多个非易失性存储器设备NVM1至NMM4中读取数据。在示例实施例中,存储控制器130可以是基于非易失性存储器快速(nonvolatile memory express,NVMe)接口的NVMe控制器。
存储控制器130可以通过多个通道CH1至CH4与非易失性存储器设备NVM1至NVM4通信。在示例实施例中,图1中示出了四个通道CH1至CH4。然而,在其他实施例中,通道的数量可以根据特定应用而增加或减少。
在存储控制器130的控制下,多个非易失性存储器设备NVM1至NVM4中的每一个可以存储数据或者可以输出存储在其中的数据。在示例实施例中,多个非易失性存储器设备NVM1至NVM4中的每一个可以包括NAND闪速存储器。然而,在其他实施例中,多个非易失性存储器设备NVM1至NVM4中的每一个可以包括例如各种存储器设备中的至少一个,诸如静态随机存取存储器(static random access memory,SRAM)、动态RAM(dynamic RAM,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、只读存储器(read only memory,ROM)、可编程ROM(programmable ROM,PROM)、电可编程ROM(electrically programmable ROM,EPROM)、电可擦除和可编程ROM(electrically erasable and programmable ROM,EEPROM)、(多个)闪速存储器设备、相变RAM(phase-change RAM,PRAM)、磁性RAM(magnetic RAM,MRAM)、电阻式RAM(resistive RAM,RRAM)、铁电RAM(ferroelectric RAM,FRAM)等。
在示例实施例中,存储控制器130包括输入/输出(I/O)管理器131。输入/输出管理器131可以被配置为管理从主机110提供或获取的命令或I/O。在其他实施例中,可以从外部设备获取命令或I/O。
例如,主机110可以将存储设备120的存储空间识别为物理上彼此区分的非易失性存储器集(NVM集)。非易失性存储器集中的每一个可以包括不同的非易失性存储器设备。以下,为了便于描述,非易失性存储器集被称为“物理空间(physical space,PS)”。
也就是说,主机110可以将存储设备120的存储空间识别为第一至第三物理空间PS1至PS3或识别包括第一至第三物理空间PS1至PS3的存储设备120的存储空间。换句话说,主机110可以将存储设备120的存储空间识别为物理上彼此区分的区域。这可以意味着主机110可以单独地或独立地控制第一至第三物理空间PS1至PS3中的每一个。输入/输出管理器131可以管理来自主机110的命令或I/O,使得来自主机110的命令或I/O在第一至第三物理空间PS1至PS3的对应物理空间中执行。
也就是说,第一物理空间PS1可以包括与第一通道CH1连接的多个非易失性存储器设备NVM1(即第一非易失性存储器设备),并且第二物理空间PS2可以包括分别与第二和第三通道CH2和CH3连接的多个非易失性存储器设备NVM2(即第二非易失性存储器设备)和NMV3(即第三非易失性存储器设备)。第三物理空间PS3可以包括与第四通道CH4连接的多个非易失性存储器设备NVM4(即第四非易失性存储器设备)。输入/输出管理器131可以允许在与第一通道CH1连接的多个非易失性存储器设备NVM1中执行与第一物理空间PS1相对应的命令或I/O,以及在与第二和第三通道CH2和CH3连接的多个非易失性存储器设备NVM2和NMV3中执行与第二物理空间PS2相对应的命令或I/O。
以下,为了便于描述,假设以通道为单位区分第一至第三物理空间PS1至PS3。然而,在其他实施例中,可以不同地区分第一至第三物理空间PS1至PS3。例如,可以以存储器块、子块、平面、半导体芯片或非易失性存储器设备的封装为单位区分由主机110识别的物理空间,或者可以以存储设备120的通道或路(way)为单位区分物理空间。例如,物理空间PS1至PS3可以例如通过连接到不同的通道,或者通过成为不同的存储块、子块、平面、半导体芯片或非易失性存储器设备的封装等而彼此物理上隔离。
在示例实施例中,图1中示出的第一至第三物理空间PS1至PS3是示例性的。然而,在其他实施例中,由主机110识别的物理空间的数量可以例如在主机110的控制下或者取决于存储设备120的实施方式而增加或减少。
常用的存储系统将存储设备的存储区域识别和管理为逻辑划分的区域(例如,命名空间)。在这种情况下,即使I/O与相同的逻辑区域相关联,存储控制器也可以根据预定义的I/O分配规则在不同的物理区域上执行I/O。由于I/O被分配到不同的物理区域,因此由于各种因素(例如,特定物理区域中的先前操作的延迟等)而无法确保特定性能水平。
相反,根据本发明构思的示例实施例的主机110可以将存储设备120的存储区域识别为物理划分区域(即物理空间PS),并且可以管理针对物理空间PS1至PS3中的每一个的命令或I/O。也就是说,由于物理划分的物理空间PS1至PS3中的每一个由主机110单独管理,因此可以针对I/O或I/O组确保特定性能水平。下面将参考附图更全面地描述根据本发明构思的示例实施例的配置和效果。
图2示出了图1的存储控制器130的框图。参考图1和图2,存储控制器130包括输入/输出管理器131、处理器132、随机存取存储器(RAM)133、主机接口134和闪速接口135。
如上所述,输入/输出管理器131可以被配置为管理来自主机110的命令或I/O。在示例实施例中,输入/输出管理器131可以以软件、硬件或其组合的形式实施。输入/输出管理器131可以被包括在主机接口134中,并且可以执行上述管理操作。可替换地,输入/输出管理器131可以在处理器132的控制下执行上述管理操作,或者可以由处理器132驱动。
处理器132可以控制存储控制器130的总体操作。RAM 133可以存储存储控制器130操作所需的各种信息。RAM 133可以是缓冲存储器、高速缓冲存储器或存储控制器130的工作存储器。
存储控制器130可以通过主机接口134与主机110通信。如上所述,主机接口134可以是PCIe接口。然而,在其他实施例中,主机接口134可以例如包括各种通信接口中的至少一个,诸如通用串行总线(universal serial bus,USB)接口、Multi-Media CardTM(MMC)接口、嵌入式MMC(embedded MMC,eMMC)接口、高级技术附件(advanced technologyattachment,ATA)接口、串行ATA接口、并行ATA接口、小型计算机小型接口(small computersmall interface,SCSI)、增强型小型磁盘接口(enhanced small disk interface,ESDI)、集成驱动电子(integrated drive electronics,IDE)接口、Firewire接口、通用闪存(universal flash storage,UFS)接口等。存储控制器130可以通过闪存接口135与多个非易失性存储器设备NVM1至NVM4通信。在示例实施例中,闪存接口135可以提供物理上彼此区分的多个通道CH1至CH4。
图3示出了图1的多个非易失性存储器设备NVM1至NVM4之一的框图。参考图1和图3,非易失性存储器设备NVM1包括存储器单元阵列11、地址解码器12、控制逻辑电路13、页面缓冲电路14和输入/输出电路15。
存储器单元阵列11可以包括多个存储器块。存储块中的每一个可以包括与位线BL连接的多个单元串,并且多个单元串中的每一个可以包括与字线WL连接的多个存储器单元。
地址解码器12可以通过串选择线SSL、字线WL和接地选择线GSL与存储器单元阵列11连接。地址解码器12可以解码从存储控制器130接收的地址ADDR,并且可以基于解码的地址控制字线WL的电压。
控制逻辑电路13可以从存储控制器130接收命令CMD和控制信号CTRL,并且可以基于接收到的信号控制地址解码器12、页面缓冲器电路14和输入/输出电路15。
页面缓冲电路14通过位线BL与存储器单元阵列11连接。页面缓冲电路14可以临时存储要存储在存储器单元阵列11中的数据或者从存储器单元阵列11读取的数据。
输入/输出电路15可以将从存储控制器130接收的数据“DATA”发送到页面缓冲器电路14,或者可以将从页面缓冲器电路14接收的数据“DATA”发送到存储控制器130。
在示例实施例中,参考图3描述一个非易失性存储器设备NVM1。然而,剩余的非易失性存储器设备NVM2至NVM4也可以具有类似的结构,诸如关于图3所描述的。在示例实施例中,在存储控制器130与多个非易失性存储器设备NVM1至NVM4之间提供的各种信号(例如,地址ADDR、命令CMD、控制信号CTRL和数据“DATA”)可以通过多个通道CH1至CH4的对应通道来发送和接收。
图4、图5A和图5B分别示出了用于描述由图1的主机110识别的物理空间PS的视图。应当理解的是,为了清楚地描述本发明构思,可以在下面省略对提供对物理空间PS的理解不必要的组件的描述或提及。
参考图1和图4,主机110可以将存储设备120的存储空间识别为(或包括)第一至第三物理空间PS1至PS3。如上所述,第一至第三物理空间PS1至PS3表示彼此物理上隔离的存储空间。
第一至第三物理空间PS1至PS3可以例如分别由第一至第三逻辑块地址LBA1至LBA3管理。也就是说,主机110可以使用第一逻辑块地址LBA1来管理第一物理空间PS1的存储区域,使用第二逻辑块地址LBA2来管理第二物理空间PS2的存储区域,并使用第三逻辑块地址块地址LBA3来管理第三物理空间PS3的存储区域。
在示例实施例中,第一至第三逻辑块地址LBA1至LBA3可以具有相同的值或相同的起始值。然而,由于第一至第三逻辑块地址LBA1至LBA3分别对应于不同的物理空间PS1至PS3,即使第一至第三逻辑块地址LBA1至LBA3具有相同的值或相同的起始值,分别对应于第一至第三逻辑块地址LBA1至LBA3的物理区域也可以彼此不同。
主机110可以单独地或独立地控制通过不同的输入/输出I/O_1至I/O_3物理上隔离的第一至第三物理空间PS1至PS3。在示例实施例中,可以通过不同的物理端口或输入/输出虚拟化来实施不同的输入/输出I/O_1到I/O_3。
在示例实施例中,PCIe接口或NVMe接口可以支持单根输入/输出虚拟化(singleroot-input/output virtualization,SR-IOV)。也就是说,主机110可以通过SR-IOV功能管理或控制第一至第三物理空间PS1至PS3作为不同的输入/输出I/O_1至I/O_3。
参考图1、图5A和图5B,第一至第三物理空间PS1至PS3可以包括多个命名空间NS。例如,NVMe接口可以支持由主机识别的命名空间。命名空间NS表示形式化为逻辑块的非易失性存储器的存储空间。也就是说,命名空间NS可以指示由主机110识别的逻辑上隔离的存储区域。相反,根据本发明构思的物理空间PS指示物理上隔离的存储区域。
如图5A中所示,第一至第三物理空间PS1至PS3可以分别包括不同的命名空间NS1至NS5和不同的未分配空间UNA1和UNA2。例如,第一物理空间PS1可以包括第一和第二命名空间NS1和NS2以及第一未分配空间UNA1。如上所述,第一和第二命名空间NS1和NS2中的每一个指示逻辑上隔离的区域。未分配空间UNA1可以指示未分配给命名空间NS的逻辑存储区域。也就是说,由于第一物理空间PS1是物理上隔离的存储区域,所以第一和第二命名空间NS1和NS2以及第一未分配空间UNA1可以在第一物理空间PS1的存储区域中逻辑上隔离。
同样地,第二物理空间PS2可以包括第三命名空间NS3和第二未分配空间UNA2,并且第三物理空间PS3可以包括第四和第五命名空间NS4和NS5。第三至第五命名空间NS3至NS5和第二未分配空间UNA2中的每一个可以分别在第二和第三物理空间PS2和PS3中分别逻辑上隔离。
如图5B所示,第一至第三物理空间PS1至PS3中的每一个可以包括第一、第二或第三命名空间NS1至NS3。例如,第一物理空间PS1可以包括第一命名空间NS1的一部分、第二命名空间NS2的一部分和第三命名空间NS3。第二物理空间PS2可以包括第一命名空间NS1的另一部分和第二命名空间NS2的另一部分。第三物理空间PS3可以包括第一命名空间NS1的另一部分。
换句话说,第一命名空间NS1可以指示在第一至第三物理空间PS1至PS3中逻辑上隔离的存储区域,第二命名空间NS2可以指示在第一和第二物理空间PS1和PS2中逻辑上隔离的存储区域。第三命名空间NS3可以指示在第三物理空间PS3中逻辑上隔离的存储区域。
参考图4至图5B描述的物理空间PS和命名空间NS是示例性的,并且本发明构思的实施例不限于如关于图1至图4所描述的那样。例如,在其他实施例中,可以根据可以由主机110或存储设备120实施的任何方式来不同地设置物理空间PS和命名空间NS的大小和数量。并且,物理空间PS和命名空间NS之间的关系可以以除了参考图4至图5B描述的关系外的方式设置。换句话说,本发明构思的实施例不应限于图4至图5B中所示的物理空间PS和命名空间NS。
图6A至图6D示出了根据本发明构思的实施例的存储系统的各种拓扑的框图。在示例实施例中,将参考图6A至图6D描述用于主机110识别多个物理空间PS的各种拓扑。为了便于说明和便于描述,在图6A至图6D中用类似的附图标号表示类似的组件。并且,为了清楚地描述本发明构思,应该假设主机110和存储控制器130通过PCIe端口连接并基于NVMe接口相互通信。然而,本发明构思的实施例不应该限于如关于图6A至图6D所描述的那样。
参考图6A,存储系统200包括主机210以及第一存储设备220和第二存储设备240。主机210可以通过第一端口PT1与第一存储设备220的第一存储控制器230通信,并且通过第二端口PT2与第二存储设备240的第二存储控制器250通信。在这种情况下,第一和第二存储设备220和240可以用不同的存储设备来实施。
如上所述,主机210可以物理上隔离第一存储设备220和第二存储设备240中的每一个的存储区域并将其识别为多个物理空间PS。主机210可以独立地控制物理上隔离的物理空间PS中的每一个。
参考图6B所示,存储系统300包括主机310和存储设备320。主机310可以通过第一端口PT1与存储设备320通信。在这种情况下,存储设备320可以包括物理上隔离的第一存储控制器330和第二存储控制器350。第一存储控制器330和第二存储控制器350中的每一个可以是包括在存储设备320中的物理上隔离的控制器,并且可以通过第一端口PT1与主机310通信。在示例实施例中,第一存储控制器330和第二存储控制器350中的每一个可以是NVMe控制器。
如上所述,主机310可以物理上隔离存储设备320的存储区域并将其识别为多个物理空间PS。主机310可以彼此独立地控制物理上隔离的物理空间PS。
参考图6C,存储系统400包括第一主机411和第二主机412以及存储设备420。第一主机411和第二主机412可以通过第一端口PT1与存储设备420的存储控制器430通信。
第一主机411和第二主机412可以将存储设备420的存储空间识别为多个物理空间PS。在这种情况下,由第一主机411识别的物理空间可以与由第二主机412识别的物理空间不同。在示例实施例中,第一主机411和第二主机412可以是不同的核或不同的处理器。
参考图6D,存储系统500包括主机510和存储设备520。主机510可以通过第一端口PT1与存储设备520的存储控制器530通信。存储设备520的存储控制器530包括多个虚拟功能VF。多个虚拟功能VF中的每一个可以提供独立处理来自主机510的命令或I/O的功能。主机510可以通过多个虚拟功能VF识别多个物理空间PS。在示例实施例中,多个虚拟功能VF可以通过NVMe接口的SR-IOV来实施。
如上所述,至少一个主机可以被配置为将至少一个存储设备的存储区域识别为多个物理空间PS并且独立地控制多个物理空间PS。在示例实施例中,参考图6A至图6D描述能够标识物理空间的存储系统的各种拓扑。然而,图6A至图6D的实施例包括可以以各种方式组合。在不脱离本发明构思的情况下,在图6A至图6D的实施例中未示出的但是能够标识物理空间的存储系统可以以各种方式来实施。
在下文中,为了便于描述,将参考图1中所示的存储系统100来描述本发明构思的实施例。然而,本发明构思的实施例可以例如通过参考图6A至图6D描述的存储系统200至500或通过与其类似的存储系统来实施。
图7示出了图1的主机110的操作方法的流程图。将参考图7描述主机110识别或设置物理空间PS的方法。
参考图1和图7,在操作S101中,主机110从存储控制器130接收设备信息。例如,在存储系统100的初始化操作中,存储控制器130可以将设备信息提供给主机110。可替换地,主机110可以通过单独的设置操作从存储控制器130接收设备信息。
在示例实施例中,设备信息可以例如包括存储设备120中包括的非易失性存储设备NVM的数量或容量、通道的数量、路的数量、最大可配置的物理空间的数量PS等。
在操作S102中,主机110基于设备信息设置物理空间PS。例如,如图1中所示,主机110可以基于设备信息设置第一至第三物理空间PS1至PS3。也就是说,主机110可以将与第一通道CH1连接的多个非易失性存储器设备NVM1设置为第一物理空间PS1,可以将与第二通道CH2和第三通道CH3连接的多个非易失性存储器设备NVM2和NVM3设置为第二物理空间PS2,并且可以将与第四通道CH4连接的多个非易失性存储器设备NVM4设置为第三物理空间PS3。然而,在其他实施例中,主机110可以以各种单位或各种方式设置物理空间PS的数量或物理空间PS的大小。
在操作S103中,主机110将关于所设置的物理空间PS的信息发送到存储控制器130。例如,主机110可以向存储控制器130提供所设置的物理空间的数量、所设置的物理空间的大小、以及与所设置的物理空间相对应的非易失性存储器设备的信息,作为关于物理空间的信息。
在示例实施例中,存储控制器130可以基于接收到的关于物理空间PS的信息,允许在对应的物理空间中处理后续命令。
在示例实施例中,在物理空间PS被设置在存储设备120中的情况下,图7中所示的主机110的操作可以被省略。例如,存储设备120可以根据预定义的方式将多个非易失性存储器设备NVM1至NVM4划分为多个物理空间PS1至PS3。在这种情况下,存储设备120可以向主机110提供关于如此划分的物理空间PS的信息,并且主机110可以通过使用接收到的关于物理空间PS的信息来独立地控制多个物理空间PS1至PS3。
图8示出了用于描述图1的存储设备的操作的视图。为了简洁起见,可以在以下省略对于理解存储系统100a不必要的组件的描述。参考图8,存储系统100a包括主机110a和存储设备120a。
主机110a可以包括核“CORE”和提交队列SQ。核“CORE”可以是信息处理设备或在主机110a上驱动各种应用的处理器。第一至第三命令CMD1至CMD3可以通过核“CORE”的操作被生成。
如上所述,主机110a可以将存储设备120a的存储空间在物理上划分为并识别为第一至第三物理空间PS1至PS3。主机110a可以生成从核“CORE”生成的第一至第三命令CMD1至CMD3,以允许第一到第三命令CMD1至CMD3分别对应于不同的物理空间PS1至PS3。例如,第一命令CMD1可以包括关于第一物理空间PS1的信息,第二命令CMD2可以包括关于第二物理空间PS2的信息,并且第三命令CMD3可以包括关于第三物理空间PS3的信息。
提交队列SQ可以将由核“CORE”生成的第一至第三命令CMD1至CMD3进行排队。虽然在图8中未示出,但是提交队列SQ可以被存储在主机缓冲存储器112中,并且可以由主机驱动程序111管理。主机驱动器111可以将来自提交队列SQ的命令提供给(外部)存储设备120A。
存储设备120a的存储控制器130a可以从主机110a的提交队列SQ获取第一至第三命令CMD1至CMD3,并且可以处理所获取的命令CMD1至CMD3。在这种情况下,存储控制器130a可以处理第一至第三命令CMD1至CMD3,使得在对应的物理空间PS中执行第一至第三命令CMD1至CMD3中的每一个的操作。
例如,存储控制器130a的输入/输出管理器131a可以基于关于包括在第一命令CMD1中的第一物理空间PS1的信息,执行与第一命令CMD1相对应的操作,或者可以将与第一命令CMD1相对应的指令发送到非易失性存储器设备(图1的NVM1)。输入/输出管理器131A可以处理如以上描述中的第二命令CMD2和第三命令CMD3。
如上所述,主机110a可以将存储设备120a的存储区域划分为物理上隔离的物理空间PS,并且可以生成命令,以允许命令分别对应于不同的物理空间。在这种情况下,每个命令可以包括关于对应的物理空间PS的信息。可替换地,每个命令还可以包括关于逻辑块地址的信息。
存储设备120a可以从主机110a的提交队列SQ获取命令,并且可以处理所获取的命令,使得在与所获取的命令相对应的物理空间中执行与所获取的命令相对应的操作。如从上述描述中所理解的,在主机110a的控制下,可以针对物理上隔离的物理空间中的每一个提供独立操作或I/O。
图9示出了图8的存储设备的操作的流程图。为了简洁起见,与关于图7和图8所描述的相同配置或操作相关联的描述例如可以不在此重复。参考图8和图9,在操作S110中,存储设备120a(例如,存储控制器130a和/或I/O管理器131a)可以从主机110a的提交队列SQ获取命令。
在操作S120中,存储设备120a可以基于所获取的命令确定物理空间PS。例如,存储设备120a可以基于关于在所获取的命令中包括的物理空间的信息,确定对应的物理空间(例如,从图8中所示的物理空间PS1、PS2和PS3)。
在操作S130中,存储设备120a可以对包括在所确定的物理空间中的非易失性存储设备执行对应的操作。
在操作S140中,存储设备120a可以在完成队列CQ中写入指示与所获取的命令相对应的操作完成的信息。例如,虽然在图8中未示出,但是主机110可以进一步包括完成队列CQ。存储设备120可以在完成队列CQ中写入关于完成操作的信息。
图10示出了用于描述根据图9的流程图的存储系统的另一操作的视图。为了简洁起见,可以在下面省略对于理解存储系统100b的操作不必要的组件的描述。
参考图1和图10,存储系统100b包括主机110b和存储设备120b。主机110b可以执行第一至第三进程PR1至PR3。第一至第三进程PR1至PR3可以是用于在主机110b中执行的各种应用的进程。主机110b可以包括多核处理器,其分别包括第一至第三核CORE1至CORE3。可替换地,主机110可以包括单核心处理器,其包括第一至第三核CORE1至CORE3。
第一至第三进程PR1至PR3可以分别或独立地由第一至第三核CORE1至CORE3执行。例如,第一进程PR1可以被分发到第一至第三核CORE1至CORE3中并由其执行,第二进程PR2可以被分发到第一至第三核CORE1至CORE3中并由其执行,并且第三进程PR3可以被分发到第一至第三核CORE1至CORE3中并由其执行。
第一至第三核CORE1至CORE3可以执行第一至第三进程PR1至PR3,以分别生成与第一至第三进程PR1至PR3相对应的第一至第三命令CMD_P1至CMD_P3。第一命令CMD_P1可以是对于第一进程PR1的命令,第二命令CMD_P2可以是对于第二进程PR2的命令,第三命令CMD_P3可以是对于第三进程PR3的命令。
如此生成的第一至第三命令CMD_P1至CMD_P3可以分别在对应的提交队列SQ中排队。例如,可能存在与第一核CORE1相对应的第一提交队列SQ1,可能存在与二核CORE2相对应的第二提交队列SQ2,并且可能存在与第三核CORE3相对应的第三提交队列SQ3。也就是说,如图10所示,第一至第三提交队列SQ1至SQ3中的每一个可以包括第一至第三命令CMDP1至CMD P3。第一至第三提交队列SQ1至SQ3可以被存储或包括在图1的主机缓冲存储器112中。
在示例性实施例中,如上所述,主机110可以识别第一至第三物理空间PS1至PS3。在这种情况下,主机110b可以允许在物理上隔离的第一至第三物理空间PS1至PS3中分别执行第一至第三进程PR1至PR3的操作。
例如,主机110b可以生成第一命令CMD_P1,以允许第一命令CMD_P1包括关于第一物理空间PS1的信息(例如,物理空间ID等)。同样地,主机110b可以生成第二命令CMD_P2以允许第二命令CMD_P2包括关于第二物理空间PS2的信息,并且可以生成第三命令CMD_P3以允许第三命令CMD_P3包括关于第三物理空间PS3的信息。也就是说,主机110b可以生成或管理相应的命令,使得与第一进程PR1相关联的操作在第一物理空间PS1中执行,使得与第二进程PR2相关联的操作在第二物理空间PS2中执行,并且使得与第三进程PR3相关联的操作在第三物理空间PS3中执行。
存储设备120b的存储控制器130b可以从主机110b的第一至第三提交队列SQ1至SQ3获取第一至第三命令CMD_P1至CMD_P3。存储控制器130b可以将所获取的第一至第三命令CMD_P1至CMD_P3分别提供给对应的物理空间,使得对应于第一至第三命令CMD_P1至CMD_P3的操作在对应的物理空间中执行。
例如,存储控制器130b的输入/输出管理器131b可以基于接收到的命令来确定物理空间。输入/输出管理器131b可以控制所确定的物理空间,使得在所确定的物理空间中执行对应的操作。
也就是说,第一命令CMD_P1可以包括关于第一物理空间PS1的信息。输入/输出管理器131b可以基于包括在第一命令CMD_P1中的关于第一物理空间PS1的信息,确定第一命令CMD_P1是对应于第一物理空间PS1的命令。输入/输出管理器131b可以根据确定结果在第一物理空间PS1中执行与第一命令CMD_P1相对应的操作。如上所述,输入/输出管理器131b可以分别在第二物理空间PS2和第三物理空间PS3中执行分别与第二命令CMD_P2和第三命令CMD_P3相对应的操作。
如上所述,主机110b可以将存储设备120b的存储区域识别为物理上隔离的物理空间PS,并且可以独立地控制物理空间PS。也就是说,主机110b可以将多个进程PR1至PR3的操作(或I/O)指定给不同的物理空间PS1至PS3,并且可以控制或管理存储设备120b的存储区域,使得进程PR1至PR3的操作在不同的物理空间中分别或独立地执行。
虽然在图10中未示出,主机110b可以进一步包括完成队列CQ。例如,完成队列CQ可以被存储在诸如图1的主机缓冲存储器112的主机缓冲存储器中。主机110b可以包括对应于第一提交队列SQ1的第一完成队列、对应于第二提交队列SQ2的第二完成队列和对应于第三提交队列SQ3的第三完成队列。在完成与获取的命令相对应的操作之后,存储设备120b可以在完成队列CQ中写入关于完成操作的信息。
图11示出了用于描述图1的存储系统的操作的视图。为了简洁起见,在下面可以省略对于理解存储系统100c的操作不必要的组件的描述。
参考图11,存储系统100c包括主机110c和存储设备120c。主机110c可以包括核“CORE”和第一至第三提交队列SQ1至SQ3。在一个示例实施例中,如图11所示,主机110c可以被配置为针对一个核“CORE”生成第一至第三提交队列SQ1至SQ3(即多个提交队列)。由核“CORE”的操作生成的命令可以在第一至第三提交队列Q1至SQ3中排队。在一个示例实施例中,图11中所示的核和第一至第三提交队列SQ1至SQ3的数量是示例性的,并且在其他实施例中,可以实施不同数量的核和/或提交队列。
在一个示例实施例中,第一至第三提交队列SQ1至SQ3中的每一个都可以被映射到不同的物理空间PS上。例如,在第一提交队列SQ1中排队的命令可以被设置为在第一物理空间PS1中执行,在第二提交队列SQ2中排队的命令可以被设置为第二物理空间PS2中执行,以及在第三提交队列SQ3中排队的命令可以设置为在第三物理空间PS3中执行。
存储设备120c的存储控制器130c可以从第一至第三提交队列SQ1至SQ3获取命令。存储控制器130c可以基于第一至第三提交队列SQ1至SQ3,在第一至第三物理空间PS1至PS3中执行所获取的命令。例如,在输入/输出管理器131c的控制下,可以在第一物理空间PS1中处理从第一提交队列SQ1接收的命令,可以在第二物理空间PS2中处理从第二提交队列SQ2接收的命令,以及可以在第三物理空间PS3中处理从第三提交队列SQ3接收的命令。也就是说,存储设备120c可以根据从其中获取命令的提交队列来确定物理上隔离的物理空间,并且可以在所确定的物理空间中处理所获取的命令。
在一个示例性实施例中,可以在生成提交队列时,设置第一至第三提交队列SQ1至SQ3与第一至第三物理空间PS1至PS3之间的映射。例如,主机110c可以通过使用I/O提交队列生成(Create I/O Submission Queue)命令来生成第一至第三提交队列SQ1至SQ3。在这种情况下,关于对应的物理空间的信息可以被包括在I/O提交队列生成命令的保留字段中。也就是说,由包括关于特定物理空间的信息的I/O提交队列生成命令生成的提交队列SQ可以被映射到特定物理空间上,并且从生成的提交队列SQ获取的命令可以在特定物理空间中处理。
图12示出了图11的存储设备的操作的流程图。参考图11和图12,存储设备120c执行操作S210。操作S210可以类似于图9的操作S110,因此省略了其详细描述。
在操作S220中,存储设备120c基于提交队列SQ确定物理空间PS。例如,如上所述,提交队列SQ可以被映射到特定物理空间PS上。存储控制器130c可以确定与从其中获取命令的提交队列SQ相对应的物理空间PS。
之后,存储设备120c执行操作S230和操作S240。操作S230和操作S240可以类似于图9的操作S130和操作S140,并且省略其详细描述。
图13示出了用于描述根据图12的流程图的存储系统的另一操作的视图。为了简洁起见,省略了对于理解存储系统100d的操作不必要的组件的描述。
参考图13,存储系统100d包括主机110d和存储设备120d。主机110d可以包括第一至第三核CORE1至CORE3。与图10的示例实施例不同。在图13的示例性实施例中,第一至第三核CORE1至CORE3可以分别执行第一至第三进程PR1至PR3。例如,第一核CORE1可以仅执行第一进程PR1,第二核CORE2可以仅执行第二进程PR2,第三核CORE3可以仅执行第三进程PR3。由于一个进程由一个核执行,因此可以保证进程处理的独立性能。
如上所述,指定进程的方式称为“CPU亲和力(affinity)”。也就是说,当激活CPU亲和力时,可以将一个进程指定给一个核并由一个核执行。由于一个进程由一个核执行,因此在一个提交队列SQ中排队的命令可以是与一个进程相关联的命令。例如,第一进程PR1可以由第一核CORE1执行,并且在第一核CORE1中生成的命令在第一提交队列SQ1中排队。同样地,第二进程PR2可以由第二核CORE2执行,并且在第二核CORE2中生成的命令在第二提交队列SQ2中排队;并且第三进程PR3可以由第三核CORE3执行,并且在第三核CORE3中生成的命令在第三提交队列SQ3中排队。
存储设备120d、存储控制器130d和输入/输出管理器131d的后续操作类似于图11的存储设备120c、存储控制器130c和输入/输出管理器131c的操作。并且因此,省略其详细说明。
如上所述,在由主机110d执行CPU亲和性的情况下,根据本发明构思的实施例,可以在物理上隔离的物理空间PS中执行与一个进程相关联的操作。因此,针对每个进程,可以确保特定性能水平。
如上所述,根据本发明构思的实施例的主机可以物理上划分存储设备的存储区域以将物理上划分的区域识别为物理空间PS。主机可以通过自主地设置物理空间PS物理上隔离或者通过使用设置在存储设备中的物理空间PS来独立地控制物理空间PS。在这种情况下,可以通过使用诸如命令、进程PR、提交队列SQ、虚拟功能VF等各种条件来实施独立控制每个物理空间PS的方式。本发明构思的实施例不应限于上述实施例,并且应当理解的是,有可能修改、组合或改变上述实施例,以删除上述实施例的一个或多个方面,或者添加(多个)示例实施例。
图14示出了图1的存储系统的操作的流程图。参考图1和图14,在操作S1100中,存储系统100确定设置的操作模式是否是物理空间(PS)模式。在示例实施例中,物理空间模式指示在其中主机110根据参考图1至图13描述的操作方法将存储设备120的存储区域识别为物理上隔离的物理空间PS。
在示例实施例中,可以以各种方式设置上述操作模式。例如,可以通过用户的请求来设置操作模式。可替换地,可以根据主机110的以下操作状态来设置操作模式:是否激活CPU亲和性、是否分发负载、负载等。可替换地,可以根据存储设备120的操作状态来设置操作模式。
如果设置操作模式是物理空间模式(操作S1100中的是),则在操作S1200中,存储系统100基于参考图1至图13描述的操作方法进行操作。也就是说,主机110可以将存储设备120的存储区域识别为物理上隔离的物理空间PS,并且可以独立地控制物理空间PS。
如果设置操作模式不是物理空间模式(操作S1100中的否),则在操作S1300中,存储系统100基于分发模式进行操作。在示例实施例中,分发模式可以指示基于熟知的NVMe接口的操作。在示例实施例中,分发模式可以是基于命名空间NS的操作模式,在该操作模式中存储设备120的存储区域被逻辑上划分。
图15和图16示出了用于描述图14的物理空间模式和分发模式的视图。将参考图15描述物理空间(PS)模式,并且将参考图16描述分发模式。为了便于描述,假设在图15和图16的主机110e和110f中的每一个中生成的命令是写入命令。根据该假设,存储设备120e和120f中的每一个可以响应于所生成的命令执行写入操作。
参考图15,存储系统100e包括主机110e和存储设备120e。主机110e可以包括第一至第三核CORE1至CORE3,第一至第三进程PR1至PR3可以由第一至第三核CORE1至CORE3执行,并且由第一至第三核CORE1至CORE3生成的第一至第三命令CMD_P1至CMD_P3可以分别在第一至第三提交队列SQ1至SQ3中排队。主机110e的配置和操作类似于图13的实施例的配置和操作(即激活CPU亲和性的情况),并且因此省略其详细描述。
存储设备120e可以从第一至第三提交队列SQ1至SQ3获取第一至第三命令CMD_P1至CMD_P3。在设置操作模式是物理空间模式的情况下,存储控制器130e的输入/输出管理器131e可以基于从其获取第一至第三命令CMD_P1至CMD_P3的提交队列SQ来处理第一至第三命令CMD_P1至CMD_P3,如参考图13所述。在这种情况下,与第一命令CMD_P1相关联的第一数据DT_P1可以被存储在第一物理空间PS1中,与第二命令CMD_P2相关联的第二数据DT_P2可以被存储在第二物理空间PS2中,并且与第三命令CMD_P3相关联的第三数据DT_P3可以被存储在第三物理空间PS3中。
也就是说,在物理空间模式中,由于与不同核或不同进程相关联的数据被分别存储物理上隔离的物理空间PS1至PS3中,因此不同核或不同进程的命令或I/O可以不被相互影响。
参考图16,存储系统100f包括主机110f和存储设备120f。主机110f的组件CORE1至CORE3、PR1至PR3、和SQ1至SQ3与上述类似,并且因此省略其详细描述。
存储设备120f可以从第一至第三提交队列SQ1至SQ3获取第一至第三命令CMD_P1至CMD_P3。在示例实施例中,在设置操作模式不是物理空间(PS)模式的情况下(即在设置操作模式是分发模式的情况下),存储控制器130f的输入/输出管理器131f可以分发和执行第一至第三命令CMD_P1至CMD_P3的操作。例如,与第一命令CMD_P1相关联的第一数据DT_P1可以被分发到第一至第三物理空间PS1至PS3中并存储在其中。并且,与第二命令CMD_P2相关联的第二数据DT_P2可以被分发到第一至第三物理空间PS1至PS3中并存储在其中,并且与第三命令CMD_P3相关联的第三数据DT_P3可以被分发到第一至第三物理空间PS1至PS3中并存储在其中。第三个物理空间PS1到PS3。也就是说,第一至第三物理空间PS1至PS3中的每一个可以包括所有第一至第三数据DT_P1至DT_P3。
如上所述,通过将用于一个核或一个进程的数据分发到各个物理空间PS中并存储在其中,在特定物理空间PS中发生故障的情况下,可以通过使用剩余物理空间PS的数据来恢复数据。因此,可以提高存储系统100f的可靠性。
在图16的实施例中,数据可以被分发到第一至第三物理空间PS1至PS3中。然而,在其他实施例中,在例如设置操作模式不是物理空间模式的情况下,存储系统100f可以基于熟知的NVMe接口进行操作。在这种情况下,与第一至第三命令CMD_P1至CMD_P3相关联的第一至第三数据DT_P1至DT_P3可以被存储在逻辑上划分的不同命名空间NS中。也就是说,与第一命令CMD_P1相关联的第一数据DT_P1可以被存储在第一命名空间NS1中,与第二命令CMD_P2相关联的第二数据DT_P2可以被存储在第二命名空间NS2中,并且与第三命令CMD_P3相关联的第三数据DT_P3可以被存储在第三命名空间NS3中。在这种情况下,存储在相同名称空间中的数据可以被存储在物理上隔离的物理空间中。
图17示出了可以应用根据本发明构思的示例实施例的存储系统的固态驱动(SSD)系统的框图。参考图17,SSD系统6000包括主机6100和SSD6200。
SSD 6200通过信号连接器6201向主机6100发送信号SIG以及从主机6100接收信号SIG,并且通过电源连接器6202向电源PWR供电。在示例实施例中,信号连接器6201可以是PCIe端口,信号SIG可以是NVMe协议中定义的信号,SSD 6200可以是基于NVMe的存储设备。SSD 6200包括SSD控制器6210、多个闪速存储器6221、6222至622n、辅助电源6230和缓冲存储器6240。在示例实施例中,可以用单独的芯片或单独的封装实施多个闪速存储器6221至622n中的每一个,并且多个闪速存储器6221至622n中的每一个可以由主机6100识别为物理空间PS。
SSD控制器6210可以响应于从主机6100接收的信号SIG来控制多个闪速存储器6221至622n。在示例实施例中,SSD控制器6210可以基于参考图1至图16描述的操作方法来操作。
闪速存储器6221至622n可以在SSD控制器6210的控制下进行操作。辅助电源6230通过电源连接器6202与主机6100连接。辅助电电力供应6230可以由电源PWR从主机6100充电。当主机6100没有平稳地供应电源PWR时,辅助电力供应6230可以为SSD系统6200供电。
根据本发明构思的示例实施例,存储系统的主机可以物理上划分存储设备的存储区域,将物理上划分的区域识别为物理空间PS,并且可以彼此独立地控制物理空间PS。由于物理空间PS的操作或输入/输出(I/O)彼此物理上隔离,因此可以提供具有稳定性能或改进性能的存储设备、控制存储设备的主机设备以及存储设备的操作方法。
尽管已经参考本发明的示例性实施例描述了本发明构思,但是对于本领域普通技术人员显而易见的是,在不脱离如在以下权利要求中阐述的本发明构思的精神和范围的情况下,可以对其进行各种改变和修改。
Claims (25)
1.一种存储设备,包括:
第一物理空间,包括第一非易失性存储器设备;
第二物理空间,包括与第一非易失性存储器设备物理上隔离的第二非易失性存储器设备;和
存储控制器,被配置为从外部设备获取命令,并基于所获取的命令中包括的信息,在第一和第二物理空间中的一个中执行与所获取的命令相对应的操作。
2.如权利要求1所述的存储设备,其中,所获取的命令中包括的信息包括关于第一和第二物理空间中的一个的逻辑地址和信息。
3.如权利要求1所述的存储设备,其中,所述存储控制器包括输入/输出管理器,所述输入/输出管理器被配置为基于所获取的命令中包括的信息来选择第一和第二物理空间中的一个。
4.如权利要求1所述的存储设备,其中,所述存储控制器包括:
第一虚拟功能,被配置为控制第一物理空间;和
第二虚拟功能,被配置为控制第二物理空间。
5.如权利要求1所述的存储设备,其中,所述存储控制器包括:
第一非易失性存储器快速NVMe控制器,被配置为基于所获取的命令来控制第一物理空间;
第二NVMe控制器,被配置为基于所获取的命令控制第二物理空间;和
外围组件互连快速端口,被配置为提供所述外部设备与第一和第二NVMe控制器中的每一个NVMe控制器之间的通信。
6.如权利要求1所述的存储设备,其中,当由所述存储控制器从所述外部设备的第一核获取命令时,所述存储控制器被配置为在第一物理空间中执行与所获取的命令相对应的操作,并且
当由所述存储控制器从所述外部设备的第二核获取命令时,所述存储控制器被配置为在第二物理空间中执行与所获取的命令相对应的操作。
7.如权利要求1所述的存储设备,其中,当由所述存储控制器从所述外部设备的第一提交队列获取命令时,所述存储控制器被配置为在第一物理空间中执行与所获取的命令相对应的操作,并且
当由所述存储控制器从所述外部设备的第二提交队列中获取命令时,所述存储控制器被配置为在第二物理空间中执行与所获取的命令相对应的操作。
8.如权利要求1所述的存储设备,其中,当所获取的命令对应于所述外部设备的第一进程时,所述存储控制器被配置为在第一物理空间中执行与所获取的命令相对应的操作,并且
当所获取的命令对应于所述外部设备的第二进程时,所述存储控制器被配置为在第二物理空间中执行与所获取的命令相对应的操作。
9.如权利要求1所述的存储设备,其中,所述第一和第二物理空间中的每一个物理空间包括由所述外部设备逻辑上划分的至少一个命名空间。
10.如权利要求1所述的存储设备,其中,所述第一非易失性存储器设备通过第一通道与所述存储控制器通信,并且所述第二非易失性存储器设备通过与第一通道物理上隔离的第二通道与所述存储控制器通信。
11.如权利要求1所述的存储设备,其中,所述第一和第二物理空间被所述外部设备识别为物理上隔离的存储区域。
12.如权利要求1所述的存储设备,其中,所述存储控制器被配置为在完成与所获取的命令相对应的操作之后,在所述外部设备的完成队列中写入与所获取的命令相对应的操作的完成信息。
13.如权利要求1所述的存储设备,其中,当所述存储控制器的操作模式改变时,所述存储控制器被配置为响应于改变的操作模式,将对应于所获取的命令的操作分发到第一和第二物理空间中并执行。
14.一种存储设备的操作方法,该方法包括:
由存储设备从外部设备获取命令;
基于命令中的信息,由所述存储设备从所述存储设备的多个物理空间当中选择物理空间,所述多个物理空间彼此物理上隔离并由所述外部设备识别;
由所述存储设备在所选择的物理空间中执行与所述命令相对应的操作;和
由所述存储设备将与所述命令相对应的操作的完成信息发送到所述外部设备。
15.如权利要求14所述的方法,其中,所述多个物理空间与不同物理通道连接,并且
其中,所述多个物理空间中的每一个物理空间包括与不同物理通道连接的至少一个非易失性存储设备。
16.如权利要求14所述的方法,其中,当所述命令中的信息指示关于所述外部设备的第一提交队列的信息时,由所述存储设备从所述多个物理空间当中选择第一物理空间,并且
当所述命令中的信息指示关于所述外部设备的第二提交队列的信息时,由所述存储设备从所述多个物理空间当中选择第二物理空间,第二物理空间与第一物理空间物理上隔离。
17.如权利要求14所述的方法,其中,当所述命令中的信息指示关于所述外部设备的第一进程的信息时,由所述存储设备从所述多个物理空间当中选择第一物理空间,并且
当所述命令的信息指示关于所述外部设备的第二进程的信息时,由所述存储设备从所述多个物理空间当中选择第二物理空间,所述第二物理空间与所述第一物理空间物理上隔离。
18.如权利要求14所述的方法,其中,在所述外部设备的完成队列中写入与所述命令相对应的操作的完成信息。
19.一种主机设备,包括:
第一核,被配置为驱动第一进程;
第二核,被配置为驱动第二进程;
主机缓冲存储器,包括第一提交队列和第二提交队列,其中,第一提交队列被映射到外部存储设备的第一物理空间上,并将由第一核生成的第一命令进行排队,并且第二提交队列被映射到与第一物理空间物理上隔离的、外部存储设备的第二物理空间上,并将由第二核生成的第二命令进行排队;和
主机驱动器,被配置为向外部存储设备提供第一和第二命令。
20.如权利要求19所述的主机设备,其中,所述主机缓冲存储器还包括:
与第一提交队列相对应的第一完成队列;和
与第二提交队列相对应的第二完成队列。
21.如权利要求19所述的主机设备,其中,所述主机驱动器被配置为:
基于包括关于第一物理空间的信息的第一I/O提交队列生成命令,生成第一提交队列;并且
基于包括关于第二物理空间的信息的第二I/O提交队列生成命令,生成第二提交队列。
22.如权利要求19所述的主机设备,还包括:外围组件互连快速端口,被配置为提供与所述外部存储设备的通信。
23.一种存储设备,包括:
第一物理空间,包括第一非易失性存储器设备;
第二物理空间,包括与第一非易失性存储器设备物理上隔离的第二非易失性存储器设备;和
存储控制器,被配置为响应于从外部设备接收的并且对应于第一进程的第一命令,在第一物理空间中执行与由所述外部设备执行的第一进程相对应的操作,并且响应于从所述外部设备接收的并且对应于第二进程的第二命令,在第二物理空间中执行与由所述外部设备执行的第二进程相对应的操作。
24.如权利要求23所述的存储设备,其中,所述第一和第二命令包括关于所述第一和第二物理空间中的一个的逻辑地址和信息。
25.如权利要求24所述的存储设备,其中,所述存储控制器包括输入/输出管理器,被配置为基于包括在第一和第二命令中的信息来选择第一和第二物理空间中的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0158419 | 2017-11-24 | ||
KR1020170158419A KR102410671B1 (ko) | 2017-11-24 | 2017-11-24 | 스토리지 장치, 스토리지 장치를 제어하는 호스트 장치, 및 스토리지 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840050A true CN109840050A (zh) | 2019-06-04 |
CN109840050B CN109840050B (zh) | 2023-11-14 |
Family
ID=66633255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811323502.2A Active CN109840050B (zh) | 2017-11-24 | 2018-11-08 | 存储设备及其操作方法,控制存储设备的主机设备 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10817218B2 (zh) |
KR (1) | KR102410671B1 (zh) |
CN (1) | CN109840050B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282230A (zh) * | 2020-02-04 | 2021-08-20 | 三星电子株式会社 | 支持多个主机的存储设备及其操作方法 |
CN113495693A (zh) * | 2020-03-18 | 2021-10-12 | 美光科技公司 | 用于处理响应的核心的动态选择 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180043451A (ko) * | 2016-10-19 | 2018-04-30 | 삼성전자주식회사 | 컴퓨팅 시스템 및 그것의 동작 방법 |
CN111104056B (zh) * | 2018-10-25 | 2021-12-31 | 华为技术有限公司 | 存储系统中数据恢复方法、系统及装置 |
KR20210023203A (ko) | 2019-08-22 | 2021-03-04 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20210034378A (ko) | 2019-09-20 | 2021-03-30 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그것의 동작 방법 |
KR20210076497A (ko) | 2019-12-16 | 2021-06-24 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US11734175B2 (en) | 2019-08-22 | 2023-08-22 | SK Hynix Inc. | Storage device and method of operating the same |
US11762769B2 (en) | 2019-09-20 | 2023-09-19 | SK Hynix Inc. | Memory controller based on flush operation and method of operating the same |
US11087846B1 (en) * | 2020-02-12 | 2021-08-10 | SK Hynix Inc. | Memory system with single decoder, multiple memory sets and method for decoding multiple codewords from memory sets using the single decoder |
KR20220056729A (ko) * | 2020-10-28 | 2022-05-06 | 삼성전자주식회사 | 커맨드 스케줄링을 수행하는 컨트롤러, 컨트롤러를 포함하는 스토리지 장치 및 컨트롤러의 동작 방법 |
US20220147392A1 (en) * | 2020-11-10 | 2022-05-12 | Samsung Electronics Co., Ltd. | System architecture providing end-to-end performance isolation for multi-tenant systems |
KR20220067795A (ko) * | 2020-11-18 | 2022-05-25 | 삼성전자주식회사 | 스토리지 장치 및 이를 포함하는 스토리지 시스템 |
US11928336B2 (en) | 2022-03-03 | 2024-03-12 | Samsung Electronics Co., Ltd. | Systems and methods for heterogeneous storage systems |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281040A1 (en) * | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Namespace Access Control in NVM Express PCIe NVM with SR-IOV |
US20150317088A1 (en) * | 2014-05-02 | 2015-11-05 | Cavium, Inc. | Systems and methods for nvme controller virtualization to support multiple virtual machines running on a host |
US20150317177A1 (en) * | 2014-05-02 | 2015-11-05 | Cavium, Inc. | Systems and methods for supporting migration of virtual machines accessing remote storage devices over network via nvme controllers |
US20160004438A1 (en) * | 2014-07-02 | 2016-01-07 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory and memory controller, and operating method of storage device |
US20160117119A1 (en) * | 2014-10-28 | 2016-04-28 | Samsung Electronics Co., Ltd. | Storage device and operating method of the same |
US20160162438A1 (en) * | 2014-05-02 | 2016-06-09 | Cavium, Inc. | Systems and methods for enabling access to elastic storage over a network as local storage via a logical storage controller |
US20160267016A1 (en) * | 2015-03-09 | 2016-09-15 | Samsung Electronics Co., Ltd. | Storage device, a host system including the storage device, and a map table updating method of the host system |
US20170024132A1 (en) * | 2015-07-22 | 2017-01-26 | Samsung Electronics Co., Ltd. | Storage device for supporting virtual machine, storage system including the storage device, and method of operating the same |
CN106708424A (zh) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | 对用户数据执行选择性底层暴露映射的设备和方法 |
CN107229417A (zh) * | 2016-03-25 | 2017-10-03 | 三星电子株式会社 | 数据存储设备及其操作方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626994B2 (en) * | 2011-11-30 | 2014-01-07 | Apple Inc. | Systems and methods for improved communications in a nonvolatile memory system |
US9122515B2 (en) | 2012-12-19 | 2015-09-01 | Dell Products L.P. | Completion notification for a storage device |
US9619251B2 (en) | 2013-05-30 | 2017-04-11 | Intel Corporation | Techniques for dynamic system performance tuning |
US11016820B2 (en) | 2013-08-26 | 2021-05-25 | Vmware, Inc. | Load balancing of resources |
WO2015080690A1 (en) | 2013-11-26 | 2015-06-04 | Intel Corporation | Method and apparatus for storing data |
US10635316B2 (en) | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
KR102336443B1 (ko) * | 2015-02-04 | 2021-12-08 | 삼성전자주식회사 | 가상화 기능을 지원하는 스토리지 장치 및 사용자 장치 |
KR102309798B1 (ko) * | 2015-04-16 | 2021-10-06 | 삼성전자주식회사 | Sr-iov 기반 비휘발성 메모리 컨트롤러 및 그 비휘발성 메모리 컨트롤러에 의해 큐에 리소스를 동적 할당하는 방법 |
US9823849B2 (en) * | 2015-06-26 | 2017-11-21 | Intel Corporation | Method and apparatus for dynamically allocating storage resources to compute nodes |
KR102403489B1 (ko) | 2015-07-10 | 2022-05-27 | 삼성전자주식회사 | 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법 |
US9927983B2 (en) * | 2015-09-28 | 2018-03-27 | Sandisk Technologies Llc | Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues |
US10031674B2 (en) * | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
US10452596B2 (en) * | 2015-10-29 | 2019-10-22 | Micron Technology, Inc. | Memory cells configured in multiple configuration modes |
US10459634B2 (en) | 2015-10-31 | 2019-10-29 | Sandisk Technologies Llc | Methods, systems, and computer readable media for aggregating completion entries in a nonvolatile storage device |
KR102505855B1 (ko) | 2016-01-11 | 2023-03-03 | 삼성전자 주식회사 | 가중치 기반 멀티-큐 가능 리소스 공유 방법 |
US11163597B2 (en) | 2016-01-20 | 2021-11-02 | Unisys Corporation | Persistent guest and software-defined storage in computing fabric |
KR20180092435A (ko) * | 2017-02-09 | 2018-08-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20190034306A1 (en) * | 2017-07-31 | 2019-01-31 | Intel Corporation | Computer System, Computer System Host, First Storage Device, Second Storage Device, Controllers, Methods, Apparatuses and Computer Programs |
US11294594B2 (en) * | 2017-08-07 | 2022-04-05 | Kioxia Corporation | SSD architecture supporting low latency operation |
-
2017
- 2017-11-24 KR KR1020170158419A patent/KR102410671B1/ko active IP Right Grant
-
2018
- 2018-07-02 US US16/024,931 patent/US10817218B2/en active Active
- 2018-11-08 CN CN201811323502.2A patent/CN109840050B/zh active Active
-
2020
- 2020-09-29 US US17/035,929 patent/US11347438B2/en active Active
-
2022
- 2022-05-04 US US17/736,731 patent/US11775220B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281040A1 (en) * | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Namespace Access Control in NVM Express PCIe NVM with SR-IOV |
US20150317088A1 (en) * | 2014-05-02 | 2015-11-05 | Cavium, Inc. | Systems and methods for nvme controller virtualization to support multiple virtual machines running on a host |
US20150317177A1 (en) * | 2014-05-02 | 2015-11-05 | Cavium, Inc. | Systems and methods for supporting migration of virtual machines accessing remote storage devices over network via nvme controllers |
US20160162438A1 (en) * | 2014-05-02 | 2016-06-09 | Cavium, Inc. | Systems and methods for enabling access to elastic storage over a network as local storage via a logical storage controller |
US20160004438A1 (en) * | 2014-07-02 | 2016-01-07 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory and memory controller, and operating method of storage device |
US20160117119A1 (en) * | 2014-10-28 | 2016-04-28 | Samsung Electronics Co., Ltd. | Storage device and operating method of the same |
US20160267016A1 (en) * | 2015-03-09 | 2016-09-15 | Samsung Electronics Co., Ltd. | Storage device, a host system including the storage device, and a map table updating method of the host system |
US20170024132A1 (en) * | 2015-07-22 | 2017-01-26 | Samsung Electronics Co., Ltd. | Storage device for supporting virtual machine, storage system including the storage device, and method of operating the same |
CN106371888A (zh) * | 2015-07-22 | 2017-02-01 | 三星电子株式会社 | 支持虚拟机的存储设备,包括其的存储系统和其操作方法 |
CN106708424A (zh) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | 对用户数据执行选择性底层暴露映射的设备和方法 |
CN107229417A (zh) * | 2016-03-25 | 2017-10-03 | 三星电子株式会社 | 数据存储设备及其操作方法 |
Non-Patent Citations (1)
Title |
---|
舒继武;陆游游;张佳程;郑纬民;: "基于非易失性存储器的存储系统技术研究进展", no. 14 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282230A (zh) * | 2020-02-04 | 2021-08-20 | 三星电子株式会社 | 支持多个主机的存储设备及其操作方法 |
US11861238B2 (en) | 2020-02-04 | 2024-01-02 | Samsung Electronics Co., Ltd. | Storage device for supporting multiple hosts and operation method thereof |
CN113495693A (zh) * | 2020-03-18 | 2021-10-12 | 美光科技公司 | 用于处理响应的核心的动态选择 |
Also Published As
Publication number | Publication date |
---|---|
US11347438B2 (en) | 2022-05-31 |
KR20190060328A (ko) | 2019-06-03 |
KR102410671B1 (ko) | 2022-06-17 |
CN109840050B (zh) | 2023-11-14 |
US20190163396A1 (en) | 2019-05-30 |
US20210011665A1 (en) | 2021-01-14 |
US11775220B2 (en) | 2023-10-03 |
US20220261190A1 (en) | 2022-08-18 |
US10817218B2 (en) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840050A (zh) | 存储设备及其操作方法,控制存储设备的主机设备 | |
US10866740B2 (en) | System and method for performance-based multiple namespace resource allocation in a memory | |
USRE49508E1 (en) | Memory system and method for controlling nonvolatile memory | |
US10402350B2 (en) | Memory system and control method | |
US10901620B2 (en) | Storage system and method for thin provisioning | |
US10411024B2 (en) | Memory system and method for controlling nonvolatile memory | |
KR102596400B1 (ko) | 데이터 저장 장치 및 데이터 저장 장치의 동작 방법 | |
US9870153B2 (en) | Non-volatile memory systems utilizing storage address tables | |
CN110083545A (zh) | 数据存储装置及其操作方法 | |
US8918554B2 (en) | Method and apparatus for effectively increasing a command queue length for accessing storage | |
CN109656833B (zh) | 数据储存装置 | |
US11543987B2 (en) | Storage system and method for retention-based zone determination | |
US20160291869A1 (en) | Data storage device and data processing system including the same | |
CN110489056A (zh) | 控制器以及包括该控制器的存储器系统 | |
US11775215B2 (en) | Storage device with host-controlled operation mode, electronic system including the same, and method of operating the same | |
CN109656471A (zh) | 数据存储设备及其操作方法 | |
US11537320B2 (en) | Storage system and method for host memory access | |
US11301168B2 (en) | Storage system and method for user-defined data archiving | |
US20210181980A1 (en) | Storage System and Method for Improving Utilization of a Communication Channel between a Host and the Storage System | |
KR20220037638A (ko) | 맵 캐시를 포함하는 컨트롤러 및 이를 포함하는 메모리 시스템 | |
US10810016B2 (en) | Operating methods of computing devices comprising storage devices including nonvolatile memory devices, buffer memories and controllers | |
US11487450B1 (en) | Storage system and method for dynamic allocation of control blocks for improving host write and read | |
KR20220131058A (ko) | 스토리지 장치 및 그 동작 방법 |
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 |