CN114546903A - 存储装置和包括其的存储系统 - Google Patents

存储装置和包括其的存储系统 Download PDF

Info

Publication number
CN114546903A
CN114546903A CN202111368417.XA CN202111368417A CN114546903A CN 114546903 A CN114546903 A CN 114546903A CN 202111368417 A CN202111368417 A CN 202111368417A CN 114546903 A CN114546903 A CN 114546903A
Authority
CN
China
Prior art keywords
command
host
core
storage device
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111368417.XA
Other languages
English (en)
Inventor
具范会
金在燮
鲁良宇
柳东宪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN114546903A publication Critical patent/CN114546903A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种存储装置包括:非易失性存储器;多个核;主机接口,其被配置为从主机接收第一设置命令、I/O命令和ADMIN命令;以及存储控制器,其包括命令分发模块,该命令分发模块被配置为根据第一设置命令被设置为第一状态,并且根据设置的第一状态向所述多个核分发I/O命令。所述多个核中的每一个可被配置为响应于分发的I/O命令对非易失性存储器执行由I/O命令指示的操作和由ADMIN命令指示的操作。

Description

存储装置和包括其的存储系统
相关申请的交叉引用
2020年11月18日提交于韩国知识产权局的题为“存储装置和包括其的存储系统”的韩国专利申请No.10-2020-0154438整体以引用方式并入本文中。
技术领域
实施例涉及一种存储装置和包括其的存储系统。
背景技术
根据存储系统的环境等,存储装置可用于各种目的。例如,存储装置可用于游戏目的、文档工作或观看高清视频。存储装置可包括多核处理器以改进存储装置的性能。
发明内容
实施例涉及一种存储装置,包括:非易失性存储器;多个核;
主机接口,其被配置为从主机接收第一设置命令、I/O命令和ADMIN命令;以及存储控制器,其包括命令分发模块,该命令分发模块被配置为根据第一设置命令被设置为第一状态,并且根据设置的第一状态向多个核分发I/O命令。多个核中的每一个可被配置为响应于分发的I/O命令在非易失性存储器上执行由I/O命令指示的操作和由ADMIN命令指示的操作。
实施例还涉及一种存储装置,包括:非易失性存储器;以及存储控制器,其被配置为在第一时间点处从主机接收第一设置命令,被配置为响应于从主机提供的I/O命令在非易失性存储器上执行由I/O命令指示的操作,并且被配置为响应于从主机提供的ADMIN命令在非易失性存储器上不执行由ADMIN命令指示的操作。
实施例还涉及一种存储系统,包括:主机;第一存储装置,其包括第一非易失性存储器、被配置为控制第一非易失性存储器的多个第一核以及第一存储控制器,该第一存储控制器被配置为响应于从主机提供的第一状态命令向所述多个第一核输出第一状态,该第一状态包括从主机提供的第一ADMIN命令和第一I/O命令被分发的信息;以及第二存储装置,其包括第二非易失性存储器、被配置为控制第二非易失性存储器的多个第二核以及第二存储控制器,该第二存储控制器被配置为响应于从主机提供的第二状态命令向所述多个第二核输出第二状态,该第二状态包括从主机提供的第二ADMIN命令和第二I/O命令被分发的信息。主机可被配置为基于第一状态和第二状态向第一存储装置和第二存储装置之一提供第三I/O命令。
附图说明
通过参照附图详细描述示例实施例,对于本领域技术人员而言特征将变得显而易见,在附图中:
图1是用于说明根据一些示例实施例的存储系统的框图;
图2是用于说明图1的存储系统的操作的示图;
图3和图4是用于说明图2的设置命令的示图;
图5至图8是用于说明图1的命令分发模块的操作的示图;
图9是用于说明根据一些其它示例实施例的存储系统的框图;
图10和图11是用于说明图9的存储系统的操作的示图;
图12是用于说明图1的非易失性存储器的框图;
图13是用于说明可应用于图1的非易失性存储器的3D V-NAND结构的示图;
图14是用于说明可应用于图1的非易失性存储器的BVNAND结构的示图;
图15是用于说明根据一些其它示例实施例的存储系统的框图;
图16是用于说明根据一些其它示例实施例的存储系统的框图;
图17至图19是用于说明根据一些其它示例实施例的存储系统的操作的框图;
图20是用于说明根据一些其它示例实施例的存储系统的操作的框图;
图21是用于说明图20的状态命令的示图;
图22是用于说明根据一些其它示例实施例的存储系统的操作的框图;以及
图23是示出应用了根据一些其它示例实施例的存储系统的数据中心的示图。
具体实施方式
图1是用于说明根据一些示例实施例的存储系统的框图。
参照图1,根据一些示例实施例的存储系统1可包括主机100和存储装置200。
主机100可以是或包括例如PC(个人计算机)、膝上型计算机、移动电话、智能电话、平板PC等。
主机100可包括主机控制器110和主机存储器120。主机存储器120可用作用于暂时地存储要发送到存储装置200的数据或从存储装置200发送的数据的缓冲存储器。
根据示例实施例,主机控制器110和主机存储器120可被实现为单独的半导体芯片。另选地,在示例实施例中,主机控制器110和主机存储器120可被集成在同一半导体芯片上。作为示例,主机控制器110可以是应用处理器中设置的多个模块之一,并且应用处理器可被实现为片上系统(SoC)。此外,主机存储器120可以是设置在应用处理器内的嵌入式存储器,或者置于应用处理器外部的非易失性存储器或存储器模块。
主机控制器110可管理将主机存储器120的数据(例如,记录的数据)存储在存储装置200的非易失性存储器(NVM)220中或将存储装置的非易失性存储器220的数据(例如,读取的数据)存储在主机存储器120中的操作。
存储装置200可以是响应于来自主机100的请求而存储数据的存储介质。作为示例,存储装置200可以是SSD(固态驱动器)、嵌入式存储器、可拆卸外部存储器等。当存储装置200是SSD时,存储装置200可以是符合NVMe(高速非易失性存储器)标准的装置。当存储装置200是嵌入式存储器或外部存储器时,存储装置200可以是符合UFS(通用闪存)或eMMC(嵌入式多媒体卡)标准的装置。主机100和存储装置200可各自生成并发送符合所采用的标准协议的分组。
存储装置200可包括存储控制器210和非易失性存储器(NVM)220。
当存储装置200的非易失性存储器220包括闪速存储器时,闪速存储器可包括2DNAND存储器阵列或3D(或垂直)NAND(VNAND)存储器阵列。作为另一示例,存储装置200可包括各种其它类型的非易失性存储器。例如,MRAM(磁性RAM)、自旋转移矩MRAM、导电桥接RAM(CBRAM)、FeRAM(铁电RAM)、PRAM(相位RAM)、电阻器存储器(电阻RAM)并且各种其它类型的存储器可应用于存储装置200。
存储控制器210可包括命令分发模块211、多个核(多核)212、闪存转换层(FTL)214、分组管理器215、缓冲存储器216、ECC(纠错码)引擎(ECC)217、AES(高级加密标准)引擎(AES)218、主机接口(主机I/F)219_1和存储器接口(存储器I/F)219_2。命令分发模块211、多个核212、闪存转换层214、分组管理器215、缓冲存储器216、ECC引擎217和AES引擎218可通过总线205彼此电连接。
存储控制器210还可包括加载闪存转换层214的工作存储器(未示出),并且非易失性存储器上的数据的写入和读取操作可通过由多个核212执行闪存转换层来控制。
主机接口219_1可向主机100发送分组并从主机100接收分组。从主机100发送到主机接口219_1的分组可包括命令或要记录在非易失性存储器220中的数据等,要从主机接口219_1发送到主机100的分组可包括对命令的响应、从非易失性存储器220读取的数据等。存储器接口219_2可将要记录在非易失性存储器220中的数据发送到非易失性存储器220,或者接收从非易失性存储器220读取的数据。存储器接口219_2可被实现为遵守诸如Toggle或ONFI的标准协议。
可根据从主机100提供的设置命令来设置命令分发模块211的状态。命令分发模块211可根据设置的状态向多个核212分发命令。命令分发模块211可向多个核212分发例如从主机100提供的ADMIN(管理)命令和/或I/O(输入/输出)命令。这将在下面参照图2至图6详细说明。
多个核212可执行由从命令分发模块211分发的命令指示的操作。例如,多个核212可根据从命令分发模块211分发的写命令来执行写操作,并且可根据从命令分发模块211分发的读命令来执行读操作。
多个核212中的每一个可以是或包括中央处理单元(CPU)、控制器、专用集成电路(ASIC)等。多个核212可以是同构多核或异构多核。
闪存转换层214可执行诸如地址映射、磨损均衡和垃圾收集的各种功能。地址映射操作是将从主机接收的逻辑地址改变为用于在非易失性存储器220中实际存储数据的物理地址的操作。磨损均衡是用于确保非易失性存储器220中的块均匀地被使用以防止特定的块的过度劣化的技术,并且可例如通过平衡物理块的擦除计数的固件技术来实现。垃圾收集是通过将块的有用数据复制到新块,然后擦除现有块的方法来确保非易失性存储器220中的可用容量的技术。
分组管理器215可根据与主机100讨论的接口协议来生成分组,或者可从接收自主机100的分组解析各种类型的信息。另外,缓冲存储器216可暂时存储要记录在非易失性存储器220中的数据或从非易失性存储器220读取的数据。缓冲存储器216可设置在存储控制器210内部,或者可设置在存储控制器210外部。
ECC引擎217可对从非易失性存储器220读取的数据执行检错和纠错功能。例如,ECC引擎217可针对要写入非易失性存储器220的数据生成奇偶校验比特,并且以这种方式生成的奇偶校验比特可与写入的数据一起存储在非易失性存储器220中。当从非易失性存储器220读取数据时,ECC引擎217可使用从非易失性存储器220读取的奇偶校验比特与读取的数据一起来纠正读取的数据的错误,并且可输出经过纠错的数据。
AES引擎218可例如使用对称密钥算法对要输入到存储控制器210的数据执行加密操作和解密操作中的至少一个。
图2是用于说明图1的存储系统的操作的示图。图3和图4是用于说明图2的设置命令的示图。
参照图2,主机100可向命令分发模块211提供设置命令(S130)。设置命令是主机100设置存储装置200的命令,并且可包括关于命令分发模块211的状态的信息(特征命令)。
例如,参照图3,当主机接口(图1的219_1)是NVMe时,设置命令可以是设置特征命令1000。设置特征命令1000可包括区域1100,该区域1100包括特征标识符。特征标识符可意指主机100打算设置的存储装置200的特征。包括特征标识符的区域1100可包括关于命令分发模块211的状态的信息。
在另一示例中,参照图4,当主机接口(图1的219_1)是SAS(串行附接SCSI)时,设置命令可以是模式选择命令1500。模式选择命令1500可包括区域1510,该区域1510包括页代码。页代码可意指主机100打算选择的存储装置200的代码。包括页代码的区域1510可包括关于命令分发模块211的状态的信息。
在另一示例(未示出)中,当主机接口(图1的219_1)是SATA时,设置命令可以是设置特征命令。设置特征命令的子命令值可包括关于命令分发模块211的状态的信息。本公开不限于此,设置命令可以是包括关于命令分发模块211的状态的信息的任何命令。
再参照图2,可根据设置命令来设置命令分发模块211的状态(S140)。该状态可包括例如彼此不同的第一状态至第四状态。本公开不限于此,根据主机100的设置命令,状态的定义和状态的数量可以不同。以下,将参照图3至图6给出详细描述。
命令分发模块211可发出响应以通知主机100根据设置命令设置了状态(S150)。
主机100可向命令分发模块211提供I/O命令(PERF命令)和ADMIN命令(S160)。
在示例实施例中,I/O命令(PERF命令)意指指示从主机100输入数据或者向主机100输出数据的操作的命令。I/O命令(PERF命令)可包括例如写命令和/或读命令。
在示例实施例中,ADMIN命令意指用于主机100管理存储装置(图1的200)的命令。ADMIN命令可包括例如对固件的元数据的读命令或写命令。当发生诸如突然断电(SPO)的事件时,可生成对固件的元数据的读命令或写命令。
当主机接口(图1的219_1)是NVMe时,I/O命令(PERF命令)可以是NVMe命令中的NVMI/O命令,ADMIN命令可以是NVMe命令中的ADMIN命令。
命令分发模块211可根据设置的状态向多个核212分发I/O命令(PERF命令)和ADMIN命令(S170)。
多个核212可执行由分发的I/O命令(PERF命令)指示的操作和由分发的ADMIN命令指示的操作(S180)。
多个核212可发出响应以通知主机100已执行由分发的I/O命令(PERF命令)指示的操作和由分发的ADMIN命令指示的操作(S190)。
在根据一些示例实施例的存储系统中,主机100可根据存储系统的环境等提供设置命令,并且因此,命令可能没有被平均地分发给每个核212,而是可根据设置命令被分发给每个核212。因此,可进一步改进每个核212的利用率,并且可根据各种存储系统的环境有效地处理命令。
图5至图8是用于说明图1的命令分发模块的操作的示图。
参照图5,命令分发模块211可被设置为第一状态211_a。第一状态211_a可以是例如正常状态。以下,第一状态211_a将作为正常状态来说明。
正常状态211_a可以是命令分发模块211的基本状态。当主机100没有提供设置命令时,命令分发模块211可处于正常状态211_a。
正常状态211_a的命令分发模块211可将ADMIN命令(ADMIN CMD)分发给多个核212中的一个核212_1(ADMIN核),并且可将I/O命令(PERF CMD)分发给其余核212_2至212_n(PERF核)。本公开不限于此,命令分发模块211可将ADMIN命令(ADMIN CMD)分发给多个核212当中的两个或更多个核。
多个核212_1至212_n可被划分为执行由用于管理存储装置的ADMIN命令(ADMINCMD)指示的操作的核212_1以及执行由从主机提供的I/O命令(PERF CMD)指示的操作的核212_2至212_n。因此,在多个核212_2至212_n中,即使从主机提供的I/O命令(PERF CMD)的模式(pattern)改变,由于从主机提供的I/O命令(PERF CMD)分发至的核212_1至212_n被限定,所以可更稳定地执行由I/O命令(PERF CMD)指示的操作。
参照图6,命令分发模块211可被设置为第二状态211_b。第二状态211_b可以是例如最大操作状态。以下,第二状态211_b将作为最大操作状态来说明。
例如,由于固件的开销,在存储装置中可能发生瓶颈现象。在这种情况下,主机可向命令分发模块211提供包括最大操作状态211_b的设置命令。
最大操作状态211_b的命令分发模块211可将从主机提供的命令(PERF CMD)分发给全部多个核212_1至212_n,并且可不分发ADMIN命令。因此,I/O命令(PERF CMD)可被分发给所有多个核212_1至212_n。因此,多个核212_1至212_n可仅执行由从主机提供的I/O命令(PERF CMD)指示的操作。因此,存储装置的性能可进一步改进。
然而,可处理从主机提供的对命令分发模块211的状态进行设置的设置命令。因此,命令分发模块211可接收设置命令,并且可被设置为另一状态。
参照图7,命令分发模块211可处于第三状态211_c。第三状态211_c可以是例如低延迟状态。以下,第三状态211_c将作为低延迟状态来说明。
例如,在非易失性存储器(图1的220)的写操作或读操作中可能发生延迟。当写命令(WRITE CMD)和读命令(READ CMD)被分发给一个核时,在由读命令(READ CMD)指示的操作的执行中可能由于由写命令(WRITE CMD)指示的操作的执行而发生延迟,或者在由写命令(WRITE CMD)指示的操作的执行中可能由于由读命令(READ CMD)指示的操作的执行而发生延迟。在这种情况下,主机可向命令分发模块211提供包括低延迟状态211_c的设置命令。
低延迟状态211_c的命令分发模块211可将ADMIN命令(ADMIN CMD)分发给多个核212_1至212_n中的一个核212_1,可将写命令(WRITE CMD)分发给一些其它核212_2至212_m,并且可将读命令(READ CMD)分发给其余核212_m+1至212_n。本公开不限于此,命令分发模块211可将ADMIN命令(ADMIN CMD)分发给多个核212_1至212_n当中的两个或更多个核。
因此,多个核212_1至212_n可被划分成执行由用于管理存储装置的ADMIN命令(ADMIN CMD)指示的操作的核212_1、执行由从主机提供的写命令(WRITE CMD)指示的操作的核212_2至212_m以及执行由从主机提供的读命令(READ CMD)指示的操作的核212_m+1至212_n。因此,当执行由读命令(READ CMD)或写命令(WRITE CMD)指示的操作时延迟可减少。
参照图8,命令分发模块211可被设置为第四状态211_d。第四状态211_d可以是例如低功率状态。以下,第四状态211_d将作为低功率状态来说明。
例如,存储装置可处于空闲状态。在这种情况下,主机可将包括低功率状态211_d的设置命令提供给命令分发模块211。
低功率状态211_d的命令分发模块211可将ADMIN命令(ADMIN CMD)和I/O命令(PERF CMD)分发给多个核212_1至212_n中的一个核212_1。本公开不限于此,命令分发模块211可将ADMIN命令(ADMIN CMD)和I/O命令(PERF CMD)仅分发给多个核212_1至212_n中的一些核。
因此,仅例如多个核212_1至212_n中的核212_1可执行由ADMIN命令(ADMIN CMD)和I/O命令(PERF CMD)指示的操作,而其余核可空闲。因此,存储装置的功耗可降低。
状态的定义和状态的数量不限于图5至图8所示那些,可变化。根据主机100的需求和/或存储装置的状态,主机100可向命令分发模块211提供包括图5至图8所示的状态以外的不同状态的设置命令。例如,主机100可向命令分发模块211提供包括从主机100提供的I/O命令不被分发至多个核212_1至212_n中的至少一个、但是垃圾收集命令被分发到存储装置中的状态的设置命令。
图9是用于说明根据一些其它示例实施例的存储系统的框图。图10和图11是用于说明图9的存储系统的操作的图。将主要说明与参照图1至图8描述的那些不同的点。
参照图9,根据一些其它示例实施例的存储系统2还可包括自配置模块213。命令分发模块211、多个核(多核)212、自配置模块213、闪存转换层(FTL)214、分组管理器215、缓冲存储器216、ECC引擎(ECC)217和AES引擎(AES)218可通过总线205彼此电连接。
自配置模块213可监测多个核212。自配置模块213可监测例如从主机100提供的I/O命令的类型、I/O命令的延迟、多个核212中的未决请求的大小、多个核212的队列深度或者从主机100提供I/O命令的间隔。队列深度可以是多个核212中的未决命令的数量。这里,请求的维度可以是多个核212中的未决命令的维度和命令的队列深度(命令的数量)的乘积。
自配置模块213可监测多个核212以生成设置命令。命令分发模块211可从自配置模块213接收设置命令,并且可根据设置命令设置状态。以下,将参照图10和图11给出详细描述。
自配置模块213可被实现为例如存储装置200上执行的诸如应用程序的软件和固件。
参照图9和图10,自配置模块213可根据预定条件生成设置命令。命令分发模块211的初始状态可处于正常状态211_a。
在示例实施例中,当监测结果表明多个核212中的未决请求的维度为4MB或更大,读命令的延迟为10ms或更小,并且写命令的延迟为3s或更小时,自配置模块213可设置包括最大操作状态211_b的设置命令。结果,命令分发模块211可被设置为最大操作状态211_b,并且可根据最大操作状态211_b向多个核212分发命令。
例如,当作为监测结果在预设时间期间从主机100向存储装置200没有提供I/O命令时,自配置模块213可生成包括低功率状态211_d的设置命令。因此,命令分发模块211可被设置为低功率状态211_d,并且根据低功率状态211_d向多个核212分发命令。尽管预设时间可以是例如5分钟,但本公开不限于此。
例如,当读命令的延迟超过10ms并且写命令的延迟超过3s时,自配置模块213可生成包括正常状态211_a的设置命令。结果,命令分发模块211可被设置为正常状态211_a,并且可根据正常状态211_a向多个核212分发命令。
在示例实施例中,当监测结果表明从主机100以混合模式向存储装置200提供写命令和读命令,读命令的队列深度为10或更小,并且写命令的队列深度为10或更小时,自配置模块213可生成包括低延迟状态211_c的设置命令。因此,命令分发模块211可被设置为低延迟状态211_c并且可根据低延迟状态211_c向多个核212分发命令。
在示例实施例中,当监测结果表明读命令的队列深度超过10并且写命令的队列深度超过10时,自配置模块213可生成包括正常状态211_a的设置命令。因此,命令分发模块211可被设置为正常状态211_a,并且可根据正常状态211_a向多个核212分发命令。
状态211_a、211_b、211_c和211_d的定义、状态211_a、211_b、211_c和211_d的数量以及为状态211_a、211_b、211_c和211_d中的每一个设置的条件不限于图10所示那些,而可变化。状态211_a、211_b、211_c和211_d的定义、状态211_a、211_b、211_c和211_d的数量以及为状态211_a、211_b、211_c和211_d中的每一个设置的条件可在制造存储控制器时由制造商预设,和/或可由用户预设。
参照图11,命令分发模块211可从主机100接收设置命令(设置特征命令)(S230),并且可从自配置模块213接收命令分发模块211的状态(S235)。命令分发模块211可同时接收来自主机100的设置命令和来自自配置模块213的状态。在这种情况下,可根据从主机100提供的设置命令来设置命令分发模块211的状态(S240)。因此,从主机100提供的设置命令可优先于从自配置模块213提供的状态。然而,本公开不限于此,根据设置,从自配置模块213提供的状态可优先于从主机100提供的设置命令。
随后,如上面图2中所述,命令分发模块211可发出响应以通知主机100已根据设置命令设置了状态(S250),并且主机100可向命令分发模块211提供I/O命令和ADMIN命令(S260)。命令分发模块211可根据设置的状态向多个核分发I/O命令和ADMIN命令(S270)。每个核可执行由分发的命令指示的操作(S280),并且多个核可发出响应以通知主机100已执行了由多I/O命令指示的操作(S290)。
图12是用于说明图1的非易失性存储器的框图。
参照图12,非易失性存储器300可包括控制逻辑电路320、存储器单元阵列330、页缓冲器单元340、电压生成器350和行解码器360。尽管图10中未详细示出,非易失性存储器300还可包括存储器接口电路310,并且还可包括列逻辑、预解码器、温度传感器、命令解码器、地址解码器等。
控制逻辑电路320通常可控制非易失性存储器300内部的各种操作。控制逻辑电路320可响应于来自存储器接口电路310的命令CMD和/或地址ADDR输出各种控制信号。例如,控制逻辑电路320可输出电压控制信号CTRL_vol、行地址X-ADDR和列地址Y-ADDR。
存储器单元阵列330可包括多个存储器块BLK1至BLKz(z是正整数),并且多个存储器块BLK1至BLKz中的每一个可包括多个存储器单元。存储器单元阵列330可通过位线BL连接到页缓冲器单元340,并且可通过字线WL、串选择线SSL和接地选择线GSL连接到行解码器360。
在示例实施例中,存储器单元阵列330可包括三维存储器单元阵列,并且三维存储器单元阵列可包括多个NAND串。每个NAND串可包括各自连接到垂直层叠在基板上的字线的存储器单元。美国专利公布No.7,679,133、美国专利公布No.8,553,466、美国专利公布No.8,654,587、美国专利公布No.8,559,235和美国专利申请公布No.2011/0233648通过引用并入本文。在示例实施例中,存储器单元阵列330可包括2D存储器单元阵列,并且2D存储器单元阵列可包括沿着行方向和列方向放置的多个NAND串。
页缓冲器单元340可包括多个页缓冲器PB1至PBn(n是3或更大的整数),并且多个页缓冲器PB1至PBn可通过多条位线BL连接到存储器单元中的每一个。页缓冲器单元340可响应于列地址Y-ADDR来选择位线BL当中的至少一条位线。根据操作模式,页缓冲器单元340可作为写驱动器或检测放大器操作。例如,在编程操作时,页缓冲器单元340可对所选位线施加与将被编程的数据对应的位线电压。在读操作时,页缓冲器单元340可检测所选位线的电流或电压以检测存储在存储器单元中的数据。
电压生成器350可基于电压控制信号CTRL_vol来生成用于执行编程操作、读操作和擦除操作的各种类型的电压。例如,电压生成器350可生成编程电压、读电压、编程验证电压、擦除电压等,作为字线电压VWL。
行解码器360可响应于行地址X-ADDR来选择多条字线WL之一,并且选择多条串选择线SSL之一。例如,在编程操作时,行解码器360可对所选字线施加编程电压和编程验证电压,并且在读操作时,行解码器360可对所选字线施加读电压。
图13是用于说明可应用于图1的非易失性存储器的3D V-NAND结构的示图。当图1的非易失性存储器被实现为3D V-NAND型闪速存储器时,构成非易失性存储器的存储器单元阵列330的多个存储器块BLK1至BLKz中的每一个可由如图13所示的等效电路表示。
参照图13,存储器块BLKi可以是以三维结构形成在基板上的三维存储器块。例如,包括在存储器块BLKi中的多个存储器NAND串可形成在垂直于基板的方向上。
存储器块BLKi可包括连接在位线BL1、BL2和BL3与公共源极线CSL之间的多个存储器NAND串NS11、NS12、NS13、NS21、NS22、NS23、NS31、NS32和NS33。存储器NAND串NS11至NS33可各自包括串选择晶体管SST、多个存储器单元MC1、MC2、...和MC8以及接地选择晶体管GST。尽管图11示出多个存储器NAND串NS11至NS33各自包括八个存储器单元MC1、MC2、...和MC8,但示例实施例不限于此。
串选择晶体管SST可连接到对应的串选择线SSL1、SSL2和SSL3。多个存储器单元MC1、MC2、...和MC8可连接到对应的栅极线GTL1、GTL2、...和GTL8。栅极线GTL1、GTL2、...和GTL8可对应于字线,栅极线GTL1、GTL2、...和GTL8中的一些可对应于虚设字线。接地选择晶体管GST可连接到对应的接地选择线GSL1、GSL2和GSL3。串选择晶体管SST可连接到对应的位线BL1、BL2和BL3,并且接地选择晶体管GST可连接到公共源极线CSL。
相同高度的字线(例如,WL1)可共同连接,并且接地选择线GSL1、GSL2和GSL3与串选择线SSL1、SSL2和SSL3可彼此分离。尽管图11示出存储器块BLK连接到八条栅极线GTL1、GTL2、...和GTL8以及三条位线BL1、BL2和BL3,但示例实施例不限于此。
图14是用于说明可应用于图1的非易失性存储器的BVNAND结构的图。
参照图14,非易失性存储器300可具有C2C(芯片到芯片)结构。C2C结构可意指在第一晶圆上制造包括单元区域CELL的上芯片,在不同于第一晶圆的第二晶圆上制造包括外围电路区域PERI的下芯片,之后,上芯片和下芯片通过接合操作彼此接合的结构。作为示例,接合操作可意指将形成在上芯片的最上金属层上的接合金属和形成在下芯片的最上金属层上的接合金属电连接的操作。例如,当接合金属由铜(Cu)形成时,接合操作可为Cu-Cu接合方式。接合金属可由铝或钨形成。
根据一些示例实施例的非易失性存储器300的外围电路区域PERI和单元区域CELL中的每一个可包括外部焊盘接合区域PA、字线接合区域WLBA和位线接合区域BLBA。
外围电路区域PERI可包括第一基板1210、层间绝缘层1215、形成在第一基板1210上的多个电路元件1220a、1220b和1220c、连接到多个电路元件1220a、1220b和1220c中的每一个的第一金属层1230a、1230b和1230c以及形成在第一金属层1230a、1230b和1230c上的第二金属层1240a、1240b和1240c。在示例实施例中,第一金属层1230a、1230b和1230c可由具有相对高的电阻的钨形成,第二金属层1240a、1240b和1240c可由具有相对低的电阻的铜形成。
在本说明书中,尽管仅示出和说明第一金属层1230a、1230b和1230c和第二金属层1240a、1240b和1240c,但示例实施例不限于此,至少一个或更多个金属层可进一步形成在第二金属层1240a、1240b和1240c上。形成在第二金属层1240a、1240b和1240c上方的一个或更多个金属层的至少一部分可由电阻比形成第二金属层1240a、1240b和1240c的铜低的铝等形成。
层间绝缘层1215可形成在第一基板1210上以覆盖多个电路元件1220a、1220b和1220c、第一金属层1230a、1230b和1230c以及第二金属层1240a、1240b和1240c,并且可包括诸如氧化硅和氮化硅的绝缘材料。
下接合金属1271b和1272b可形成在字线接合区域WLBA的第二金属层1240b上。在字线接合区域WLBA中,外围电路区域PERI的下接合金属1271b和1272b可通过接合方式电连接到单元区域CELL的上接合金属1371b和1372b。下接合金属1271b和1272b和上接合金属1371b和1372b可由铝、铜、钨等形成。
单元区域CELL可提供至少一个存储器块。单元区域CELL可包括第二基板1310和公共源极线1320(对应于图10的CSL)。多条字线(1331至1338;统称为与图10的WL1至WL8对应的1330)可沿着垂直于第二基板1310的上表面的第三方向z堆叠在第二基板1310上。串选择线和接地选择线可放置在字线1330上方和下方,并且字线1330可放置在串选择线和接地选择线之间。
在位线接合区域BLBA中,沟道结构CH可在垂直于第二基板1310的上表面的方向上延伸,并且可穿透字线1330、串选择线和接地选择线。沟道结构CH可包括数据存储层、沟道层、掩埋绝缘层等,并且沟道层可电连接到第一金属层1350c和第二金属层1360c。例如,第一金属层1350c可以是位线接触件,并且第二金属层1360c可以是位线(对应于图10的BL1至BL3)。在示例实施例中,位线1360c可沿着平行于第二基板1310的上表面的第二方向y延伸。
在图14所示的示例实施例中,放置有沟道结构CH、位线1360c等的区域可被定义为位线接合区域BLBA。位线1360c可电连接到位线接合区域BLBA中的外围电路区域PERI中的电路元件1220c(其可提供页缓冲器1393)。作为示例,位线1360c可连接到单元区域CELL中的上接合金属1371c和1372c,并且上接合金属1371c和1372c可连接到与页缓冲器1393的电路元件1220c连接的下接合金属1271c和1272c。
在字线接合区域WLBA中,字线1330可沿着平行于第二基板1310的上表面的第一方向x延伸,并且可连接到多个单元接触插塞(1341至1347;统称为1340)。字线1330和单元接触插塞1340可在通过使字线1330的至少一部分沿着第一方向x延伸彼此不同的长度而设置的焊盘处连接。第一金属层1350b和第二金属层1360b可顺序地连接到与字线1330连接的单元接触插塞1340的上部。单元接触插塞1340可通过字线接合区域WLBA中的单元区域CELL的上接合金属1371b和1372b和外围电路区域PERI的下接合金属1271b和1272b连接到外围电路区域PERI。
单元接触插塞1340可电连接到外围电路区域PERI中的电路元件1220b(其可提供行解码器1394)。在示例实施例中,提供行解码器1394的电路元件1220b的操作电压可不同于提供页缓冲器1393的电路元件1220c的操作电压。作为示例,提供页缓冲器1393的电路元件1220c的操作电压可高于提供行解码器1394的电路元件1220b的操作电压。
公共源极线接触插塞1380可形成在外部焊盘接合区域PA中。公共源极线接触插塞1380可由诸如金属、金属化合物或多晶硅的导电材料形成,并且可电连接到公共源极线1319。第一金属层1350a和第二金属层1360a可顺序地堆叠在公共源极线接触插塞1380的上部。作为示例,放置有公共源极线接触插塞1380、第一金属层1350a和第二金属层1360a的区域可被定义为外部焊盘接合区域PA。
I/O焊盘1205和1305可形成在外部焊盘接合区域PA中。覆盖第一基板1210的下表面的下绝缘膜1201可形成在第一基板1210下方,并且第一I/O焊盘1205可形成在下绝缘膜1201上。第一I/O焊盘1205可通过第一I/O接触插塞1203连接到放置在外围电路区域PERI中的多个电路元件1220a、1220b和1220c中的至少一个,并且可通过下绝缘膜1201与第一基板1210分离。侧绝缘膜可形成在第一I/O接触插塞1203和第一基板1210之间,并且可将第一I/O接触插塞1203和第一基板1210电分离。
覆盖第二基板1310的上表面的上绝缘膜1301可形成在第二基板1310上方。第二I/O焊盘1305可形成在上绝缘膜1301上。第二I/O焊盘1305可通过第二I/O接触插塞1303连接到外围电路区域PERI中的多个电路元件1220a、1220b和1220c中的至少一个。
在一些示例实施例中,在形成有第二I/O接触插塞1303的区域中可不形成第二基板1310、公共源极线1320等。另外,第二I/O焊盘1305可在第三方向z上不与字线1330叠置。参照图14,第二I/O接触插塞1303在与第二基板1310的上表面平行的方向上与第二基板1310分离,并且可穿透单元区域CELL的层间绝缘层1315以连接到第二I/O焊盘1305。
在一些示例实施例中,可选择性地形成第一I/O焊盘1205和第二I/O焊盘1305。作为示例,根据一些示例实施例的非易失性存储器300可仅包括第一基板1210上的第一I/O焊盘1205,或者可仅包括第二基板1310上的第二I/O焊盘1305。另选地,非易失性存储器300可包括第一I/O焊盘1205和第二I/O焊盘1305二者。
最上金属层的金属图案可作为虚设图案存在于单元区域CELL和外围电路区域PERI中所包括的外部焊盘接合区域PA和位线接合区域BLBA中的每一个中,或者可省略最上金属层。
在根据一些示例实施例的非易失性存储器300中,具有与单元区域CELL的上金属图案1372a相同的形状的下金属图案1273a可形成在外围电路区域PERI的最上金属层上,以在外部焊盘接合区域PA中与形成在单元区域CELL的最上金属层中的上金属图案1372a对应。形成在外围电路区域PERI的最上金属层上的下金属图案1273a可不连接到外围电路区域PERI中的另一接触件。类似地,具有与外围电路区域PERI的下金属图案相同的形状的上金属图案可形成在单元区域CELL的上金属层上,以在外部焊盘接合区域PA中与形成在外围电路区域PERI的最上金属层中的下金属图案对应。
下接合金属1271b和1272b可形成在字线接合区域WLBA的第二金属层1240b上。在字线接合区域WLBA中,外围电路区域PERI的下接合金属1271b和1272b可通过接合方式电连接到单元区域CELL的上接合金属1371b和1372b。
在位线接合区域BLBA中,具有与外围电路区域PERI的下金属图案1252相同的形状的上金属图案1392可形成在单元区域CELL的最上金属层上,以与形成在外围电路区域PERI的最上金属层上的下金属图案1252对应。在形成在单元区域CELL的最上金属层上的上金属图案1392上可不形成接触件。
图15是用于说明根据一些其它示例实施例的存储系统的框图。将主要说明与参照图1至图14描述的那些不同的点。
参照图15,在根据一些其它示例实施例的存储系统3中,命令分发模块212_1可被实现为在存储装置200上执行的诸如应用程序的软件和固件。因此,多个核212中的任一个可被实现为命令分发模块212_1。
图16是用于说明根据一些其它示例实施例的存储系统的框图。将主要说明与参照图1至图14描述的那些不同的点。
参照图16,根据一些其它示例实施例的存储系统4还可包括机器学习逻辑230。
机器学习逻辑230可通过执行机器学习来分析从主机100提供的I/O命令的图案。机器学习逻辑230可基于分析结果来设置命令分发模块211的状态。
例如,机器学习逻辑230可每小时地分析从主机100提供I/O命令的模式。结果,机器学习逻辑230可每小时地将命令分发模块211设置为适当状态。因此,可根据主机100的操作预先设置命令分发模块211的状态,并且根据一些其它示例实施例的存储系统4可相应地更有效地处理从主机100提供的命令。
尽管机器学习逻辑230可包括在存储控制器210内部,但本公开不限于此,机器学习逻辑230可作为与存储控制器210不同的配置实现于存储系统4内部。
图17、图18和图19是用于说明根据一些其它示例实施例的存储系统的操作的框图。将主要说明与参照图1至图14描述的那些不同的点。
参照图17,根据一些其它示例实施例的存储系统5a可包括主机100以及多个存储装置400、500和600。
主机100可根据存储装置400、500和600中的每一个的用途向多个存储装置400、500和600提供设置命令(Set feature cmd_1、Set feature cmd_2和Set feature cmd_3)。设置命令(Set feature cmd_1、Set feature cmd_2和Set feature cmd_3)中的至少一些可包括不同的状态并且可包括相同的状态。
例如,主机100可使用第二存储装置500作为第一存储装置400的备份存储装置,并且可使用第三存储装置600作为第一存储装置400的预备存储装置。因此,主机100可向第一存储装置400提供包括正常状态的第一设置命令(Set feature cmd_1),向第二存储装置500提供包括低功率状态的第二设置命令(Set feature cmd_2),并且向第三存储装置600提供包括低功率状态的第三设置命令(Set feature cmd_3)。第一设置命令可具有根据主机接口的格式。
参照图18,在存储系统5b中,第一存储装置400的第一命令分发模块411可被设置为正常状态,第二存储装置500的第二命令分发模块511和第三存储装置600的第三命令分发模块611可被设置为低功率状态。结果,第一存储装置400的多个第一核可被划分为被分发有ADMIN命令(ADMIN CMD_1)的核412_1以及被分发有I/O命令(PERF CMD_1)的核412_2至412_n。第二存储装置500的多个第二核可被划分为被分发有ADMIN命令(ADMIN CMD_2)和I/O命令(PERF CMD_2)的核512_1以及不被分发命令的核512_2至512_n。第三存储装置600的多个第三核可被划分为被分发有ADMIN命令(ADMIN CMD_3)和I/O命令(PERF CMD_3)的核612_1以及不被分发命令的核612_2至612_n。因此,第二存储装置500和第三存储装置600可维持在待机状态以降低功耗。
参照图19,当要执行备份时,主机100可向第二存储装置500提供包括最大操作状态的第二设置命令(Set feature cmd_2’),并且向第三存储装置600提供包括最大操作状态的第三设置命令(Set feature cmd_3’)。在存储系统5c中,第二命令分发模块511和第三命令分发模块611可被设置为最大操作状态。因此,第二存储装置500和第三存储装置600可更快速地执行备份操作。
在根据一些示例实施例的存储系统5c中,主机100可考虑主机100使用存储装置400、500和600的目的、主机100的状态等来使用存储装置400、500和600。因此,可更有效地操作存储装置400、500和600。
图20、图21和图22是用于说明根据一些其它示例实施例的存储系统的操作的框图。图21是用于说明图20的状态命令的示图。将主要说明与参照图1至图14描述的那些不同的点。
参照图20,主机100可向多个存储装置400、500和600中的每一个提供状态命令(Get feature cmd_1、Get feature cmd_2和Get feature cmd_3)。状态命令(Get featurecmd_1、Get feature cmd_2和Get feature cmd_3)可以是向相应存储装置400、500和600请求信息的命令,并且可请求关于命令分发模块411、511和611的状态的信息。
例如,参照图21,当主机接口(图1的219_1)是NVMe时,状态命令(Get featurecmd_1、Get feature cmd_2和Get feature cmd_3)可以是获取特征命令2000。获取特征命令2000可包括区域2100,该区域2100包括特征标识符。特征标识符可意指主机100打算向存储装置200请求的特征。包括特征标识符的区域2100可包括关于命令分发模块411、511和611的状态的信息。
在另一示例中,当主机接口(图1的219_1)是SAS时,状态命令可以是模式感测命令。模式感测命令的页代码可包括关于命令分发模块411、511和611的状态的信息。
在另一示例中,当主机接口(图1的219_1)是SATA时,状态命令可以是获取特征命令。获取特征命令的子命令值可包括关于命令分发模块411、511和611的状态的信息。本公开不限于此,并且状态命令(Get feature cmd_1、Get feature cmd_2和Get feature cmd_3)可以是请求关于命令分发模块411、511和611的状态的信息的任意命令。
再参照图20,多个存储装置400、500和600中的每一个可根据状态命令(Getfeature cmd_1、Get feature cmd_2和Get feature cmd_3)向主机100提供状态(State_1、State_2和State_3)。
参照图22,主机100可基于多个存储装置400、500和600的状态向多个存储装置400、500和600中的任一个提供附加I/O命令(PERF CMD)。主机100可基于多个存储装置400、500和600的状态向负载或利用率较低的第二存储装置500提供附加I/O命令(PERF CMD)。
例如,第一状态State_1和第三状态State_3可以是最大操作状态,第二状态State_2可以是低功率状态。主机100可向第二存储装置500提供附加I/O命令(PERF CMD)。因此,由于附加I/O命令(PERF CMD)而引起的负载可不被施加到第一存储装置400或第三存储装置600,并且附加I/O命令(PERF CMD)可被提供给第二存储装置500以更快速地处理附加I/O命令(PERF CMD)。因此,在根据一些示例实施例的存储系统6b中,可考虑存储装置400、500和600的状态来分发和处理附加I/O命令(PERF CMD)。
图23是示出应用了根据一些其它示例实施例的存储系统的数据中心的示图。
参照图23,数据中心3000可以是收集各种数据并提供服务的设施,并且也可称为数据存储中心。数据中心3000可以是用于搜索引擎和数据库操作的系统,并且可以是由诸如银行和政府机构的企业使用的计算系统。数据中心3000可包括应用服务器3100至3100n和存储服务器3200至3200m。应用服务器3100至3100n的数量和存储服务器3200至3200m的数量可根据实施例不同地选择,并且应用服务器3100至3100n的数量和存储服务器3200至3200m的数量可彼此不同。
应用服务器3100或存储服务器3200可包括处理器3110和3210和存储器3320和3220中的至少一个。以存储服务器3200为例,处理器3210可控制存储服务器3200的总体操作,并且可访问存储器3220以执行加载到存储器3220中的命令和/或数据。存储器3220可以是DDR SDRAM(双倍数据速率同步DRAM)、HBM(高带宽存储器)、HMC(混合存储器立方)、DIMM(双列直插存储器模块)、Optane DIMM或NVMDIMM(非易失性DIMM)。在一些示例实施例中,包括在存储服务器3200中的处理器3210的数量和存储器3220的数量可不同地选择。在示例实施例中,处理器3210和存储器3220可提供处理器-存储器对。在示例实施例中,处理器3210和存储器3220的数量可彼此不同。处理器3210可包括单核处理器或多核处理器。存储服务器3200的描述也可类似地应用于应用服务器3100。在一些示例实施例中,应用服务器3100可不包括存储装置3150。存储服务器3200可包括至少一个或更多个存储装置3250。包括在存储服务器3200中的存储装置3250的数量可根据实施例不同地选择。
应用服务器3100至3100n和存储服务器3200至3200m可通过网络3300彼此通信。网络3300可使用FC(光纤通道)、以太网等实现。FC是用于相对高速的数据传送的介质,并且可使用提供高性能/高可用性的光学开关。根据网络3300的接入类型,存储服务器3200至3200m可被提供为文件存储、块存储或对象存储。
在示例实施例中,网络3300可以是诸如SAN(存储域网络)的仅存储网络。例如,SAN可以是使用FC网络并根据FCP(FC协议)实现的FC-SAN。在另一示例中,SAN可以是使用TCP/IP网络并根据iSCSI(TCP/IP上SCSI或互联网SCSI)协议实现的IP-SAN。在另一示例中,网络3300可以是诸如TCP/IP网络的一般网络。例如,网络3300可根据诸如FCoE(以太网上FC)、NAS(网络附接存储)和NVMe-oF(Fabrics上NVMe)的协议来实现。
以下,将主要说明应用服务器3100和存储服务器3200。应用服务器3100的说明也可应用于另一应用服务器3100n,存储服务器3200的说明也可应用于另一存储服务器3200m。
应用服务器3100可通过网络3300存储由用户或客户端请求存储在存储服务器3200至3200m之一中的数据。另外,应用服务器3100可通过网络3300获得由用户或客户端请求从存储服务器3200至3200m之一读取的数据。
根据一些示例实施例的应用服务器3100可根据应用服务器3100的情况或要求向存储服务器3200至3200m提供设置命令。存储服务器3200至3200m的状态可根据设置命令被设置。在其它示例实施例中,应用服务器3100可向存储服务器3200至3200m提供状态命令以读取存储服务器的状态。应用服务器3100可基于存储服务器3200至3200m的状态向存储服务器3200至3200m中的至少一个提供附加I/O命令。
在示例实施例中,应用服务器3100可被实现为Web服务器、DBMS(数据库管理系统)等。
应用服务器3100可通过网络3300访问包括在另一应用服务器3100n中的存储器3320n或存储装置3150n,并且可通过网络3300访问包括在存储服务器3200至3200m中的存储器3220至3220m或存储装置3250至3250m。因此,应用服务器3100可对存储在应用服务器3100至3100n和/或存储服务器3200至3200m中的数据执行各种操作。例如,应用服务器3100可执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的命令。数据可从存储服务器3200至3200m的存储装置3250至3250m经由存储服务器3200至3200m的存储器3220至3220m被移动到应用服务器3100至3100n的存储器3320至3320n或被直接移动到应用服务器3100至3100n的存储器3320至3320n。通过网络3300移动的数据可以是为了安全和隐私而被加密的数据。
以存储服务器3200为例,接口(I/F)3254可提供处理器3210与控制器3251之间的物理连接以及NIC(网络接口控制器)3240与控制器3251之间的物理连接。例如,接口3254可实现为存储装置3250直接与专用线缆连接的DAS(直接附接存储)型。另外,例如,接口3254可被实现为诸如ATA(高级技术附件)、SATA(串行ATA)、e-SATA(外部SATA)、SCSI(小型计算机小型接口)、SAS(串行附接SCSI)、PCI(外围组件互连)、PCIe(高速PCI)、NVMe(高速NVM)、IEEE 1394、USB(通用串行总线)、SD(安全数字)卡、MMC(多媒体卡)、eMMC(嵌入式多媒体卡)、UFS(通用闪存)、eUFS(嵌入式通用闪存)和CF(紧凑闪存)卡接口的各种接口类型。
存储服务器3200还可包括交换机3230和NIC 3240。根据处理器3210的控制,交换机3230可选择性地连接处理器3210和存储装置3250,或者可选择性地连接NIC 3240和存储装置3250。
在示例实施例中,NIC 3240可包括网络接口卡、网络适配器等。NIC 3240可通过有线接口、无线接口、蓝牙接口、光学接口等连接到网络3300。NIC 3240可包括内部存储器、DSP、主机总线接口等,并且可通过主机总线接口连接到处理器3210和/或交换机3230等。主机总线接口也可被实现为上述接口3254的示例之一。在示例实施例中,NIC 3240也可与处理器3210、交换机3230和存储装置3250中的至少一个集成。
在存储服务器3200至3200m或应用服务器3100至3100n中,处理器可向存储装置3150至3150n和3250至3250m或存储器3320至3320n和3220至3220m发送命令以编程或读取数据。数据可以是通过ECC引擎纠错后的数据。数据可以是经过数据总线转位(DBI)或数据掩码(DM)处理的数据,并且可包括CRC(循环冗余码)信息。数据可以是为了安全和隐私而被加密的数据。
存储装置3150至3150n和3250至3250m可响应于从处理器接收的读命令向NAND闪速存储器装置(NAND)3252至3252m发送控制信号和命令/地址信号。因此,当从NAND闪速存储器装置3252至3252m读取数据时,可输入RE(读使能)信号作为数据输出控制信号,以用于将数据输出到DQ总线。可使用RE信号来生成DQS(数据选通)。命令和地址信号可根据WE(写使能)信号的上升沿或下降沿锁存到页缓冲器中。
控制器3251可总体上控制存储装置3250的操作。在示例实施例中,控制器3251可包括SRAM(静态随机存取存储器)。控制器3251可响应于写命令将数据写在NAND闪速存储器装置3252中,或者可响应于读命令从NAND闪速存储器装置3252读取数据。例如,可从存储服务器3200中的处理器3210、另一存储服务器3200m中的处理器3210m或应用服务器3100至3100n中的处理器3110至3110n提供写命令和/或读命令。
根据一些示例实施例的控制器(CTRL)3251可包括多个核。控制器3251的状态可根据从应用服务器3100和3100n提供的设置命令来设置,并且写命令和/或读命令可根据设置的状态被分发到多个核中。
DRAM 3253可暂时存储(缓冲)要写到NAND闪速存储器装置3252的数据或从NAND闪速存储器装置3252读取的数据。另外,DRAM 3253也可存储元数据。元数据可以是由控制器3251生成以管理用户数据和NAND闪速存储器装置3252的数据。存储装置3250可包括用于安全或隐私的SE(安全元件)。
作为总结和回顾,控制多核处理器的方法应该根据各种目的有效地操作存储系统。
如上所述,实施例可提供一种更有效地向多个核分发命令的存储装置。实施例还可提供一种包括更有效地向多个核分发命令的存储装置的存储系统。
本文公开了示例实施例,尽管采用了特定术语,但它们仅在一般性和描述性意义上被使用和解释,而非为了限制。在一些情况下,如对本领域普通技术人员而言将显而易见的是,自提交本申请起,除非另外具体地指示,否则结合特定实施例描述的特征、特性和/或元件可被单独使用,或与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离在所附权利要求中阐述的本发明的精神和范围的情况下,可进行各种形式和细节上的改变。

