CN111158581A - 包括存储器控制器的存储设备及电子系统的操作方法 - Google Patents
包括存储器控制器的存储设备及电子系统的操作方法 Download PDFInfo
- Publication number
- CN111158581A CN111158581A CN201910846434.6A CN201910846434A CN111158581A CN 111158581 A CN111158581 A CN 111158581A CN 201910846434 A CN201910846434 A CN 201910846434A CN 111158581 A CN111158581 A CN 111158581A
- Authority
- CN
- China
- Prior art keywords
- signal
- channel
- memory
- data
- memory controller
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 17
- 230000004044 response Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 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
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
一种存储设备包括用于如下操作的存储器控制器:通过第一信道从外部设备接收第一信号,基于所述第一信号从存储器获得数据,以及通过第二信道向所述外部设备输出所述数据。在接收到所述第一信号的时间与获得所述数据的时间之间的时间间隔大于第一参考间隔的情况下,通过所述第二信道输出所述数据。
Description
相关申请的交叉引用
本申请要求于2018年11月7日在韩国知识产权局递交的韩国专利申请No.10-2018-0135850的优先权,其全部公开内容通过引用合并于此。
技术领域
本文描述的发明构思的实施例涉及一种存储设备,并且更具体地,涉及一种包括存储器控制器和存储器的存储设备。
背景技术
智能手机、平板计算机和其他电子设备执行各种功能。随着半导体技术的持续发展,这些功能有望增加。为了支持这些功能,数据存储容量和性能也应该提高。
存储设备可以位于电子设备外部或内部。当存储设备位于电子设备内部时,电子设备可以使用诸如中央处理单元(CPU)、应用处理器(AP)或图形处理单元(GPU)的主机设备来访问存储设备。
随着电子设备的功能的数量的增加,存储设备要处理的数据量可以增加。而且,随着电子设备的功能变得更加多样化,同时访问单个存储设备的主机设备的数量可能增加。这两种效果都可能引入延迟或以其他方式增加主机或电子设备与存储设备的操作之间的交互时间。
发明内容
本发明构思的实施例提供了一种能够减少或最小化要提供给主机的响应信号的传输延迟的存储设备。
根据一个或多个实施例,所述存储设备包括:存储器,被配置为存储数据;以及存储器控制器,被配置为通过第一信道从外部设备接收第一信号,所述第一信号用于请求来自所述存储器的数据;基于所述第一信号从所述存储器获得所述数据;以及通过与所述第一信道不同的第二信道将所述数据输出给所述外部设备。在接收到所述第一信号的时间与获得所述数据的时间之间的时间间隔大于第一参考间隔的情况下,通过所述第二信道输出所述数据。
根据一个或多个实施例,一种存储设备包括:存储器,被配置为存储数据;以及存储器控制器,被配置为:通过第一信道从外部设备接收第一信号,其中所述第一信号指示要在所述存储器中执行的第二操作,并且在所述存储器控制器在所述存储器执行第一操作期间接收到所述第一信号的情况下,基于所述第一信号通过第二信道向所述外部设备输出第二信号,所述第二信道不同于所述第一信道。
根据一个或多个实施例,一种操作包括存储器的电子系统的方法包括:通过第一信道从主机接收第一信号;基于所述第一信号向所述存储器输出第二信号,所述第二信号请求存储在存储器中的数据;基于所述第二信号从所述存储器获得所述数据;以及在接收到所述第一信号的时间与输出所述第二信号的时间之间的时间间隔大于参考间隔的情况下,通过与所述第一信道不同的第二信道输出所述数据,使得所述数据被发送给所述主机。
附图说明
通过参考附图详细描述本发明构思的示例性实施例,本发明构思的上述及其他目的和特征将变得更清楚。
图1示出了电子系统的示例。
图2示出了电子系统的示例操作。
图3示出了电子系统的另一示例操作。
图4示出了电子系统的实施例。
图5示出了根据实施例的图4的电子系统的操作。
图6示出了根据实施例的图4的电子系统的操作。
图7示出了根据实施例的图4的电子系统的操作。
图8示出了电子系统的另一实施例。
图9示出了信道数据的示例。
图10示出了信道控制器的实施例。
图11示出了根据实施例的图8的电子系统的操作。
图12示出了根据实施例的图8的电子系统的操作。
图13示出了根据实施例的图8的电子系统的操作。
具体实施方式
下面以使本领域普通技术人员容易实现本发明构思的程度详细并清楚地描述了本发明构思的实施例。
图1示出了包括一个或多个主机110、120和130、交换设备200和存储设备300的电子系统1000的示例。在一种情况下,“主机”可以是通过交换设备200访问存储设备300的任何类型的设备或实体。下面将电子系统1000描述为包括三个主机110、120和130,但是电子系统1000可以具有不同数量(例如,一个、两个或四个或更多个)的主机。
在一种情况下,电子系统1000可以是一个电子设备,例如,台式个人计算机(PC)、笔记本电脑、平板计算机以及智能电话。在另一种情况下,电子系统1000可以是电子设备的组合。当电子系统1000被实现为一个电子设备时,主机110、120和130中的每一个可以包括例如处理器(例如,中央处理单元(CPU)、应用处理器(AP)或图形处理单元(GPU))。当电子系统1000被实现为电子设备的组合时,主机110、120和130中的每一个可以包括例如台式PC、笔记本电脑、平板计算机或智能电话。在一种情况下,电子系统1000可以是以存储器为中心的系统。
主机110、120和130可以请求要在存储设备300中执行操作。例如,主机110、120和130可以将信号s10、s20和s30发送给存储设备300,以便指示要在存储设备300中执行的操作(例如,读取操作、写入操作、擦除操作等)。信号s10、s20和s30可以包括例如与要在存储设备300中执行的操作相关联的命令和/或数据。
主机110、120和130可以通过对应的信道VC10、VC20和VC30将信号s10、s20和s30输出给存储设备300。信道VC10、VC20和VC30可以用作用于在主机110、120和130与存储设备300之间发送和接收信号的通信路径。例如,信道VC10、VC20和VC30可以是用于以异步传输模式发送信号的一个或多个虚拟信道。信号s10、s20和s30可以通过交换设备200输入到存储设备300。交换设备200可以位于由信道VC10、VC20和VC30提供的通信路径上。
存储设备300可以包括存储器控制器310和存储器350。存储器控制器310可以接收信号s10、s20和s30,并根据所接收的信号s10、s20和s30控制存储器350。例如,存储器控制器310可以控制存储器350执行由信号s10、s20和s30指示的操作。
存储器350可以包括非易失性存储器、易失性存储器或非易失性存储器和易失性存储器的组合。在一种情况下,存储器350可以是存储器池,其中组合了非易失性存储器和易失性存储器。当电源关闭时,易失性存储器可能丢失存储在其中的数据。示例包括静态随机访问存储器(SRAM)、动态RAM(DRAM)、同步DRAM等。当电源关闭时,非易失性存储器可以保留存储在其中的数据。示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、相变RAM(PRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、铁电RAM(FRAM)等。
存储器350可以在存储器控制器310的控制下执行由信号s10、s20和s30指示的操作。例如,存储器350可以在存储器控制器310的控制下存储(例如,写入)数据,或者可以提供(例如,读取)存储在其中的数据。
当存储器350完成由信号s10、s20和s30指示的操作时,存储器控制器310可以通过信道VC10、VC20和VC30中的相应信道发送信号s11、s21和s31(对应于信号s10、s20和s30)。信号s11、s21和s31可以包括对信号s10、s20和s30的响应和/或相关数据。例如,在通过信道VC10接收信号s10的情况下,存储器控制器310可以通过信道VC10输出与信号s10相对应的信号s11。
交换设备200可以包括例如在网络中配置有光纤信道的光纤交换机。交换设备200可以使用诸如快速PCI(PCIe)、CCIX或Gen-z的接口方案。然而,本发明构思不限于此。
交换设备200可以包括多个端口。下面将交换设备200描述为具有两个端口210和250,但是可以包括不同数量的端口,例如,一个端口或三个或更多个端口。在这种布置中,从主机110、120和130输出的信号s10、s20和s30可以被发送给端口210,并且从存储设备300输出的信号s11、s21和s31可以被发送给端口250。在一种情况下,用于发送或接收信号s10、s20和s30的端口可以是不同的,并且用于发送或接收信号s11、s21和s31的端口可以是不同的。
可以通过交换设备200将信号s10、s20和s30发送给存储设备300。可以通过交换设备200将信号s11、s21和s31发送给主机110、120和130。例如,端口210可以接收从主机110、120和130输出的信号s10、s20和s30,并然后将信号s10、s20和s30输出给端口250。端口250可以接收信号s10、s20和s30,并然后将信号s10、s20和s30输出给存储设备300。端口250可以接收从存储设备300输出的信号s11、s21和s31,并然后将信号s11、s21和s31输出给端口210。端口210可以接收信号s11、s21和s31,并然后将信号s11、s21和s31输出给主机110、120和130。
图2示出了可以如何在图1的主机110、存储器控制器310和存储器350之间交换信号s12、s13、s14和s15的示例。在这种情况下,当存储器350不操作(例如,不执行一个或多个预定操作或不执行任何操作)时,将信号s12输入到存储器控制器310。
在操作S110中,主机110可以通过信道VC0将信号s12输出给存储器控制器310。信号s12可以包括指示存储器350执行操作的命令,和/或可以包括数据。存储器控制器310可以接收信号s12。
在操作S120中,当在存储器350不操作时将信号s12输入到存储器控制器310时,存储器控制器310可以基于信号s12将信号s13输出给存储器350。信号s13可以包括用于指示存储器350执行操作的命令,和/或可以包括数据。存储器350可以接收信号s13。在存储器控制器310接收到信号s12的时间与存储器控制器310输出信号s13的时间之间可以存在参考延迟间隔r0。将参考图3描述参考延迟间隔r0的示例。
在操作S130中,存储器350可以执行由信号s13指示的操作。
在操作S140中,当操作完成时,存储器350可以将信号s14输出给存储器控制器310。信号s14可以包括表明存储器350已完成该操作的信息。例如,当完成了读取操作时,存储器350可以将信号s14输出给存储器控制器310。信号s14可以包括由读取操作读取的数据。存储器控制器310可以接收信号s14。在存储器控制器310接收到信号s12的时间与存储器控制器310接收到信号s14的时间之间可以存在参考操作间隔a0。将参考图3描述参考操作间隔a0的示例。
在操作S150中,存储器控制器310可以基于信号s14将信号s15输出给主机110。
因此,根据图2中的处理流程,主机110可以输出用于指示要在存储器350中执行的读取操作(例如,请求来自存储器350的数据)的信号s12(S110)。存储器控制器310可以基于信号s12将信号s13输出给存储器350(S120)。信号s13可以是用于请求来自存储器350的数据的信号。存储器350可以响应于信号s13执行读取操作。在存储器350完成读取操作之后,存储器控制器310可以接收包括从存储器350读取的数据的信号s14(S140)。存储器控制器310可以将信号s15(包括读取数据)输出给主机110(S150)。
在一种实施方式中,在接收到信号s14之前,存储器控制器310可以基于信号s12和s13输出信号s15。在输出信号s13之后,存储器控制器310可以将信号s15输出给主机110。
在一种实施方式中,主机110可以输出用于指示要在存储器350中执行的写入操作的信号s12(S110)。存储器控制器310可以基于信号s12将信号s13输出给存储器350(S120)。信号s13可以包括用于在存储器350中执行写入操作的命令和/或可以包括数据,例如要写入的数据。在一种实施方式中,在输出信号s13之后,存储器控制器310可以立即将信号s15输出给主机110(S150)。在一种实施方式中,存储器控制器310可以在将要存储在存储器350中的数据暂时存储在存储器控制器310的内部缓冲器中之后,将信号s15输出给主机110。为了便于描述,下面假设存储器控制器310在存储器350完成操作之后基于信号s12和s14输出信号s15。
图3示出了可以如何在图1的主机110、存储器控制器310和存储器350之间交换信号s16、s17、s18和s19的示例。在这种情况下,在存储器350执行第一操作时,信号s16被输入到存储器控制器310。第一操作可以是例如收回(reclaim)操作、刷新操作、擦除操作或其他操作。
在操作S210中,主机110可以将信号s16输出给存储器控制器310。信号s16可以包括用于在存储器350中执行第二操作的命令,和/或可以包括数据。第二操作可以是例如与存储器350相关联的读取操作、写入操作等。存储器控制器310可以接收信号s16。
在操作S220中,存储器350可以执行第一操作。存储器350可以在信号s16被输入到存储器控制器310时正执行第一操作。
在操作S230中,当在存储器350正执行第一操作时将信号s16输入给存储器控制器310时,存储器控制器310可以待机直到存储器350完成第一操作。
在操作S240中,当存储器350完成第一操作时,存储器控制器310可以基于信号s16将信号s17输出给存储器350。信号s17可以包括用于在存储器350中执行第二操作的命令,和/或可以包括数据。存储器350可以接收信号s17。在存储器控制器310接收到信号s16的时间与存储器控制器310输出信号s17的时间之间可以存在延迟间隔r1。
在操作S250中,存储器350可以基于信号s17执行第二操作。
在操作S260中,当存储器350完成第二操作时,存储器350可以将信号s18输出给存储器控制器310。信号s18可以包括表明存储器350已完成第二操作的信息,和/或可以包括数据。存储器控制器310可以接收信号s18。在存储器控制器310接收到信号s16的时间与存储器控制器310接收到信号s18的时间之间可以存在操作间隔a1。
在操作S270中,存储器控制器310可以基于信号s18将信号s19输出给主机110。
因此,在图3的处理流程中,信号s16可以在存储器350正执行第一操作时被输入到存储器控制器310。然后,在存储器350完成第一操作之后,存储器350可以执行从主机110请求的第二操作。因此,延迟间隔r1和操作间隔a1可以分别大于参考延迟间隔r0和参考操作间隔a0。操作间隔差(a1-a0)可以与延迟间隔差(r1-r0)相同或成比例。
在一个实施例中,在在存储器350不操作(例如,并非正执行操作)时将信号s12输入到存储器控制器310的情况下,参考延迟间隔可以与存储器控制器310接收到信号s12的时间与存储器控制器310输出信号s13的时间之间的时间间隔相对应。
在在存储器350不操作(例如,并非正执行操作)时将信号s12输入到存储器控制器310的情况下,参考操作间隔可以与存储器控制器310接收到信号s12的时间与存储器控制器310接收到信号s14的时间之间的时间间隔相对应。
从存储器控制器310输出信号s19可以比从其输出信号s15晚一定的时间量,该时间量至少与操作间隔差(a1-a0)相对应。因此,向主机110输入信号s19可以比向其输入信号s15晚一定的时间量,该时间量至少与操作间隔差(a1-a0)相对应。这些时间差(或延迟)可以使存储设备300的服务质量劣化。
根据一个或多个实施例,可以减少或最小化将信号s19发送给主机110的时间延迟。在至少一个实施例中,以下描述中的延迟的信号可以与如下信号相对应:该信号响应于在存储器350正执行操作时从主机110输入到存储器控制器310的信号而从存储器控制器310输出给主机110。
图4示出了电子系统1000a的实施例,其包括可以与图1所示的电子系统1000的组件110、120、130、200、210、250、300、310和350相对应的组件110a、120a、130a、200a、210a、250a、300a、310a和350a。
在该实施例中,存储器控制器310a在存储器350a执行操作时接收到信号s40。然而,与存储器控制器310不同,存储器控制器310a可以考虑延迟间隔、操作间隔或存储器350a的操作状态中的一项或多项来输出信号s41。
在操作中,主机110a可以通过信道VC0将信号s40输出给存储器控制器310a。存储器控制器310a可以通过信道VC0接收信号s40,并且响应于信号s40将信号s41输出给主机110a。
存储器控制器310a可以考虑延迟间隔、操作间隔或存储器350a的操作状态中的一项或多项来通过与信道VC0不同的信道VC2发送信号s41。例如,存储器控制器310a可以监视存储器350a的操作状态。当信号s40在存储器350a正执行操作时被输入到存储器控制器310a时,存储器控制器310a可以通过信道VC2发送信号s41。将参考图5和图6更全面地描述存储器控制器310a监视存储器350a的操作状态的方法的示例实施例。
如所描述的,例如,参考图2和图3,当信号s40在存储器350a正执行操作时被输入到存储器控制器310a时,延迟间隔和操作间隔可以分别大于参考延迟间隔和参考操作间隔。
存储器控制器310a可以对延迟间隔进行计数,并将延迟间隔与参考延迟间隔进行比较。在计数的延迟间隔大于参考延迟间隔的情况下,存储器控制器310a可以通过信道VC2发送信号s41。
存储器控制器310a可以对操作间隔进行计数,并将操作间隔与参考操作间隔进行比较。在计数的操作间隔大于参考操作间隔的情况下,存储器控制器310a可以通过信道VC2发送信号s41。
在一个实施例中,存储器控制器310a可以选择信道VC1和VC2中的一个,并且可以通过被选择的信道来输出信号s41。将参考图5和图6更全面地描述存储器控制器310a选择信道的方法的示例实施例。
通过信道VC1或信道VC2发送数据的速度可以高于通过信道VC0发送数据的速度。而且,通过信道VC1发送数据的速度可以高于或等于通过信道VC2发送数据的速度。因此,可以提高存储设备300a的服务质量。在以下描述中,假设通过信道VC1发送数据的速度高于通过信道VC2发送数据的速度。
通常,主机110a可以通过信道VC0发送数据。因此,通过信道VC0发送的数据的量可以大于通过信道VC1或信道VC2发送的数据的量。在通过信道VC0发送的数据的量增加的情况下,在通过信道VC0发送的数据的部分之间可能发生冲突,或者通过信道VC0发送数据的速度可能变慢。
为了提高向主机110a发送数据的速度,存储设备300a可以通过信道VC1或信道VC2输出数据。例如,在一种情况下,主机110和110a可以选择信道VC0以发送信号s10或s40。然后,主机110和110a可以通过所选择的信道VC0发送信号s10或s40。存储设备300可以通过由主机110选择的信道VC0输出信号s11。
然而,在在存储器350a正执行操作时将信号s40输入到存储器控制器310a的情况下,存储设备300a可以选择信道VC1和VC2中的一个。存储设备300a可以通过所选择的信道输出信号s41。也就是说,存储设备300a可以通过经由信道VC1或信道VC2输出信号s41来补偿增加的延迟时间和增加的操作时间。将参考图5更全面地描述示例。
主机110a可以通过信道VC2接收信号s41,并且可以存储与信道VC1和VC2相关联的数据。存储的数据可以表明通过信道VC1或信道VC2接收的信号是延迟的信号。主机110a可以基于存储的数据将信号s41确定为延迟的信号。
图5示出了图4的电子系统的操作方法的实施例。在该方法中,存储器控制器310a监视存储器350a的操作状态,并基于存储器350a的操作状态、延迟间隔或操作间隔中的一项或多项来选择信道VC1和VC2中的一个。
在操作S310中,主机110a可以将信号s40输出给存储器控制器310a。主机110a可以通过信道VC0将信号s40输出给端口210a。信号s40可以包括用于存储器350a执行第二操作的命令,和/或可以包括数据。端口210a可以接收信号s40。
在操作S315中,端口210a可以通过信道VC0将接收到的信号s40输出给端口250a。端口250a可以接收信号s40。
在操作S320中,端口250a可以通过信道VC0将接收到的信号s40输出给存储器控制器310a。存储器控制器310a可以接收信号s40。
在操作S325中,存储器350a可以将信号m1输出给存储器控制器310a。信号m1可以包括表明存储器350a将开始第一操作的信息。存储器控制器310a可以接收信号m1并在接收到信号m1之后监视存储器350a的操作状态。
在操作S330中,存储器350a可以执行第一操作。
在操作S335中,当信号s40在存储器350a正执行第一操作时被输入到存储器控制器310a时,存储器控制器310a可以基于信号m1待机直到存储器350a完成第一操作为止。
当信号s40在存储器350a执行第一操作时被输入到存储器控制器310a时,存储器控制器310a可以基于信号m1通过信道VC1和VC2中的一个输出信号s41。在信号s40在存储器350a不操作(例如,不执行一个或多个预定操作或不执行任何操作)时被输入到存储器控制器310a的情况下,存储器控制器310a可以通过信道VC0发送信号s41。
存储器控制器310a可以基于信号m1选择信道VC1和VC2中的一个。信号m1可以包括关于存储器350a已开始执行的第一操作的类型的信息。存储器控制器310a可以基于第一操作的类型来选择信道VC1或信道VC2。例如,当第一操作是擦除操作时,存储器控制器310a可以选择信道VC1。当第一操作是读取操作时,存储器控制器310a可以选择信道VC2。执行擦除操作的时间可以长于执行读取操作的时间。在第一操作是擦除操作的情况下,存储器控制器310a可以选择信道VC1而不是信道VC2,以便更快地发送数据。
在操作S340中,存储器350a可以完成第一操作。存储器350a可以将信号m2输出给存储器控制器310a。存储器控制器310a可以接收信号m2。信号m2可以包括表明存储器350a已完成第一操作的信息。存储器控制器310a可以基于信号m2来在第一操作完成之后监视存储器350a的操作状态。
在操作S345中,存储器控制器310a可以基于信号s40将信号s42输出给存储器350a。信号s42可以包括指示存储器350a执行第二操作的命令,和/或可以包括数据。存储器350a可以接收信号s42。
存储器控制器310a可以基于信号s40和s42对延迟间隔r2进行计数。存储器控制器310a可以包括参考延迟间隔的信息。参考延迟间隔可以是例如参考图2描述的参考延迟间隔r0。存储器控制器310a可以将参考延迟间隔与延迟间隔r2进行比较。在延迟间隔r2大于参考延迟间隔的情况下,存储器控制器310a可以通过信道VC1和VC2中的一个发送信号s41。在延迟间隔r2不大于(例如,等于或小于)参考延迟间隔的情况下,存储器控制器310a可以通过信道VC0发送信号s41。
存储器控制器310a可以包括关于第一参考延迟间隔和第二参考延迟间隔的信息。第一参考延迟间隔可以大于第二参考延迟间隔。第二参考延迟间隔可以是例如参考图2描述的参考延迟间隔r0。存储器控制器310a可以基于延迟间隔r2、第一参考延迟间隔和第二参考延迟间隔来选择信道VC1和VC2中的一个。在延迟间隔r2大于第一参考延迟间隔的情况下,存储器控制器310a可以选择信道VC1。在延迟间隔r2小于第一参考延迟间隔且大于第二参考延迟间隔的情况下,存储器控制器310a可以选择信道VC2。在延迟间隔r2大于第一参考延迟间隔的情况下,存储器控制器310a可以选择信道VC1而不是信道VC2,以便更快地发送数据。
在操作S350中,存储器350a可以基于信号s42执行第二操作。
在操作S355中,当存储器350a已完成第二操作时,存储器350a可以将信号s43输出给存储器控制器310a。存储器控制器310a可以接收信号s43,该信号s43可以包括表明存储器350a已完成第二操作的信息和/或相关数据。
存储器控制器310a可以基于信号s40和s43对操作间隔a2进行计数。存储器控制器310a可以包括关于参考操作间隔的信息。参考操作间隔可以是例如参考图2描述的操作间隔a0。存储器控制器310a可以将参考操作间隔与操作间隔a2进行比较。在操作间隔a2大于参考操作间隔的情况下,存储器控制器310a可以通过信道VC1和VC2中的一个发送信号s41。在操作间隔a2不大于(例如,等于或小于)参考操作间隔的情况下,存储器控制器310a可以通过信道VC0发送信号s41。
存储器控制器310a可以包括关于第一参考操作间隔和第二参考操作间隔的信息。第一参考操作间隔可以大于第二参考操作间隔。第二参考操作间隔可以是例如参考图2描述的参考操作间隔a0。
存储器控制器310a可以基于操作间隔a2、第一参考操作间隔和第二参考操作间隔中的一项或多项来选择信道VC1和VC2中的一个。在操作间隔a2大于第一参考操作间隔的情况下,存储器控制器310a可以选择信道VC1。在操作间隔a2小于第一参考操作间隔且大于第二参考操作间隔的情况下,存储器控制器310a可以选择信道VC2。在操作间隔a2大于第一参考操作间隔的情况下,存储器控制器310a可以选择信道VC1而不是信道VC2,以便更快地发送数据。
在操作S360中,存储器控制器310a可以基于信号s43将信号s41输出给端口250a。下面假设存储器控制器310a基于操作S325到操作S355来选择信道VC2。存储器控制器310a可以通过信道VC2将信号s41输出给端口250a。端口250a可以接收信号s41。
在操作S365中,端口250a可以通过信道VC2将接收到的信号s41输出给端口210a。端口210a可以接收信号s41。
在操作S370中,端口210a可以通过信道VC2将接收到的信号s41输出给主机110a。主机110a可以通过信道VC2接收信号s41。
因此,根据一个或多个实施例,存储设备300a可以通过经由信道VC1或信道VC2输出信号s41来补偿增加的延迟时间和增加的操作时间。例如,如参考图3所述,从存储器控制器310a输出信号s19可以从其输出信号s15晚一定的时间量,该时间量对应于与操作间隔差(a1-a0)一样多。因此,向主机110a输入信号s19可以向其输入信号s15晚一定的时间量,该时间量对应于操作间隔差(a1-a0)一样多。
如参考图5所述,从存储器控制器310a输出信号s41可以从其输出信号s15晚一定的时间量,该时间量对应于与操作间隔差(a2-a0)一样多。相反,与信号s19不同,信号s41被输入到主机110a的时间与信号s15被输入到主机110的时间之间的时间间隔可以小于操作间隔差(a2-a0)。
图6示出了图4的电子系统1000a的操作方法的另一实施例。为了更好地理解,将一起参考图4和图5。在该实施例中,图6中的操作S410至操作S420和操作S440至操作S475可以与图5中的操作S310至操作S320和操作S335至操作S370相对应。
图6中所示的存储器351a可以执行与参考图4和图5描述的存储器350a的操作类似的操作。然而,与存储器350a不同,存储器351a可以在从存储器控制器310a接收到信号s44之后输出包括表明存储器351a的操作状态的信息的信号s45。
在操作S425中,存储器351a可以执行第一操作。
在操作S420中,存储器控制器310a可以在存储器351a正执行第一操作期间通过信道VC0接收信号s40。
在操作S430中,存储器控制器310a可以基于信号s40将信号s44输出给存储器351a。信号s44可以包括指示存储器351a执行第二操作的命令,和/或可以包括数据。存储器351a可以在执行第一操作期间接收信号s45。
在操作S435中,在存储器351a正执行第一操作期间,存储器351a可以将信号s45输出给存储器控制器310a。信号s45可以包括表明存储器351a正执行第一操作的信息。存储器控制器310a可以接收信号s45。存储器控制器310a可以基于信号s45来监视执行第一操作的存储器351a的操作状态。
在操作S440中,存储器控制器310a可以基于信号s45待机直到存储器351a完成第一操作为止。
在操作S460中,存储器控制器310a可以通过信道VC1和VC2中的一个来输出信号s41。例如,存储器控制器310a可以基于信号s45来监视存储器351a的操作状态,并且可以基于接收到信号s40的时间点处的存储器351a的操作状态来选择信道VC1和VC2中的一个。
在一个实施例中,存储器控制器310a可以基于信号s40和信号s47对延迟间隔r3进行计数,并且然后将延迟间隔r3和参考延迟间隔进行比较,并选择信道VC1和VC2中的一个。在一个实施例中,存储器控制器310a可以基于信号s40和信号s48对操作间隔a3进行计数,并且然后对操作间隔a3和参考操作间隔进行比较,并选择信道VC1和VC2中的一个。
图7示出了图4的电子系统1000a的操作方法的另一实施例。为了更好地理解,将一起参考图5。
在操作S510中,主机110a可以通过信道VC0将信号s40输出给存储器控制器310a。存储器控制器310a可以通过信道VC0接收信号s40。信号s40可以包括指示存储器350a执行第二操作的命令和/或数据。操作S510可以例如与图5所示的操作S310至操作S320相对应。
在操作S515中,存储器控制器310a可以监视存储器350a的操作状态。例如,操作S515可以例如与图5中所示的操作S325或图6中所示的操作S435相对应。参考图5和图6描述了由存储器控制器310a执行的用于监视存储器350a的操作状态的方法的示例。
在操作S520中,当信号s40在存储器350a正执行第一操作时被输入到存储器控制器310a时,存储器控制器310a可以待机直到存储器350a完成第一操作为止。例如,操作S520可以例如与图5中所示的操作S335或图6中所示的操作S440相对应。
在操作S525中,存储器350a可以完成第一操作。如参考图5所述,当存储器350a完成第一操作时,存储器350a可以将信号m2输出给存储器控制器310a。信号m2可以包括表明存储器350a已完成第一操作的信息。存储器控制器310a可以基于信号m2来监视存储器350a的操作状态(表明第一操作已经完成)。例如,操作S525可以与图5中所示的操作S340或图6中所示的操作S445相对应。
在操作S530中,在存储器350a已完成第一操作的情况下,存储器控制器310a可以指示存储器351a执行第二操作。存储器351a可以在存储器控制器310a的控制下执行第二操作。例如,操作S525可以与图5中所示的操作S345至操作S350相对应。
在操作S535中,存储器350a可以完成第二操作。如参考图5所述,当存储器350a完成第二操作时,存储器350a可以将信号s43输出给存储器控制器310a。信号s43可以包括表明存储器350a已完成第二操作的信息。存储器控制器310a可以基于信号s40和s43对操作间隔a2进行计数。操作S535可以与例如图5中所示的操作S355或图6中所示的操作S460相对应。
在操作S540中,存储器控制器310a可以将第一参考操作间隔与操作间隔a2进行比较。
在操作S545中,在操作间隔a2大于第一参考操作间隔的情况下,存储器控制器310a可以从信道VC1和VC2中选择信道VC1。存储器控制器310a可以通过信道VC1输出信号s41。
在操作S555中,在操作间隔a2小于第一参考操作间隔的情况下,存储器控制器310a可以从信道VC1和VC2中选择信道VC2。存储器控制器310a可以通过信道VC2输出信号s41。操作S540至操作S550可以与例如图5中所示的操作S360相对应。
如参考操作S540至操作S550所述,存储器控制器310a可以例如基于操作间隔a2选择信道VC1和VC2中的一个。如参考图5和图6所述,存储器控制器310a可以被配置为基于存储器350a的操作状态、延迟间隔r2或操作间隔a2中的一项或多项来选择信道VC1和VC2中的一个。
在操作S560中,当信号s40在存储器350a不操作(例如,不执行操作)期间被输入到存储器控制器310a时,存储器控制器310a可以指示存储器350a执行第二操作。存储器350a可以在存储器控制器310a的控制下执行第二操作。操作S560可以与操作S530基本相同。
在操作S565中,存储器350a可以完成第二操作。操作S565可以与操作S535基本相同。在存储器350a完成第二操作的情况下,存储器350a可以向存储器控制器310a输出包括表明已经完成第二操作的信息的信号。
在操作S570中,存储器控制器310a可以基于从存储器350a接收到的信号通过信道VC0输出信号s41。
在操作S575中,可以将信号s41从存储器控制器310a发送给主机110a。
图8示出了包括存储器控制器310b的电子系统1000b的另一实施例,其中存储器控制器310b在存储器350b执行操作期间从主机110b接收信号s50。在图8的实施例中,组件110b、120b、130b、200b、210b、250b、300b、310b和350b可以执行与图4中示出的电子系统1000的组件110a、120a、130a、200a、210a、250a、300a、310a和350a相对应的操作。然而,与端口210a不同,端口210b可以包括信道控制器215b。
主机110b可以通过信道VC0将信号s50输出给存储器控制器310b。存储器控制器310b可以通过信道VC0接收信号s50,并响应于信号s50输出信号s51。存储器控制器310b可以通过信道VC2将信号s51输出给端口250b。
当存储器控制器310b通过信道VC2输出信号s51时,信号s51可以包括与信道VC0相关联的数据。将参考图9描述与信道VC0相关联的数据的示例。
端口250b可以通过信道VC2接收信号s51,并通过信道VC2输出信号s51。端口250b可以包括信道控制器215b。信道控制器215b可以分析通过信道VC2接收到的信号s51。信号s51可以包括与信道VC0相关联的数据。信道控制器215b可以基于与信道VC0相关联的数据来将发送信号s51的信道例如从信道VC2改变为信道VC0。信道控制器215b可以通过信道VC0输出信号s51。
主机110b可以通过信道VC0从信道控制器215b接收信号s51。因此,与主机110a不同,主机110b可以不存储与信道VC1和VC2相关联的数据。
图9示出了描述与信道相关联的数据的示例。在通过信道VC2输出信号s51的情况下,存储器控制器310b可以在信号s51中包括与信道VC0相关联的数据。在一个实施例中,与信道VC0至VC2相关联的数据可以被存储在信号所包括的一个或多个预定字段(例如,业务类(TC)字段、保留字段等)中。下面将与信道VC0至VC2相关联的数据的示例表示为信道数据。
参考图9,可以将信道数据映射到信道VC0至VC2中的每一个上。例如,可以将信道数据TC0至TC4映射到信道VC0上,可以将信道数据TC5和TC6映射到信道VC1上,并且可以将信道数据TC7映射到信道VC2上。主机110b、存储器控制器310b、端口250a和250b以及信道控制器215b可以存储表明信道数据与信道VC0至VC2之间的映射关系的映射信息。
在通过信道VC0输出信号s50的情况下,主机110b可以在信号s50中包括与信道VC0相对应的信道数据(TC0至TC4之一)。为了说明的目的,下面假设信号s50包括信道数据TC4,其例如可以表明信号s51是通过信道VC0发送的。
在一个实施例中,在通过信道VC2输出信号s41的情况下,图4所示的存储器控制器310b可以在信号s41中包括信道数据TC7。信道数据TC7可以表明信号s41是通过信道VC2发送的。
与之相对,在通过信道VC2输出信号s51的情况下,存储器控制器310b可以在信号s51中包括信道数据TC4和TC7。信道数据TC7可以表明信号s51是通过信道VC2发送的。信道数据TC4可以表明与信号s51相对应的信号s50是通过信道VC0从主机110b输出的。
信道控制器215b可以通过信道VC2接收信号s51,并分析信号s51中包括的信道数据TC4。信道控制器215b可以基于信道数据TC4和映射信息来通过信道VC0输出信号s51。然而,与信道相关联的数据可以例如与参考图9描述的数据相对应。在另一实施例中,数据可以与图9中所示的数据不同,或者可以被包括在TC字段或预留字段中。
图10示出了图8中所示的信道控制器215b的实施例。如参考图8和图9所述,信道控制器215b可以分析通过信道VC2接收到的信号s51。信道控制器215b可以基于信道数据TC4和映射信息来改变用于发送信号s51的信道(例如,从信道VC2改变为信道VC0)。信道控制器215b可以通过信道VC0输出信号s51。
图11是图8的电子系统1000b的操作的另一实施例。图11中所示的操作S610至操作S665可以与例如图5中所示的操作S310至操作S365相对应。图11所示的延迟间隔r4和操作间隔a4可以与例如图5中所示的延迟间隔r2和操作间隔a2相对应。下面,与图11中所示的流程图相关联的描述将主要集中于操作S670和操作S675。
在操作S665中,信道控制器215b可以通过信道VC2接收信号s51。
在操作S670中,信道控制器215b可以分析信号s51并且可以基于信道数据TC4和映射信息来改变用于发送信号s51的信道(例如,从信道VC2改变为信道VC0)。信道控制器215b可以通过信道VC0输出信号s51。
在操作S675中,主机110b可以通过信道VC0接收信号s51。
图12示出了图8的电子系统1000b的操作的另一实施例。图12中所示的操作S710至操作S770可以与例如图6中所示的操作S410至操作S470相对应。图11所示的延迟间隔r5和操作间隔a5可以与例如图6中所示的延迟间隔r3和操作间隔a3相对应。图12所示的存储器351b可以执行与参照图6描述的存储器351a的操作类似的操作。下面,与图12中所示的流程图相关联的描述将主要集中于操作S775。
在操作S770中,信道控制器215b可以通过信道VC2接收信号s51。
在操作S775中,信道控制器215b可以分析信号s51并且可以基于信道数据TC4和映射信息来改变用于发送信号s51的信道(例如,从信道VC2改变为信道VC0)。信道控制器215b可以通过信道VC0输出信号s51。
在操作S780中,主机110b可以通过信道VC0接收信号s51。
图13示出了图8的电子系统1000b的操作的另一实施例。图13中所示的操作S810至操作S870可以与例如图7中所示的操作S510至操作S570相对应。下面,与图13所示的流程图相关联的描述将主要集中于操作S875和操作S880。
在操作S875中,信道控制器215b可以通过信道VC2接收信号s51,并且将用于发送信号s51的信道从信道VC2或信道VC1改变为信道VC0。信道控制器215b可以通过信道VC0输出信号s51。
在操作S880中,主机110b可以通过信道VC0接收信号s51。
根据本发明构思的一个或多个前述实施例,存储器控制器可以快速地向主机发送响应信号。因此,存储器控制器可以减少或最小化要提供给主机的响应信号的传输延迟。
本文所述的方法、处理和/或操作可以通过要由计算机、处理器、控制器或其他信号处理设备执行的代码或指令来执行。计算机、处理器、控制器或其他信号处理设备可以是本文描述的元件或除了本文描述的元件之外的元件。因为详细描述了形成方法(或计算机、处理器、控制器或其他信号处理设备的操作)的基础的算法,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理设备转换为用于执行本文描述的方法的专用处理器。
而且,另一实施例可以包括用于存储执行上述操作的代码或指令的计算机可读介质,例如非暂时计算机可读介质。计算机可读介质可以是易失性或非易失性存储器或其他存储设备,其可以可移除地或固定地耦合到用于执行本文描述的方法实施例的代码或指令的计算机、处理器、控制器或其他信号处理设备。
本文公开的实施例的处理器、控制器和其它信号产生和信号处理特征可以以例如可以包括硬件、软件或两者的逻辑来实现。当至少部分地在硬件中实现时,处理器、控制器和其它信号产生和信号处理特征可以是例如多种集成电路中的任何一种,包括但不限于专用集成电路、现场可编程门阵列、逻辑门的组合、片上系统、微处理器或另一类型的处理或控制电路。
当至少部分地在软件中实现时,处理器、控制器和其它信号产生和信号处理特征可以包括例如存储器或其他存储器设备,用于存储要由例如计算机、处理器、微处理器、控制器或其他信号处理设备执行的代码或指令。计算机、处理器、微处理器、控制器或其他信号处理设备可以是本文描述的元件或除了本文描述的元件之外的元件。因为详细描述了形成方法(或计算机、处理器、微处理器、控制器或其他信号处理设备的操作)的基础的算法,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理设备转换为用于执行本文描述的方法的专用处理器。
尽管已经参考本发明的示例性实施例描述了本发明构思,但是对于本领域普通技术人员来说显而易见的是,可以在不脱离如在所附权利要求中说明的本发明构思的精神和范围的情况下,对其进行各种改变和修改。
Claims (20)
1.一种存储设备,包括:
存储器,被配置为存储数据;和
存储器控制器,被配置为:
通过第一信道从外部设备接收第一信号,所述第一信号用于请求来自所述存储器的数据;
基于所述第一信号从所述存储器获得所述数据;以及
在接收到所述第一信号的时间与获得所述数据的时间之间的时间间隔大于第一参考间隔的情况下,通过与所述第一信道不同的第二信道向所述外部设备输出所述数据,以便将所述数据传输给所述外部设备。
2.根据权利要求1所述的存储设备,其中,所述第二信道的数据传输速度高于所述第一信道的数据传输速度。
3.根据权利要求1所述的存储设备,其中:
所述存储器控制器被配置为基于所述第一信号来输出第二信号,所述第二信号用于请求来自所述存储器的数据,并且
所述存储器被配置为基于所述第二信号向所述存储器控制器输出所述数据。
4.根据权利要求1所述的存储设备,其中,所述存储器控制器被配置为当所述时间间隔小于所述第一参考间隔时,通过所述第一信道向所述外部设备输出所述数据。
5.根据权利要求1所述的存储设备,其中,所述存储器控制器被配置为:
当所述时间间隔大于第二参考间隔时,通过第三信道输出所述数据,以及
当所述时间间隔小于所述第二参考间隔且大于所述第一参考间隔时,通过所述第二信道输出所述数据,其中所述第二参考间隔大于所述第一参考间隔,并且其中所述第三信道不同于所述第一信道和所述第二信道。
6.根据权利要求1所述的存储设备,其中,所述存储器控制器被配置为将信道数据包括在所述数据中并输出所述数据,并且其中所述信道数据与所述第一信道相关联。
7.根据权利要求1所述的存储设备,其中,所述存储器控制器被配置为基于所述第一信号和所述数据对所述时间间隔进行计数。
8.一种存储设备,包括:
存储器,被配置为存储数据;和
存储器控制器,被配置为:通过第一信道从外部设备接收第一信号,其中所述第一信号指示要在所述存储器中执行的第二操作;并且在所述存储器控制器在所述存储器执行第一操作期间接收到所述第一信号的情况下,基于所述第一信号通过第二信道向所述外部设备输出第二信号,所述第二信道不同于所述第一信道。
9.根据权利要求8所述的存储设备,其中,在所述存储器控制器在所述存储器没有进行操作时接收到所述第一信号的情况下,所述存储器控制器被配置为通过所述第一信道输出所述第二信号,以便将所述第二信号传输给所述外部设备。
10.根据权利要求8所述的存储设备,其中,所述存储器控制器被配置为:
基于所述第一信号向所述存储器输出第三信号,所述第三信号用于指示要在所述存储器中执行的所述第二操作;以及
当所述存储器已完成所述第二操作时,基于所述第三信号输出所述第二信号。
11.根据权利要求8所述的存储设备,其中,所述存储器控制器被配置为:
基于所述第一信号输出第四信号,所述第四信号用于指示要在所述存储器中执行的所述第二操作;以及
在所述存储器完成所述第二操作之前,基于所述第四信号输出所述第二信号。
12.根据权利要求8所述的存储设备,其中:
所述存储器被配置为:在执行所述第一操作期间从所述存储器控制器接收到指示所述第二操作的第五信号的情况下,向所述存储器控制器输出第六信号,并且
其中,所述存储器控制器被配置为:基于所述第六信号,通过所述第二信道输出所述第二信号。
13.根据权利要求12所述的存储设备,其中:
所述存储器控制器被配置为:在所述存储器已完成所述第一操作之后,基于所述第六信号输出第七信号,所述第七信号用于向所述存储器指示所述第二操作,并且
所述存储器被配置为基于所述第七信号执行所述第二操作。
14.根据权利要求8所述的存储设备,其中,所述存储器控制器被配置为:
基于从所述存储器接收到的关于所述第一操作的第八信号,指示在所述存储器完成所述第一操作之后要在所述存储器中执行的第二操作;以及
基于所述第八信号通过所述第二信道输出所述第二信号。
15.根据权利要求8所述的存储设备,其中,所述存储器控制器被配置为通过所述第二信道向所述外部设备输出所述第二信号。
16.根据权利要求8所述的存储设备,其中:
所述存储器控制器被配置为向交换设备输出所述第二信号,使得所述第二信号通过所述第二信道输入到所述交换设备,并且所述第二信号通过所述第一信道从所述交换设备输出。
17.根据权利要求16所述的存储设备,其中,所述存储器控制器被配置为:
将信道数据包括在所述第二信号中,所述信道数据与所述第一信道相关联,以及
基于所述信道数据,通过所述第一信道将所述第二信号从所述交换设备输出给所述外部设备。
18.根据权利要求8所述的存储设备,其中,所述存储器控制器被配置为:
从所述存储器接收数据,接收到的数据与所述第一操作的类型相关联;
基于所述第一操作的类型选择所述第二信道和第三信道中的一个,所述第三信道不同于所述第二信道;以及
通过所述第二信道和所述第三信道中的被选择的信道来输出所述第二信号。
19.一种操作包括存储器的电子系统的方法,所述方法包括:
通过第一信道从主机接收第一信号;
基于所述第一信号向所述存储器输出第二信号,所述第二信号请求存储在所述存储器中的数据;
基于所述第二信号从所述存储器获得所述数据;以及
在接收到所述第一信号的时间与输出所述第二信号的时间之间的时间间隔大于参考间隔的情况下,通过与所述第一信道不同的第二信道输出所述数据,以便将所述数据传输给所述主机。
20.根据权利要求19所述的方法,其中:
通过第二信道输出所述数据包括通过所述第二信道向交换设备输出所述数据,并且
所述方法还包括:
由所述交换设备将用于传输所述数据的信道从所述第二信道改变为所述第一信道;以及
通过所述第一信道将所述数据从所述交换设备输出给所述主机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0135850 | 2018-11-07 | ||
KR1020180135850A KR102588143B1 (ko) | 2018-11-07 | 2018-11-07 | 메모리 컨트롤러를 포함하는 스토리지 장치 및 메모리를 포함하는 전자 시스템을 동작시키는 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111158581A true CN111158581A (zh) | 2020-05-15 |
CN111158581B CN111158581B (zh) | 2024-04-19 |
Family
ID=70457768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910846434.6A Active CN111158581B (zh) | 2018-11-07 | 2019-09-06 | 包括存储器控制器的存储设备及电子系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11086563B2 (zh) |
KR (1) | KR102588143B1 (zh) |
CN (1) | CN111158581B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822528A (en) * | 1995-10-03 | 1998-10-13 | Sony Corporation | Audio-video data transmission apparatus, audio-video data transmission system and audio-video data server |
US20110219171A1 (en) * | 2010-03-05 | 2011-09-08 | 248 SolidState, Inc | Virtual channel support in a nonvolatile memory controller |
US20120221771A1 (en) * | 2011-02-25 | 2012-08-30 | Samsung Electronics Co., Ltd. | Data storage system and data mapping method of the same |
CN103578555A (zh) * | 2012-07-19 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器、其的读取方法和包括其的存储系统 |
US20140211769A1 (en) * | 2011-11-04 | 2014-07-31 | Huawei Technologies Co.,Ltd. | Method for determining transmission time interval, base station, and radio network controller |
CN103996415A (zh) * | 2013-01-18 | 2014-08-20 | 三星电子株式会社 | 非易失性存储器件、存储系统及相关控制方法 |
CN104092649A (zh) * | 2013-12-04 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 预热信道的方法和装置 |
US8934337B2 (en) * | 2009-06-02 | 2015-01-13 | Deutsche Telekom Ag | Method for transmitting real-time data packets in convergent networks |
CN105721035A (zh) * | 2014-12-23 | 2016-06-29 | 英特尔公司 | 用于处理收到信号的通信装置和方法 |
CN107015920A (zh) * | 2015-12-30 | 2017-08-04 | 三星电子株式会社 | 存储设备和存储设备的操作方法 |
US20180081557A1 (en) * | 2016-09-21 | 2018-03-22 | Samsung Electronics Co., Ltd. | Memory module communicating with host through channels and computer system including the same |
CN108293269A (zh) * | 2015-11-25 | 2018-07-17 | 三星电子株式会社 | 通信系统中用于信道感测的方法和装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2929991B2 (ja) * | 1996-01-29 | 1999-08-03 | 日本電気株式会社 | 最適化クレジット制御方法 |
US6393506B1 (en) | 1999-06-15 | 2002-05-21 | National Semiconductor Corporation | Virtual channel bus and system architecture |
WO2005020521A1 (en) * | 2003-08-26 | 2005-03-03 | Philips Intellectual Property & Standards Gmbh | Point-to-multipoint data transmission |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US20050254085A1 (en) | 2004-05-12 | 2005-11-17 | Koji Oshikiri | Image forming system |
US8006017B2 (en) | 2004-12-21 | 2011-08-23 | Intel Corporation | Stream priority |
US20090154426A1 (en) * | 2005-08-09 | 2009-06-18 | Freescale Semiconductor, Inc. | Handover based on a quality of service metric obtained from a mac layer of a received signal |
US7536489B2 (en) | 2005-08-30 | 2009-05-19 | Ricoh Company Limited | Information processing system for determining payload size based on packet-to-payload size ratio |
US20080212537A1 (en) * | 2005-10-06 | 2008-09-04 | Dror Bukai | Data Packet Handover Control |
US8392667B2 (en) | 2008-12-12 | 2013-03-05 | Nvidia Corporation | Deadlock avoidance by marking CPU traffic as special |
US8144582B2 (en) | 2008-12-30 | 2012-03-27 | International Business Machines Corporation | Differentiating blade destination and traffic types in a multi-root PCIe environment |
US10237191B2 (en) | 2015-02-18 | 2019-03-19 | Intel Corporation | Traffic class arbitration based on priority and bandwidth allocation |
US9860841B2 (en) | 2015-08-20 | 2018-01-02 | Apple Inc. | Communications fabric with split paths for control and data packets |
US10025531B2 (en) | 2015-09-10 | 2018-07-17 | HoneycombData Inc. | Reducing read command latency in storage devices |
-
2018
- 2018-11-07 KR KR1020180135850A patent/KR102588143B1/ko active IP Right Grant
-
2019
- 2019-05-16 US US16/414,181 patent/US11086563B2/en active Active
- 2019-09-06 CN CN201910846434.6A patent/CN111158581B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822528A (en) * | 1995-10-03 | 1998-10-13 | Sony Corporation | Audio-video data transmission apparatus, audio-video data transmission system and audio-video data server |
US8934337B2 (en) * | 2009-06-02 | 2015-01-13 | Deutsche Telekom Ag | Method for transmitting real-time data packets in convergent networks |
US20110219171A1 (en) * | 2010-03-05 | 2011-09-08 | 248 SolidState, Inc | Virtual channel support in a nonvolatile memory controller |
US20120221771A1 (en) * | 2011-02-25 | 2012-08-30 | Samsung Electronics Co., Ltd. | Data storage system and data mapping method of the same |
KR20120097862A (ko) * | 2011-02-25 | 2012-09-05 | 삼성전자주식회사 | 데이터 저장 시스템 및 그의 데이터 맵핑 방법 |
US20140211769A1 (en) * | 2011-11-04 | 2014-07-31 | Huawei Technologies Co.,Ltd. | Method for determining transmission time interval, base station, and radio network controller |
CN103578555A (zh) * | 2012-07-19 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器、其的读取方法和包括其的存储系统 |
CN103996415A (zh) * | 2013-01-18 | 2014-08-20 | 三星电子株式会社 | 非易失性存储器件、存储系统及相关控制方法 |
CN104092649A (zh) * | 2013-12-04 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 预热信道的方法和装置 |
CN105721035A (zh) * | 2014-12-23 | 2016-06-29 | 英特尔公司 | 用于处理收到信号的通信装置和方法 |
CN108293269A (zh) * | 2015-11-25 | 2018-07-17 | 三星电子株式会社 | 通信系统中用于信道感测的方法和装置 |
CN107015920A (zh) * | 2015-12-30 | 2017-08-04 | 三星电子株式会社 | 存储设备和存储设备的操作方法 |
US20180081557A1 (en) * | 2016-09-21 | 2018-03-22 | Samsung Electronics Co., Ltd. | Memory module communicating with host through channels and computer system including the same |
Also Published As
Publication number | Publication date |
---|---|
KR20200053051A (ko) | 2020-05-18 |
KR102588143B1 (ko) | 2023-10-13 |
US11086563B2 (en) | 2021-08-10 |
US20200142632A1 (en) | 2020-05-07 |
CN111158581B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562369B (zh) | 存储器控制器、存储缓冲器芯片和存储系统 | |
EP2625618B1 (en) | Memory controllers, systems, and methods for applying page management policies based on stream transaction information | |
US10678437B2 (en) | Method and device for managing input/output (I/O) of storage device | |
EP3255553A1 (en) | Transmission control method and device for direct memory access | |
US10951741B2 (en) | Computer device and method for reading or writing data by computer device | |
US20170168727A1 (en) | Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache | |
KR20210038313A (ko) | 레이턴시에 중점을 둔 판독 동작과 대역폭에 중점을 둔 판독 동작 사이의 동적 변경 | |
EP3846036A1 (en) | Matrix storage method, matrix access method, apparatus and electronic device | |
US20170357466A1 (en) | Data storage device and operating method thereof | |
US11854600B2 (en) | Write request thresholding | |
EP2620876B1 (en) | Method and apparatus for data processing, pci-e bus system and server | |
CN115729864A (zh) | 存储装置、电子装置以及电子装置的操作方法 | |
CN104866432A (zh) | 具有绕回-至-连续读取的存储器子系统 | |
JP6331944B2 (ja) | 情報処理装置、メモリ制御装置及び情報処理装置の制御方法 | |
CN117033275B (zh) | 加速卡间的dma方法、装置、加速卡、加速平台及介质 | |
CN111158581B (zh) | 包括存储器控制器的存储设备及电子系统的操作方法 | |
EP2979193B1 (en) | Shared memory system | |
CN105264608A (zh) | 存储数据的方法、内存控制器和中央处理器 | |
KR102384344B1 (ko) | 모바일 장치 및 모바일 장치의 동작 방법 | |
US10025730B2 (en) | Register device and method for software programming | |
CN117591450B (zh) | 一种数据处理系统、方法、设备及介质 | |
CN102253896B (zh) | 写操作处理方法及网络设备 | |
CN111158588B (zh) | 一种双倍速率控制方法及系统 | |
CN114064357A (zh) | 数据备份方法、装置、电子设备及存储介质 | |
US20200183824A1 (en) | Sharing method, apparatus, storage medium, and terminal |
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 |