CN114730301A - 用于多协议处理的存储系统和方法 - Google Patents
用于多协议处理的存储系统和方法 Download PDFInfo
- Publication number
- CN114730301A CN114730301A CN202180006668.5A CN202180006668A CN114730301A CN 114730301 A CN114730301 A CN 114730301A CN 202180006668 A CN202180006668 A CN 202180006668A CN 114730301 A CN114730301 A CN 114730301A
- Authority
- CN
- China
- Prior art keywords
- command
- data
- channel
- memory
- computing device
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 title abstract description 6
- 238000004891 communication Methods 0.000 claims abstract description 46
- 238000012546 transfer Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000002093 peripheral effect Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000035945 sensitivity Effects 0.000 claims description 3
- 239000003550 marker Substances 0.000 claims 2
- 239000000758 substrate Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 239000004065 semiconductor Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000003491 array Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000011370 conductive nanoparticle Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/0653—Monitoring storage devices or 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/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/0683—Plurality of storage devices
-
- 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
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
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)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种用于多协议处理的存储系统和方法。在一个实施方案中,提供了一种计算设备,该计算设备包括多个通信信道,该多个通信信道被配置为与存储系统通信,其中第一通信信道具有比第二通信信道快的数据传输速度。该计算设备还包括处理器,该处理器被配置为:确定命令的优先级级别;向存储系统发送具有其优先级级别的指示的命令;响应于命令是高优先级命令,使用第一通信信道传输针对命令的数据;以及响应于命令是低优先级命令,使用第二通信信道传输针对命令的数据。本发明提供了其他实施方案。
Description
背景技术
主机可以向存储系统发送读取请求和写入请求以从存储系统的存储器读取数据并将数据存储在存储系统的存储器中。主机和存储系统可以使用通信协议进行通信,并且当前可用各种通信协议。
附图说明
图1A是一个实施方案的非易失性存储系统的框图。
图1B是示出一个实施方案的存储模块的框图。
图1C是示出一个实施方案的分级存储系统的框图。
图2A是示出根据一个实施方案的图1A所示的非易失性存储系统的控制器的部件的框图。
图2B是示出根据一个实施方案的图1A所示的非易失性存储器存储系统的部件的框图。
图3是一个实施方案的计算设备和存储系统的框图。
图4是用于一个实施方案的多协议处理的流程图。
图5是一个实施方案的计算设备和存储系统的图示。
具体实施方式
概述
通过介绍的方式,下面的实施方案涉及用于多协议处理的存储系统和方法。在一个实施方案中,提供了一种计算设备,该计算设备包括多个通信信道,该多个通信信道被配置为与存储系统通信,其中第一通信信道具有比第二通信信道快的数据传输速度。该计算设备还包括处理器,该处理器被配置为:确定命令的优先级级别;向存储系统发送具有其优先级级别的指示的命令;响应于命令是高优先级命令,使用第一通信信道传输针对命令的数据;以及响应于命令是低优先级命令,使用第二通信信道传输针对命令的数据。
在一些实施方案中,第一通信信道在外围部件快速互连(PCIe)协议下操作,并且其中第二通信信道在安全数字协议下操作。
在一些实施方案中,用于传输用户数据的命令被确定为高优先级命令。
在一些实施方案中,用于传输日志文件或调试数据的命令被确定为低优先级命令。
在一些实施方案中,用于传输顺序数据的命令被确定为高优先级命令,并且其中用于传输随机数据的命令被确定为低优先级命令。
在一些实施方案中,基于发出命令的应用程序的识别来确定优先级级别。
在一些实施方案中,基于与命令相关联的逻辑区域来确定优先级级别。
在一些实施方案中,基于生成命令的应用程序的识别来确定优先级级别。
在一些实施方案中,处理器被配置为关闭第一通信信道和第二通信信道中的一者并仅使用第一通信信道和第二通信信道中的另一者进行数据传输。
在另一个实施方案中,提供了一种方法,在经由第一通道和第二通道与主机通信的存储系统中执行该方法,第一通道具有比第二通道快的数据传输速度,其中存储系统包括存储器。该方法包括:将从主机接收的多个命令存储在队列中,其中每个命令用指示经由第一通道的数据传输的第一标记进行标记,或者用指示经由第二通道的数据传输的第二标记进行标记;使用第一通道传输针对用第一标记进行标记的命令的数据;以及使用第二通道传输针对用第二标记进行标记的命令的数据。
在一些实施方案中,该方法还包括对针对用第一标记进行标记的命令的存储系统资源进行排优。
在一些实施方案中,第一通道在外围部件快速互连(PCIe)协议下操作,并且其中第二通道在安全数字协议下操作。
在一些实施方案中,针对用第一标记进行标记的命令传输的数据包括用户数据,并且其中针对用第二标记进行标记的命令传输的数据包括日志文件或调试数据。
在一些实施方案中,针对用第一标记进行标记的命令传输的数据包括顺序数据,并且其中针对用第二标记进行标记的命令传输的数据包括随机数据。
在一些实施方案中,存储器包括三维存储器。
在另一个实施方案中,提供了一种计算设备,该计算设备包括:多个通道,该多个通道被配置为与存储系统通信,其中第一通道具有比第二通道快的数据传输速度;用于使用第一通道在计算设备与存储系统之间传输对时间相对更敏感的数据的装置;和用于使用第二通道在计算设备与存储系统之间传输对时间相对更不敏感的数据的装置。
在一些实施方案中,第一通道包括外围部件快速互连(PCIe)通道,并且其中第二通道包括安全数字通道。
在一些实施方案中,该计算设备还包括用于确定数据是对时间相对更敏感还是对时间相对更不敏感的装置。
在一些实施方案中,用户数据对时间相对更敏感,并且其中日志文件或调试数据对时间相对更不敏感。
在一些实施方案中,该计算设备还包括用于用指示时间敏感度的标记来标记命令的装置。
其他实施方案是可行的,并且实施方案中的每个可单独使用或组合在一起使用。因此,现在将参考附图描述各种实施方案。
实施方案
在图1A-图1C中示出适用于实现这些实施方案的各方面的存储系统。图1A是示出根据本文所述的主题的一个实施方案的非易失性存储系统100的框图。参考图1A,非易失性存储系统100包括控制器102和可由一个或多个非易失性存储器管芯104组成的非易失性存储器。如本文所述,术语管芯是指在单个半导体基板上形成的非易失性存储器单元的集合,以及用于管理那些非易失性存储器单元的物理操作的相关联的电路。控制器102与主机系统进行交互,并且将用于读取操作、编程操作和擦除操作的命令序列传输到非易失性存储器管芯104。
控制器102(其可以是非易失性存储器控制器(例如,闪存、电阻随机存取存储器(ReRAM)、相变存储器(PCM)或磁阻随机存取存储器(MRAM)控制器))可采用以下形式:例如,处理电路、微处理器或处理器,以及存储可由(微)处理器执行的计算机可读程序代码(例如,固件)的计算机可读介质、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌入式微控制器。控制器102可以配置有硬件和/或固件,以执行下文描述并且在流程图中示出的各种功能。另外,示出为在控制器内部的一些部件可也存储在控制器外部,并且可以使用其他部件。此外,短语“操作地与...通信”可能意味着直接或间接地(有线或无线)与一个或多个部件通信、通过一个或多个部件通信,其可在本文中示出或未示出。
如本文所用,非易失性存储器控制器是管理存储在非易失性存储器上的数据并且与主机诸如计算机或电子设备通信的设备。除了本文描述的特定功能外,非易失性存储器控制器可以具有各种功能。例如,非易失性存储器控制器可以对非易失性存储器进行格式化以确保存储器正在正确操作,标出坏的非易失性存储器单元,并且分配备用单元以替代将来的故障单元。备用单元中的一些部分可以用来容纳固件以操作非易失性存储器控制器并且实现其他特征。在操作中,当主机需要从非易失性存储器读取数据或向非易失性存储器写入数据时,它可与非易失性存储器控制器通信。如果主机提供要读取/写入数据的逻辑地址,那么非易失性存储器控制器可以将从主机接收的逻辑地址转换为非易失性存储器中的物理地址。(或者,主机可提供物理地址。)非易失性存储器控制器还可执行各种存储器管理功能,诸如但不限于损耗均衡(分配写入以避免损耗否则将被重复写入的特定存储器块)和垃圾收集(在块已满之后,仅将有效的数据页面移动到新块,因此可以擦除并且重用完整块)。
非易失性存储器管芯104可包括任何合适的非易失性存储介质,包括电阻随机存取存储器(ReRAM)、磁阻随机存取存储器(MRAM)、相变存储器(PCM)、NAND闪存单元和/或NOR闪存单元。存储器单元可以采用固态(例如,闪存)存储器单元的形式,并且可以是可一次编程、可数次编程或可多次编程的。存储器单元还可以是单级单元(SLC)、多级单元(MLC)、三级单元(TLC),或者使用现在已知或之后开发的其他存储器单元级技术。另外,存储器单元可以二维方式或三维方式制造。
位于控制器102和非易失性存储器管芯104之间的接口可为任何合适的闪存接口,诸如切换模式200、400或800。在一个实施方案中,存储系统100可为基于卡的系统,诸如安全数字卡(SD)或微型安全数字(微型SD)卡。在另选的实施方案中,存储系统100可为嵌入式存储系统的部分。
虽然在图1A所示的示例中,非易失性存储系统100(本文有时称为存储模块)包括控制器102和非易失性存储器管芯104之间的单个信道,但是本文描述的主题不限于具有单个存储器信道。例如,在一些存储系统架构中(诸如图1B和图1C中所示的架构),控制器和存储器设备之间根据控制器的能力可以存在2个、4个、8个或更多个存储器信道。在本文描述的任何实施方案中,即使在附图中示出单个信道,控制器和存储器管芯之间也可以存在超过一个单个信道。
图1B示出了包括多个非易失性存储系统100的存储模块200。同样地,存储模块200可包括存储控制器202,该存储控制器与主机以及包括多个非易失性存储系统100的存储系统204进行交互。存储控制器202和非易失性存储系统100之间的接口可以是总线接口,诸如串行高级技术附件(SATA)、外围部件快速互连(PCIe)接口或双倍数据率(DDR)接口。在一个实施方案中,存储模块200可以是诸如在服务器PC或便携式计算设备诸如膝上型计算机和平板电脑中存在的固态驱动器(SSD)或非易失性双列直插式存储器模块(NVDIMM)。
图1C是示出分级存储系统的框图。分级存储系统250包括多个存储控制器202,该多个存储控制器中的每个存储控制器控制相应的存储系统204。主机系统252可经由总线接口存取存储系统内的存储器。在一个实施方案中,总线接口可以是非易失性存储器快速(NVMe)或以太网光纤信道(FCoE)接口。在一个实施方案中,图1C所示的系统可以是机架可安装的大容量存储系统,该机架可安装的大容量存储系统能够由多个主机计算机存取,诸如在数据中心中或在需要大容量存储的其他位置中可以找到。
图2A是更详细地示出控制器102的示例性部件的框图。控制器102包括与主机进行交互的前端模块108、与一个或多个非易失性存储器管芯104进行交互的后端模块110、以及执行现在将详细描述的功能的各种其他模块。模块可以采用以下形式:例如,设计用于搭配其他部件使用的封装功能硬件单元、能够由通常执行相关功能中的特定功能的(微)处理器或处理电路执行的程序代码的一部分(例如,软件或固件),或者与更大系统进行交互的独立硬件或软件部件。控制器102的模块可包括多协议处理程序111(该多协议处理程序在下文中更详细地讨论),并且该模块可在硬件或软件/固件中实现,以从视频流中提取各种视频帧。多协议处理程序111可被配置为执行下文所讨论并且在附图中示出的算法和方法。
再次参考控制器102的模块,缓冲区管理/总线控制器114管理随机存取存储器(RAM)116中的缓冲区,并且控制控制器102的内部总线仲裁。只读存储器(ROM)118存储系统引导代码。虽然图2A所示为与控制器102分开定位,但在其他实施方案中,RAM 116和ROM118中的一者或两者可以定位在控制器内。在又其他实施方案中,RAM和ROM的部分可位于控制器102内和控制器外部。
前端模块108包括主机接口120和提供与主机或下一级存储控制器的电接口的物理层接口(PHY)122。可以取决于所使用的存储器的类型来选择主机接口120的类型。主机接口120的示例包括但不限于SATA、SATA Express、串行附接小型计算机系统接口(SAS)、光纤信道、通用串行总线(USB)、PCIe和NVMe。主机接口120通常有利于传输数据、控制信号和定时信号。
后端模块110包括错误校正代码(ECC)引擎124,该ECC引擎对从主机接收的数据字节进行编码,并且对从非易失性存储器读取的数据字节进行解码和错误校正。命令定序器126生成命令序列,诸如编程命令序列和擦除命令序列,以传输到非易失性存储器管芯104。RAID(独立驱动器冗余阵列)模块128管理RAID奇偶校验的生成和失败数据的恢复。RAID奇偶校验可用作写入存储器设备104中的数据的附加级的完整性保护。在一些情况下,RAID模块128可以是ECC引擎124的一部分。存储器接口130向非易失性存储器管芯104提供命令序列并从非易失性存储器管芯104接收状态信息。在一个实施方案中,存储器接口130可以是双倍数据速率(DDR)接口,诸如切换模式200、400或800接口。闪存控制层132控制后端模块110的整体操作。
存储系统100还包括其他分立部件140,诸如外部电气接口、外部RAM、电阻器、电容器或可与控制器102进行交互的其他部件。在另选的实施方案中,物理层接口122、RAID模块128、媒体管理层138和缓冲区管理/总线控制器114中的一者或多者是控制器102中不需要的任选的部件。
图2B是更详细地示出非易失性存储器管芯104的部件的框图。非易失性存储器管芯104包括外围电路141和非易失性存储器阵列142。非易失性存储器阵列142包括用于存储数据的非易失性存储器单元。非易失性存储器单元可以是任何合适的非易失性存储器单元,包括采用二维配置和/或三维配置的ReRAM、MRAM、PCM、NAND闪存存储器单元和/或NOR闪存存储器单元。非易失性存储器管芯104还包括高速缓存数据的数据高速缓存156。外围电路141包括提供状态信息到控制器102的状态机152。
再次返回图2A,闪存控制层132(其在本文中将被称为闪存转换层(FTL),或者更一般地被称为“媒体管理层”,由于存储器可以不是闪存)处理闪存错误并与主机进行交互。具体地讲,FTL(其可以是固件中的算法)负责存储器管理的内部并将来自主机的写入转换为到存储器104的写入。FTL可能是需要的,因为存储器104可能具有有限的耐久性,可能仅写入多个页面,和/或可能不写入(除非其作为块被擦除)。FTL理解存储器104的这些潜在限制,这些限制可能对主机不可见。因此,FTL尝试将来自主机的写入转换为到存储器104中的写入。
FTL可包括逻辑到物理地址(L2P)映射以及分配的高速缓存存储器。这样,FTL将来自主机的逻辑块地址(“LBA”)转换为存储器104中的物理地址。FTL可包括其他特征,诸如但不限于断电恢复(使得FTL的数据结构可在突然电力损失的情况下恢复)和损耗均衡(使得跨存储器块的损耗均匀,以防止某些块过度损耗,该过度损耗将导致更大机会出现故障)。
再次参考附图,图3是一个实施方案的主机300和存储系统100的框图。主机300可采用任何合适的形式,包括但不限于计算机、移动电话、平板电脑、可穿戴设备、数字视频记录器、监视系统等。在该实施方案中,主机300(此处,计算设备)包括处理器330和存储器340。在一个实施方案中,将处理器330配置为实现多协议处理程序的计算机可读程序代码存储在存储器340中并由处理器330执行。在另一个实施方案中,多协议处理程序仅在硬件中实现。
主机300和存储系统100经由第一通信信道310和第二通信信道320彼此通信。虽然图3中仅示出了两个通信信道310、320(在本文中有时被称为通道),但是应当理解,可以使用多于两个信道。在该实施方案中,两个信道310、320具有不同的数据传输速度并且与不同的协议相关联。例如,通信信道中的一者可以在外围部件快速互连(PCIe)协议下操作,并且另一个通信信道可以在安全数字协议下操作。在该示例中,存储系统100可以被认为是具有两个独立数据通道的SD-PCIe存储系统,一个用于支持SD操作模式,并且另一个支持PCIe操作模式。SD-PCIe存储系统的规范可以继续到一起涉及SD堆栈和NVMe堆栈的SD协议的后续版本(例如,SD 7.0及以上)。通常,NVMe系统具有用于数据传输的PCIe通道,并且除了所需的PCIe通道之外,SD系统还可以具有SD数据传输通道以确保存储系统(例如,SD-Express存储卡)是向后兼容的。
两个数据通信信道可以具有不同的数据传输速度,一个适用于NVMe速度,并且另一个适用于SD速度。虽然存储系统100可以在任何给定时间仅使用信道中的一个信道,但是在一个实施方案中,主机300和存储系统100使用其多协议处理程序来利用两个数据通信信道来提高性能。例如,该实施方案可以使用两个硬件通道以用于更好系统吞吐量,其中根据主机的用例要求一起利用SD通道和PCIe通道两者。可以由主机300利用低数据速率SD通道来实现非时间关键数据移动,因此允许PCIe通道在全摆幅中操作。作为示例,主机300可以使用SD通道以较少的每秒输入输出操作(IOPS)传输调试数据、日志数据或随机数据。主机300可以适当的时钟为两个通道供电。
图4是可以用于优化SD-PCIe存储系统中的物理通道利用率以利用不是所有命令/数据都需要PCIe性能的事实的一个实施方案的方法的流程图400。应当理解,虽然在该示例中将使用SD通道和PCIe通道,但是可以使用其他协议和数据传输速率。另外,如上所述,虽然在该示例中将使用两个通道,但是可以使用多于两个通道(例如,用于X数量的不同优先级级别的X数量的通道中的每个通道)。
如图4所示,首先,主机300中的处理器330确定针对给定命令的数据是应使用第一通信信道310(例如,PCIe通道)还是应使用第二通信信道320(例如,SD通道)(动作410)。主机300中的处理器330可以确定命令的优先级级别,并且标记或以其他方式指示命令的优先级级别(动作420)。例如,用于传输用户数据的命令可以被认为是高优先级命令,而用于传输日志文件、调试数据或其他非时间关键数据的命令可以被认为是低优先级命令。因此,可以基于用于命令的数据传输与另一个命令相比是对时间相对更敏感还是对时间相对更不敏感来进行通道选择。阈值水平可用于确定时间敏感度。作为另一个示例,用于传输顺序数据的命令可以被认为是高优先级命令,而用于以相对低的每秒输入输出操作(IOPS)传输随机数据的命令可被认为是低优先级命令。作为又一个示例,可以基于发出命令的应用程序的识别或基于存储器的与命令相关联的逻辑区域来确定优先级级别。当然,这些仅仅是示例,并且可使用对命令进行分类的其他方式。
然后,主机300向存储系统100发送具有其优先级级别的指示的命令(动作430)。如图5所示,为了与PCIe协议一致,主机300可以使用控制、提交队列和完成队列信道通过存储系统100(此处,SD-PCIe设备)中的现有NVMe提交队列来提交命令。可用主机300想要传输数据的通道来标记命令(例如,命令1-PCIe通道标记;命令2-PCIe通道标记;命令3-SD通道标记;和命令4-PCIe通道标记)。在混合负载(读/写)情况下,主机300可以在确定读取要以优先级执行的情况下在提交期间用PCIe通道标记来标记读取命令并且用SD通道标记来标记写入命令。在另一个示例中,主机300可以从各种应用程序提交命令,并且在来自应用程序的命令需要快速命令周转的情况下用PCIe通道标记来标记来自一个应用程序的逻辑区域,并且在其可以提供更多系统延迟的情况下用SD通道标记来标记来自另一个应用程序的命令。
对于任何给定命令,基于与命令相关联的标记来确定使用什么通信信道(动作440)。响应于命令与高优先级命令标记相关联,第一通信信道310用于传输针对命令的数据(动作450)。响应于命令与低优先级命令标记相关联,第二通信信道320用于传输针对命令的数据(动作460)。
主机300可以进行这些确定(例如,通过基于命令优先级挑选用于数据传输的通道),或者可由存储系统100进行确定(例如,在NVMe上下文中)。即使当存储系统100正在进行确定时,主机300仍然可以被认为是使用信道310、320进行数据传输,其用于接收针对读取命令的数据或提供针对写入命令的数据。
当存储系统100进行确定时,与用SD通道标记进行标记的那些命令相比,存储系统100中的处理器102可以对用PCIe通道标记进行标记的那些命令进行排优。另外,存储系统100可以对其硬件资源进行排优,并且对用PCIe通道标记进行标记的命令进行高速缓存。多协议操作模式可以意味着或者可以不意味着主机300以不同通道速率标记不同逻辑区域。可以提交落入关闭逻辑区域中的两个不同命令以进行不同通道速率访问。由于NVMe是成熟堆栈并且在很大程度上涵盖SD堆栈的要求,因此所有命令可以被提交到NVMe队列中,但是存储系统100可以按照同意协议通过SD数据通道传输针对一些命令的数据。未在NVMe协议下覆盖的剩余SD命令可以作为供应商特定命令发送到存储系统100。
如上面示例可以看出,该实施方案可以使用现有硬件通道以用于更好系统吞吐量,其中根据主机用例要求一起利用两个通信信道(此处,SD通道和PCIe通道)。通道可以适当的速度进行时钟控制,如一个协议要求的情况那样,但是单独的通道根据主机/终端应用程序要求用于不同的命令。这允许较慢的SD通道用于非时间关键数据并且允许PCIe在全摆幅中与其他数据一起操作。主机处理器330(例如,执行驱动器)可以对用例进行排序并将标记分配给每个提交的命令)。如果存在在主机300上运行的多个应用程序,则主机处理器320可以评估那些应用程序的性能要求。另外,虽然主机300可以为通道供电并且为它们提供适当的时钟信号,但是主机300还可以关闭第一通信信道310和第二通信信道320中的一者,并仅使用第一通信信道310和第二通信信道320中的另一者进行数据传输。因此,可以执行时钟门控以关闭一个通道并回退到单协议系统。另外,如果在SD速率下需要顺序访问,则可以通过使用PCIe通道而不是SD通道来获得随机数据的高IOPS。
最后,如上所述,可以使用任何合适类型的存储器。半导体存储器设备包括易失性存储器设备,诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)设备,非易失性存储器设备,诸如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存存储器(也可以被认为是EEPROM的子集)、铁电随机存取存储器(“FRAM”)和磁阻随机存取存储器(“MRAM”),以及能够存储信息的其他半导体元件。每种类型的存储器设备可具有不同的配置。例如,闪存存储器设备可以NAND配置或NOR配置进行配置。
该存储器设备可由无源元件和/或有源元件以任何组合形成。举非限制性示例而言,无源半导体存储器元件包括ReRAM设备元件,该无源半导体存储器元件在一些实施方案中包括电阻率切换存储元件诸如反熔丝、相变材料等,以及任选地包括导引元件诸如二极管等。进一步举非限制性示例而言,有源半导体存储器元件包括EEPROM和闪存存储器设备元件,该有源半导体存储器元件在一些实施方案中包括具有电荷存储区域的元件,诸如浮栅、导电纳米粒子或电荷存储介电材料。
多个存储器元件可被配置为使得它们串联连接或者使得每个元件可被单独访问。以非限制性示例的方式,NAND配置中的闪存存储器设备(NAND存储器)通常包含串联连接的存储器元件。NAND存储器阵列可被配置为使得该阵列由存储器的多个串构成,其中串由共享单个位线并作为组被访问的多个存储器元件构成。另选地,可配置存储器元件,使得每个元件可被单独访问,例如NOR存储器阵列。NAND存储器配置和NOR存储器配置为示例,并且可以其他方式配置存储器元件。
位于基板内和/或上方的半导体存储器元件可被布置成两个或三个维度,诸如二维存储器结构或三维存储器结构。
在二维存储器结构中,半导体存储器元件被布置在单个平面或单个存储器设备级中。通常,在二维存储器结构中,存储器元件被布置在平面中(例如,在x-z方向平面中),该平面基本上平行于支撑存储器元件的基板的主表面延伸。基板可以是存储器元件的层在其之上或之中形成的晶圆,或者其可以是在存储器元件形成后附接到其的承载基板。作为非限制性示例,基板可包括半导体,诸如硅。
存储器元件可被布置在处于有序阵列中(诸如在多个行和/或列中)的单个存储器设备级中。然而,存储器元件可以非常规配置或非正交配置排列。存储器元件可各自具有两个或更多个电极或接触线,诸如位线和字线。
三维存储器阵列被布置成使得存储器元件占据多个平面或多个存储器设备级,从而形成三个维度(即,在x方向、y方向和z方向上,其中y方向基本上垂直于基板的主表面,并且x方向和z方向基本上平行于基板的主表面)的结构。
作为非限制性示例,三维存储器结构可被垂直地布置为多个二维存储器设备级的堆叠。作为另一个非限制性示例,三维存储器阵列可被布置为多个垂直列(例如,基本上垂直于基板的主表面延伸的列,即,在y方向上),其中在每一列中每一列均具有多个存储器元件。列可以二维配置例如在x-z平面中布置,从而得到存储器元件的三维布置,其中元件位于多个垂直堆叠的存储器平面上。三维存储器元件的其他配置也可构成三维存储器阵列。
举非限制性示例而言,在三维NAND存储器阵列中,存储器元件可耦接在一起以在单个水平(例如,x-z)存储器设备级内形成NAND串。另选地,存储器元件可耦接在一起以形成横贯多个水平存储器设备级的垂直NAND串。可设想到其他三维配置,其中一些NAND串包含在单个存储器级中的存储器元件,而其他串则包含跨越多个存储器级的存储器元件。三维存储器阵列也可以NOR配置以及ReRAM配置来设计。
通常,在单片三维存储器阵列中,一个或多个存储器设备级在单个基板上方形成。任选地,单片三维存储器阵列还可具有至少部分地在单个基板内的一个或多个存储器层。作为非限制性示例,基板可包括半导体,诸如硅。在单片三维阵列中,构成阵列的每个存储器设备级的层通常形成在阵列的底层存储器设备级的层上。然而,单片三维存储器阵列的相邻存储器设备级的层可被共享或具有在存储器设备级之间的居间层。
然后,可单独形成二维阵列,并且然后封装在一起以形成具有多个存储器层的非单片存储器设备。例如,非单片的堆叠存储器可通过在单独的基板上形成存储器级并且然后将存储器级堆叠在彼此之上而构造。可在堆叠前将基板减薄或从存储器设备级移除,但由于存储器设备级在单独的基板上初始形成,因此所得的存储器阵列不是单片的三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可在单独的芯片上形成,并且然后封装在一起以形成堆叠的芯片存储器设备。
通常需要相关联的电路来操作存储器元件并与存储器元件通信。作为非限制性示例,存储器设备可具有用于控制并驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可与存储器元件位于同一基板上和/或位于单独的基板上。例如,用于存储器读取-写入操作的控制器可定位在单独的控制器芯片上和/或定位在与存储器元件相同的基板上。
本领域的技术人员将认识到,本发明不限于所述的二维结构和三维结构,但涵盖如本文所述的并且如本领域的技术人员所理解的本发明的实质和范围内的所有相关存储器结构。
预期将前面的详细描述理解为本发明可以采用的选定形式的说明,而不是作为本发明的定义。预期只有以下权利要求(包括所有等同物)限定要求保护的本发明的范围。最后,应注意,本文所述的任何实施方案的任何方面均可单独使用或彼此组合使用。
Claims (20)
1.一种计算设备,包括:
多个通信信道,所述多个通信信道被配置为与存储系统通信,其中第一通信信道具有比第二通信信道快的数据传输速度;和
处理器,所述处理器被配置为:
确定命令的优先级级别;
向所述存储系统发送具有其优先级级别的指示的所述命令;
响应于所述命令是高优先级命令,使用所述第一通信信道传输针对所述命令的数据;以及
响应于所述命令是低优先级命令,使用所述第二通信信道传输针对所述命令的数据。
2.根据权利要求1所述的计算设备,其中所述第一通信信道在外围部件快速互连(PCIe)协议下操作,并且其中所述第二通信信道在安全数字协议下操作。
3.根据权利要求1所述的计算设备,其中用于传输用户数据的命令被确定为高优先级命令。
4.根据权利要求1所述的计算设备,其中用于传输日志文件或调试数据的命令被确定为低优先级命令。
5.根据权利要求1所述的计算设备,其中用于传输顺序数据的命令被确定为高优先级命令,并且其中用于传输随机数据的命令被确定为低优先级命令。
6.根据权利要求1所述的计算设备,其中基于发出所述命令的应用程序的识别来确定所述优先级级别。
7.根据权利要求1所述的计算设备,其中基于与所述命令相关联的逻辑区域来确定所述优先级级别。
8.根据权利要求1所述的计算设备,其中基于生成所述命令的应用程序的识别来确定所述优先级级别。
9.根据权利要求1所述的计算设备,其中所述处理器被配置为关闭所述第一通信信道和所述第二通信信道中的一者并仅使用所述第一通信信道和所述第二通信信道中的另一者进行数据传输。
10.一种方法,包括:
在经由第一通道和第二通道与主机通信的存储系统中执行以下操作,所述第一通道具有比所述第二通道快的数据传输速度,其中所述存储系统包括存储器:
将从所述主机接收的多个命令存储在队列中,其中每个命令用指示经由所述第一通道的数据传输的第一标记进行标记,或者用指示经由所述第二通道的数据传输的第二标记进行标记;
使用所述第一通道传输针对用所述第一标记进行标记的命令的数据;以及
使用所述第二通道传输针对用所述第二标记进行标记的命令的数据。
11.根据权利要求10所述的方法,还包括对针对用所述第一标记进行标记的命令的存储系统资源进行排优。
12.根据权利要求10所述的方法,其中所述第一通道在外围部件快速互连(PCIe)协议下操作,并且其中所述第二通道在安全数字协议下操作。
13.根据权利要求10所述的方法,其中针对用所述第一标记进行标记的命令传输的数据包括用户数据,并且其中针对用所述第二标记进行标记的命令传输的数据包括日志文件或调试数据。
14.根据权利要求10所述的方法,其中针对用所述第一标记进行标记的命令传输的数据包括顺序数据,并且其中针对用所述第二标记进行标记的命令传输的数据包括随机数据。
15.根据权利要求10所述的方法,其中所述存储器包括三维存储器。
16.一种计算设备,包括:
多个通道,所述多个通道被配置为与存储系统通信,其中第一通道具有比第二通道快的数据传输速度;
用于使用所述第一通道在所述计算设备与所述存储系统之间传输对时间相对更敏感的数据的装置;和
用于使用所述第二通道在所述计算设备与所述存储系统之间传输对时间相对更不敏感的数据的装置。
17.根据权利要求16所述的计算设备,其中所述第一通道包括外围部件快速互连(PCIe)通道,并且其中所述第二通道包括安全数字通道。
18.根据权利要求16所述的计算设备,还包括用于确定数据是对时间相对更敏感还是对时间相对更不敏感的装置。
19.根据权利要求16所述的计算设备,其中用户数据对时间相对更敏感,并且其中日志文件或调试数据对时间相对更不敏感。
20.根据权利要求16所述的计算设备,还包括用于用指示时间敏感度的标记来标记命令的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/852,091 | 2020-04-17 | ||
US16/852,091 US11544107B2 (en) | 2020-04-17 | 2020-04-17 | Storage system and method for multiprotocol handling |
PCT/US2021/016056 WO2021211188A1 (en) | 2020-04-17 | 2021-02-01 | Storage system and method for multiprotocol handling |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114730301A true CN114730301A (zh) | 2022-07-08 |
Family
ID=78081651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180006668.5A Pending CN114730301A (zh) | 2020-04-17 | 2021-02-01 | 用于多协议处理的存储系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11544107B2 (zh) |
CN (1) | CN114730301A (zh) |
DE (1) | DE112021000142T5 (zh) |
WO (1) | WO2021211188A1 (zh) |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB883655A (en) * | 1957-07-31 | 1961-12-06 | Compagne Des Machines Bull | Improvements in or relating to arrangements for transferring information in electronic computing machines |
US5253348A (en) * | 1990-12-28 | 1993-10-12 | Apple Computer, Inc. | Method of arbitration for buses operating at different speeds |
US5369748A (en) * | 1991-08-23 | 1994-11-29 | Nexgen Microsystems | Bus arbitration in a dual-bus architecture where one bus has relatively high latency |
US6014722A (en) * | 1993-05-04 | 2000-01-11 | Motorola, Inc. | Data communication system for controlling prioritization and transfer of data and method therefor |
TW200828869A (en) * | 2006-12-25 | 2008-07-01 | Moxa Technologies Co Ltd | Method for determining command transmission priority based on command channel on Fieldbus communication architecture and transmitting command based on this priority |
TW200828870A (en) * | 2006-12-25 | 2008-07-01 | Moxa Technologies Co Ltd | Method for determining command transmission priority based on command channel on Fieldbus communication architecture and transmitting command based on this priority |
US20090031073A1 (en) * | 2007-07-26 | 2009-01-29 | Siliconsystems, Inc. | Multi-interface and multi-bus structured solid-state storage subsystem |
US20100023712A1 (en) * | 2008-07-23 | 2010-01-28 | Hitachi, Ltd. | Storage subsystem and method of executing commands by controller |
CN101739367A (zh) * | 2008-11-13 | 2010-06-16 | 联想(北京)有限公司 | 多类总线存储控制的方法与装置 |
US20120117311A1 (en) * | 2010-11-05 | 2012-05-10 | Samsung Electronics Co., Ltd. | Memory System And Method Of Operating A Memory System |
CN103064808A (zh) * | 2011-10-24 | 2013-04-24 | 北京强度环境研究所 | 优先级可调多通道dma控制器 |
CN103226526A (zh) * | 2013-04-19 | 2013-07-31 | 无锡云动科技发展有限公司 | 一种存储器访问控制装置 |
CN104035898A (zh) * | 2014-06-04 | 2014-09-10 | 同济大学 | 一种基于vliw类型处理器的访存系统 |
US20150081989A1 (en) * | 2013-09-13 | 2015-03-19 | Sung Hyun Lee | Semiconductor devices including application processor connected to high-bandwidth memory and low-bandwidth memory, and channel interleaving method thereof |
CN106302064A (zh) * | 2016-08-16 | 2017-01-04 | 新誉集团有限公司 | 电动汽车用双通道冗余can总线的数据传输优化方法及系统 |
US20180059945A1 (en) * | 2016-08-26 | 2018-03-01 | Sandisk Technologies Llc | Media Controller with Response Buffer for Improved Data Bus Transmissions and Method for Use Therewith |
WO2018175059A1 (en) * | 2017-03-24 | 2018-09-27 | Western Digital Technologies, Inc. | System and method for speculative execution of commands using the controller memory buffer |
CN109753457A (zh) * | 2017-11-07 | 2019-05-14 | 爱思开海力士有限公司 | 数据处理系统及其操作方法 |
CN110647479A (zh) * | 2019-09-03 | 2020-01-03 | 宜鼎国际股份有限公司 | 双信道数据储存系统 |
CN110806983A (zh) * | 2018-08-06 | 2020-02-18 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US20200117369A1 (en) * | 2019-12-12 | 2020-04-16 | Intel Corporation | Solid state drive with multiplexed internal channel access during program data transfers |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101533744B1 (ko) * | 2008-10-16 | 2015-07-10 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 플래시 변환 계층 설계 방법 |
KR101289931B1 (ko) * | 2011-09-23 | 2013-07-25 | 한양대학교 산학협력단 | 다양한 블록 크기를 지원하는 주소 사상을 사용하여 플래시 메모리 내에 데이터를 저장하는 방법 및 장치 |
WO2013141921A1 (en) * | 2012-03-19 | 2013-09-26 | Rambus Inc. | High capacity memory systems |
US9329991B2 (en) * | 2013-01-22 | 2016-05-03 | Seagate Technology Llc | Translation layer partitioned between host and controller |
JP2018180770A (ja) | 2017-04-07 | 2018-11-15 | パナソニックIpマネジメント株式会社 | デバイス、ホスト装置、および統合インタフェースシステム |
CN111066274A (zh) * | 2017-09-07 | 2020-04-24 | 村田机械株式会社 | 通信系统以及通信方法 |
JP2019057229A (ja) | 2017-09-22 | 2019-04-11 | パナソニックIpマネジメント株式会社 | 通信形式判定方法 |
US10848440B2 (en) * | 2019-03-20 | 2020-11-24 | Alibaba Group Holding Limited | Systems and methods for allocating bandwidth across a cluster of accelerators |
KR20210017909A (ko) * | 2019-08-09 | 2021-02-17 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
-
2020
- 2020-04-17 US US16/852,091 patent/US11544107B2/en active Active
-
2021
- 2021-02-01 CN CN202180006668.5A patent/CN114730301A/zh active Pending
- 2021-02-01 WO PCT/US2021/016056 patent/WO2021211188A1/en active Application Filing
- 2021-02-01 DE DE112021000142.6T patent/DE112021000142T5/de active Pending
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB883655A (en) * | 1957-07-31 | 1961-12-06 | Compagne Des Machines Bull | Improvements in or relating to arrangements for transferring information in electronic computing machines |
US5253348A (en) * | 1990-12-28 | 1993-10-12 | Apple Computer, Inc. | Method of arbitration for buses operating at different speeds |
US5369748A (en) * | 1991-08-23 | 1994-11-29 | Nexgen Microsystems | Bus arbitration in a dual-bus architecture where one bus has relatively high latency |
US6014722A (en) * | 1993-05-04 | 2000-01-11 | Motorola, Inc. | Data communication system for controlling prioritization and transfer of data and method therefor |
TW200828869A (en) * | 2006-12-25 | 2008-07-01 | Moxa Technologies Co Ltd | Method for determining command transmission priority based on command channel on Fieldbus communication architecture and transmitting command based on this priority |
TW200828870A (en) * | 2006-12-25 | 2008-07-01 | Moxa Technologies Co Ltd | Method for determining command transmission priority based on command channel on Fieldbus communication architecture and transmitting command based on this priority |
US20090031073A1 (en) * | 2007-07-26 | 2009-01-29 | Siliconsystems, Inc. | Multi-interface and multi-bus structured solid-state storage subsystem |
US20100023712A1 (en) * | 2008-07-23 | 2010-01-28 | Hitachi, Ltd. | Storage subsystem and method of executing commands by controller |
CN101739367A (zh) * | 2008-11-13 | 2010-06-16 | 联想(北京)有限公司 | 多类总线存储控制的方法与装置 |
US20120117311A1 (en) * | 2010-11-05 | 2012-05-10 | Samsung Electronics Co., Ltd. | Memory System And Method Of Operating A Memory System |
CN103064808A (zh) * | 2011-10-24 | 2013-04-24 | 北京强度环境研究所 | 优先级可调多通道dma控制器 |
CN103226526A (zh) * | 2013-04-19 | 2013-07-31 | 无锡云动科技发展有限公司 | 一种存储器访问控制装置 |
US20150081989A1 (en) * | 2013-09-13 | 2015-03-19 | Sung Hyun Lee | Semiconductor devices including application processor connected to high-bandwidth memory and low-bandwidth memory, and channel interleaving method thereof |
CN104035898A (zh) * | 2014-06-04 | 2014-09-10 | 同济大学 | 一种基于vliw类型处理器的访存系统 |
CN106302064A (zh) * | 2016-08-16 | 2017-01-04 | 新誉集团有限公司 | 电动汽车用双通道冗余can总线的数据传输优化方法及系统 |
US20180059945A1 (en) * | 2016-08-26 | 2018-03-01 | Sandisk Technologies Llc | Media Controller with Response Buffer for Improved Data Bus Transmissions and Method for Use Therewith |
WO2018175059A1 (en) * | 2017-03-24 | 2018-09-27 | Western Digital Technologies, Inc. | System and method for speculative execution of commands using the controller memory buffer |
CN109753457A (zh) * | 2017-11-07 | 2019-05-14 | 爱思开海力士有限公司 | 数据处理系统及其操作方法 |
CN110806983A (zh) * | 2018-08-06 | 2020-02-18 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110647479A (zh) * | 2019-09-03 | 2020-01-03 | 宜鼎国际股份有限公司 | 双信道数据储存系统 |
US20200117369A1 (en) * | 2019-12-12 | 2020-04-16 | Intel Corporation | Solid state drive with multiplexed internal channel access during program data transfers |
Also Published As
Publication number | Publication date |
---|---|
DE112021000142T5 (de) | 2022-07-28 |
WO2021211188A1 (en) | 2021-10-21 |
US20210326172A1 (en) | 2021-10-21 |
US11544107B2 (en) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110088724B (zh) | 使用控制器存储器缓冲区进行自适应提前完成发布的系统和方法 | |
US10114743B2 (en) | Memory erase management | |
US11262928B2 (en) | Storage system and method for enabling partial defragmentation prior to reading in burst mode | |
US11543987B2 (en) | Storage system and method for retention-based zone determination | |
US11126367B2 (en) | Storage system and method for determining ecosystem bottlenecks and suggesting improvements | |
CN113535612A (zh) | 动态存储器控制器及其使用方法 | |
US10379781B2 (en) | Storage system and method for improved command flow | |
US11836374B1 (en) | Storage system and method for data placement in zoned storage | |
US11941295B2 (en) | Data storage device and method for providing an adaptive data path | |
US11409468B2 (en) | Storage system and method for using proactive device timeout information | |
US11442665B2 (en) | Storage system and method for dynamic selection of a host interface | |
US20220391132A1 (en) | Data Storage Device and Method for Low-Latency Power State Transitions by Having Power Islanding in a Host Memory Buffer | |
WO2023055435A1 (en) | Data storage device and method for file-based interrupt coalescing | |
CN110799934A (zh) | 用于执行基于文件的固件命令和收集响应数据的存储系统和方法 | |
US11281399B2 (en) | Dual-interface storage system and method for use therewith | |
CN114730293A (zh) | 用于使用主机中的为读取数据分配的存储器作为主机存储器缓冲器的存储系统和方法 | |
US11544107B2 (en) | Storage system and method for multiprotocol handling | |
US11487449B2 (en) | Data storage device and method for enabling higher lane utilization in run time via device hints on workload patterns | |
US20230409234A1 (en) | Data Storage Device and Method for Host Multi-Command Queue Grouping Based on Write-Size Alignment in a Multi-Queue-Depth Environment | |
US11899598B2 (en) | Data storage device and method for lane selection based on thermal conditions | |
US20240232068A1 (en) | Data Storage Device and Method for Race-Based Data Access in a Multiple Host Memory Buffer System | |
US20240143509A1 (en) | Data Storage Device and Method for Handling Write Commands in Zoned Storage | |
US20210373789A1 (en) | Storage System, Host, and Method for Optimizing Storage of a Sequence of Images | |
US20220113904A1 (en) | Storage System and Method for Device-Determined, Application-Specific Dynamic Command Clustering | |
WO2024147841A1 (en) | Data storage device and method for race-based data access in a multiple host memory buffer system |
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 |