Claims (20)

1.一种存储装置,包括:
非易失性存储器;
多个核;
主机接口,其被配置为从主机接收第一设置命令、输入/输出命令和管理命令;以及
存储控制器,其包括命令分发模块,所述命令分发模块被配置为根据所述第一设置命令被设置为第一状态,并且根据设置的所述第一状态向所述多个核分发所述输入/输出命令,
其中,所述多个核中的每一个被配置为响应于分发的所述输入/输出命令对所述非易失性存储器执行由所述输入/输出命令指示的操作和由所述管理命令指示的操作。
2.根据权利要求1所述的存储装置,其中:
所述多个核包括彼此不同的第一核和第二核,并且
所述命令分发模块被配置为向所述第一核分发所述输入/输出命令,不向所述第二核分发所述输入/输出命令。
3.根据权利要求2所述的存储装置,其中,所述命令分发模块被配置为向所述第二核分发所述管理命令,不向所述第一核分发所述管理命令。
4.根据权利要求3所述的存储装置,其中,所述管理命令包括元数据的读命令和元数据的写命令。
5.根据权利要求2所述的存储装置,其中,所述命令分发模块被配置为不向所述多个核分发所述管理命令。
6.根据权利要求1所述的存储装置,其中:
所述多个核包括彼此不同的第一核和第二核,
所述输入/输出命令包括写命令和读命令,并且
所述命令分发模块被配置为向所述第一核分发所述写命令,并向所述第二核分发所述读命令。
7.根据权利要求6所述的存储装置,其中:
所述多个核还包括与所述第一核和所述第二核不同的第三核,并且
所述命令分发模块被配置为向所述第三核分发所述管理命令,并且被配置为不向所述第一核和所述第二核分发所述管理命令。
8.根据权利要求1所述的存储装置,其中:
所述第一设置命令是具有根据所述主机接口的格式的命令,并且包括所述存储装置的特征当中所述主机要设置的特征,并且
所述第一状态包括在所述存储装置的特征中。
9.根据权利要求1所述的存储装置,还包括:
自配置模块,其被配置为将第二设置命令提供给所述命令分发模块,
其中,所述命令分发模块被配置为根据所述第二设置命令被设置为第二状态。
10.根据权利要求9所述的存储装置,其中,所述自配置模块被配置为监测所述输入/输出命令的类型、所述输入/输出命令的延迟、所述输入/输出命令的维度、所述多个核的队列深度或者从所述主机提供所述输入/输出命令的间隔,以生成所述第二设置命令。
11.根据权利要求1所述的存储装置,还包括:
自配置模块,其被配置为向所述命令分发模块提供第二设置命令,
其中,当所述第一设置命令和所述第二设置命令同时被提供时,所述命令分发模块被配置为根据所述第一设置命令被设置为所述第一状态。
12.一种存储装置,包括:
非易失性存储器;以及
存储控制器,其被配置为在第一时间点处从主机接收第一设置命令,被配置为响应于从所述主机提供的输入/输出命令对所述非易失性存储器执行由所述输入/输出命令指示的操作,并且被配置为响应于从所述主机提供的管理命令不对所述非易失性存储器执行由所述管理命令指示的操作。
13.根据权利要求12所述的存储装置,其中:
所述存储控制器还包括主机接口,所述主机接口被配置为从所述主机接收所述第一设置命令、所述输入/输出命令和所述管理命令,并且
所述第一设置命令是具有根据所述主机接口的格式的命令并且包括所述存储装置的特征当中所述主机要设置的特征。
14.根据权利要求12所述的存储装置,其中,所述存储控制器被配置为:
在比所述第一时间点晚的第二时间点处从所述主机接收与所述第一设置命令不同的第二设置命令,并且
在所述第二时间点之后对所述非易失性存储器执行由所述管理命令指示的操作。
15.根据权利要求14所述的存储装置,其中:
所述存储控制器被配置为控制所述非易失性存储器,并且还包括彼此不同的第一核和第二核,
所述第一核被配置为对所述非易失性存储器执行由所述输入/输出命令指示的操作,并且
所述第二核被配置为对所述非易失性存储器执行由所述管理命令指示的操作。
16.根据权利要求15所述的存储装置,其中:
所述存储控制器被配置为控制所述非易失性存储器,并且还包括与所述第一核和所述第二核不同的第三核,
所述输入/输出命令包括读命令和写命令,
所述第一核被配置为对所述非易失性存储器执行由所述读命令指示的操作,并且
所述第二核被配置为对所述非易失性存储器执行由所述写命令指示的操作。
17.一种存储系统,包括:
主机;
第一存储装置,其包括:
第一非易失性存储器,
多个第一核,其被配置为控制所述第一非易失性存储器,以及
第一存储控制器,其被配置为响应于从所述主机提供的第一状态命令向所述多个第一核输出第一状态,所述第一状态包括从所述主机提供的第一管理命令和第一输入/输出命令被分发的信息;以及
第二存储装置,其包括:
第二非易失性存储器,
多个第二核,其被配置为控制所述第二非易失性存储器,以及
第二存储控制器,其被配置为响应于从所述主机提供的第二状态命令向所述多个第二核输出第二状态,所述第二状态包括从所述主机提供的第二管理命令和第二输入/输出命令被分发的信息,
其中,所述主机被配置为基于所述第一状态和所述第二状态向所述第一存储装置和所述第二存储装置之一提供第三输入/输出命令。
18.根据权利要求17所述的存储系统,其中:
所述第一状态包括不提供所述第一管理命令,并且向所述多个第一核分发所述第一输入/输出命令的信息,
所述第二状态包括向所述多个第二核之一分发所述第二管理命令和所述第二输入/输出命令的信息,并且
所述主机被配置为将所述第三输入/输出命令提供给所述第二存储装置。
19.根据权利要求17所述的存储系统,其中:
所述多个第一核包括第三核和第四核,
所述第一状态包括向所述第一核提供所述第一管理命令并且向所述第四核分发所述第一输入/输出命令的信息,
所述第二状态包括向所述多个第二核之一分发所述第二管理命令和所述第二输入/输出命令的信息,并且
所述主机被配置为将所述第三输入/输出命令提供给所述第二存储装置。
20.根据权利要求17所述的存储系统,其中:
所述第一存储控制器还包括被配置为从所述主机接收所述第一状态命令、所述第一管理命令和所述第一输入/输出命令的第一主机接口,
所述第二存储控制器还包括被配置为从所述主机接收所述第二状态命令、所述第二管理命令和所述第二输入/输出命令的第二主机接口,
所述第一状态命令是具有根据所述第一主机接口的格式的命令并且包括所述第一存储装置的特征当中由所述主机请求的特征,并且
所述第二状态命令是具有根据所述第二主机接口的格式的命令并且包括所述第二存储装置的特征当中由所述主机请求的特征。
CN202111368417.XA 2020-11-18 2021-11-18 存储装置和包括其的存储系统 Pending CN114546903A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200154438A KR20220067795A (ko) 2020-11-18 2020-11-18 스토리지 장치 및 이를 포함하는 스토리지 시스템
KR10-2020-0154438 2020-11-18

Publications (1)

Publication Number Publication Date
CN114546903A true CN114546903A (zh) 2022-05-27

Family

ID=81586651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111368417.XA Pending CN114546903A (zh) 2020-11-18 2021-11-18 存储装置和包括其的存储系统

Country Status (3)

Country Link
US (1) US11789652B2 (zh)
KR (1) KR20220067795A (zh)
CN (1) CN114546903A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220067795A (ko) * 2020-11-18 2022-05-25 삼성전자주식회사 스토리지 장치 및 이를 포함하는 스토리지 시스템

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978353B2 (en) * 2002-10-18 2005-12-20 Sun Microsystems, Inc. Low overhead snapshot in a storage array using a tree-of-slabs metadata
US7240172B2 (en) * 2003-02-07 2007-07-03 Sun Microsystems, Inc. Snapshot by deferred propagation
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US8756369B2 (en) 2008-09-26 2014-06-17 Netapp, Inc. Priority command queues for low latency solid state drives
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
WO2011161830A1 (ja) 2010-06-25 2011-12-29 富士通株式会社 マルチコアシステムおよびスケジューリング方法
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
TWI447646B (zh) * 2011-11-18 2014-08-01 Asmedia Technology Inc 資料傳輸裝置及多個指令的整合方法
US9395924B2 (en) 2013-01-22 2016-07-19 Seagate Technology Llc Management of and region selection for writes to non-volatile memory
KR101694310B1 (ko) 2013-06-14 2017-01-10 한국전자통신연구원 멀티코어 프로세서 기반의 모니터링 장치 및 그 방법
KR101481898B1 (ko) 2013-06-25 2015-01-14 광운대학교 산학협력단 Ssd의 명령어 큐 스케줄링 장치 및 방법
US20150039815A1 (en) * 2013-08-02 2015-02-05 OCZ Storage Solutions Inc. System and method for interfacing between storage device and host
US9383926B2 (en) * 2014-05-27 2016-07-05 Kabushiki Kaisha Toshiba Host-controlled garbage collection
US9367254B2 (en) * 2014-06-27 2016-06-14 HGST Netherlands B.V. Enhanced data verify in data storage arrays
US9881014B1 (en) * 2014-06-30 2018-01-30 EMC IP Holding Company LLC Snap and replicate for unified datapath architecture
KR102336443B1 (ko) * 2015-02-04 2021-12-08 삼성전자주식회사 가상화 기능을 지원하는 스토리지 장치 및 사용자 장치
US10038744B1 (en) * 2015-06-29 2018-07-31 EMC IP Holding Company LLC Intelligent core assignment
KR102371916B1 (ko) * 2015-07-22 2022-03-07 삼성전자주식회사 가상 머신을 지원하는 스토리지 장치, 그것을 포함하는 스토리지 시스템 및 그것의 동작 방법
US20170109092A1 (en) * 2015-10-15 2017-04-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Selective initialization of storage devices for a logical volume
US10515192B2 (en) * 2016-02-02 2019-12-24 Vmware, Inc. Consistent snapshots and clones in an asymmetric virtual distributed file system
TWI617103B (zh) * 2016-02-29 2018-03-01 Toshiba Memory Corp Electronic machine
US20170315878A1 (en) * 2016-04-29 2017-11-02 Netapp, Inc. Method for low overhead, space tracking, high performance snapshots and clones by transfer of extent ownership
US10474374B2 (en) 2016-05-24 2019-11-12 Samsung Electronics Co., Ltd. Method and apparatus for storage device latency/bandwidth self monitoring
US10235066B1 (en) * 2017-04-27 2019-03-19 EMC IP Holding Company LLC Journal destage relay for online system checkpoint creation
TWI645295B (zh) * 2017-06-20 2018-12-21 慧榮科技股份有限公司 資料儲存裝置與資料儲存方法
US10719474B2 (en) 2017-10-11 2020-07-21 Samsung Electronics Co., Ltd. System and method for providing in-storage acceleration (ISA) in data storage devices
KR102410671B1 (ko) * 2017-11-24 2022-06-17 삼성전자주식회사 스토리지 장치, 스토리지 장치를 제어하는 호스트 장치, 및 스토리지 장치의 동작 방법
US11836134B2 (en) * 2018-03-20 2023-12-05 Vmware, Inc. Proactive splitting and merging of nodes in a Bε-tree
KR102637166B1 (ko) * 2018-04-17 2024-02-16 삼성전자주식회사 대용량 데이터를 저장하는 네트워크 스토리지 장치
US10932202B2 (en) 2018-06-15 2021-02-23 Intel Corporation Technologies for dynamic multi-core network packet processing distribution
US10705965B2 (en) * 2018-07-23 2020-07-07 EMC IP Holding Company LLC Metadata loading in storage systems
US10872004B2 (en) * 2018-11-15 2020-12-22 Intel Corporation Workload scheduling and coherency through data assignments
US11487706B2 (en) * 2019-05-02 2022-11-01 EMC IP Holding Company, LLC System and method for lazy snapshots for storage cluster with delta log based architecture
US11625084B2 (en) * 2019-08-15 2023-04-11 Intel Corporation Method of optimizing device power and efficiency based on host-controlled hints prior to low-power entry for blocks and components on a PCI express device
US11347725B2 (en) * 2020-01-14 2022-05-31 EMC IP Holding Company LLC Efficient handling of highly amortized metadata page updates in storage clusters with delta log-based architectures
US11157177B2 (en) * 2020-03-16 2021-10-26 EMC IP Holding Company LLC Hiccup-less failback and journal recovery in an active-active storage system
KR20220067795A (ko) * 2020-11-18 2022-05-25 삼성전자주식회사 스토리지 장치 및 이를 포함하는 스토리지 시스템
US11726663B2 (en) * 2021-01-13 2023-08-15 EMC IP Holding Company LLC Dependency resolution for lazy snapshots in storage cluster with delta log based architecture

Also Published As

Publication number Publication date
KR20220067795A (ko) 2022-05-25
US11789652B2 (en) 2023-10-17
US20220156007A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
KR20190090635A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20220102224A1 (en) Test method of storage device implemented in multi-chip package (mcp) and method of manufacturing an mcp including the test method
KR20220043821A (ko) 멀티-칩 패키지로 구현된 스토리지 장치의 테스트 방법
US11789652B2 (en) Storage device and storage system including the same
EP4184509B1 (en) Non-volatile memory device, storage device and method of manufacturing the same using wafer-to-wafer bonding
US20220197510A1 (en) Storage device for executing processing code and operating method of the storage device
KR20230068935A (ko) 스토리지 장치 및 그 구동 방법
KR20230030344A (ko) 웨이퍼-투-웨이퍼 본딩을 이용하는 3차원 스토리지 장치
US11836117B2 (en) Storage device, storage system, and method of operating the storage system
US11921625B2 (en) Storage device for graph data
US20230141409A1 (en) Storage device and operating method thereof
US12014772B2 (en) Storage controller and storage device including the same
US11842076B2 (en) Storage system and operating method for same
US20240134568A1 (en) Computational storage device, method for operating the computational storage device and method for operating host device
US20230038363A1 (en) Three-dimensional storage device using wafer-to-wafer bonding
US20230114199A1 (en) Storage device
US20230292449A1 (en) Storage Device
US20240193105A1 (en) Computational storage device and method of operating the same
US20240194273A1 (en) Nonvolatile memory device, storage device including the same, and method of operating the same
US20230139519A1 (en) Storage device supporting multi-tenant operation and methods of operating same
US20230221885A1 (en) Storage system and computing system including the same
US20230146540A1 (en) Storage device and an operating method of a storage controller thereof
US20240193041A1 (en) Operation method of memory controller configured to control memory device
KR20230067457A (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