CN117407323A - 操作存储模块的方法、存储模块和存储器系统 - Google Patents
操作存储模块的方法、存储模块和存储器系统 Download PDFInfo
- Publication number
- CN117407323A CN117407323A CN202310865352.2A CN202310865352A CN117407323A CN 117407323 A CN117407323 A CN 117407323A CN 202310865352 A CN202310865352 A CN 202310865352A CN 117407323 A CN117407323 A CN 117407323A
- Authority
- CN
- China
- Prior art keywords
- read
- prefetch
- bank
- memory
- size
- 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 20
- 238000013507 mapping Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 31
- 230000002093 peripheral effect Effects 0.000 description 12
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 102100021568 B-cell scaffold protein with ankyrin repeats Human genes 0.000 description 6
- 101000971155 Homo sapiens B-cell scaffold protein with ankyrin repeats Proteins 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 101150047304 TMOD1 gene Proteins 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 102100033040 Carbonic anhydrase 12 Human genes 0.000 description 3
- 102100024423 Carbonic anhydrase 9 Human genes 0.000 description 3
- 101000867855 Homo sapiens Carbonic anhydrase 12 Proteins 0.000 description 3
- 102100033029 Carbonic anhydrase-related protein 11 Human genes 0.000 description 2
- 101000910338 Homo sapiens Carbonic anhydrase 9 Proteins 0.000 description 2
- 101000867841 Homo sapiens Carbonic anhydrase-related protein 11 Proteins 0.000 description 2
- 101001075218 Homo sapiens Gastrokine-1 Proteins 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100011863 Arabidopsis thaliana ERD15 gene Proteins 0.000 description 1
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 1
- 102100032566 Carbonic anhydrase-related protein 10 Human genes 0.000 description 1
- 101000867836 Homo sapiens Carbonic anhydrase-related protein 10 Proteins 0.000 description 1
- 101100191082 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GLC7 gene Proteins 0.000 description 1
- 101100274406 Schizosaccharomyces pombe (strain 972 / ATCC 24843) cid1 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
-
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
Abstract
提供了操作存储模块的方法、存储模块和存储器系统。所述操作存储模块的方法包括:基于从主机接收到的关于预取大小的信息来设置特性值;并且基于从主机接收到的一个预取读取命令,以高速缓存行为单位执行连续读取操作。
Description
本申请要求于2022年7月14日提交到韩国知识产权局的第10-2022-0087189号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
实施例涉及半导体存储器装置,并且更具体地,涉及能够支持预取功能的存储模块及其操作方法。
背景技术
半导体存储器装置主要分为易失性半导体存储器装置和非易失性半导体存储器装置。易失性半导体存储器装置的读取和写入速度快,但是当不向其提供电力时丢失存储在其中的数据。易失性半导体存储器装置还可被划分为动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。
处理器的预取功能或硬件预取功能是在硬件中补偿由分配给处理器的高速缓存与DRAM之间的速度差引起的时间延迟的功能。换言之,利用处理器的高速缓存的速度比DRAM的速度快的事实,预取功能预先将预期将被使用的数据从DRAM带到高速缓存。
通过预取功能存储在高速缓存中的数据的大小通常具有固定大小,而不管工作负载如何。另外,为了执行预取操作,主机需要发送多个读取命令,并且因此发生读取到读取间隙。这是由于双倍数据速率(DDR)时钟的不必要消耗和增加的等待时间而引起性能劣化的因素。
发明内容
一个方面提供能够动态地确定将被预取的数据的大小并且防止读取到读取间隙的发生从而根据工作负载展现出最佳性能的存储模块。
根据一个或多个实施例的一个方面,提供了一种方法,包括:基于从主机接收到的关于预取大小的信息来设置特性值;并且基于从主机接收到的一个预取读取命令,以高速缓存行为单位对存储模块执行连续读取操作。
根据一个或多个实施例的另一方面,提供了一种存储模块,包括:存储器装置,包括易失性存储器;以及存储器控制器,被配置为控制存储器装置。存储器控制器包括:控制模块,被配置为对从主机接收到的设置命令进行解码以识别关于预取大小的信息,并且基于预取大小确定将被连续执行的读取操作的数量;以及寄存器,被配置为存储关于将被连续执行的读取操作的数量的信息。
根据一个或多个实施例的又一方面,提供了一种存储器系统,包括:主机,被配置为确定将被预取到高速缓存中的高速缓存行的数量;以及存储模块,包括易失性存储器,并且被配置为从主机接收高速缓存行的数量并且基于高速缓存行的数量来确定将被连续执行的读取操作的数量,其中,存储模块基于从主机接收到的一个预取读取命令以高速缓存行为单位连续地执行读取操作。
附图说明
从下面的结合附图的详细描述,将更清楚地理解以上和其他方面,其中:
图1是示出根据一些实施例的存储器系统的示例的框图;
图2是示出根据一些实施例的图1的存储器系统的主机的示例的框图;
图3是示出根据一些实施例的图1的存储器系统的存储器控制器的示例的框图;
图4是示出根据一些实施例的图1的存储器系统的存储器装置的示例的框图;
图5是示出根据一些实施例的图1的存储器系统的操作的示例的流程图;
图6是更详细地示出根据一些实施例的图5的流程图中的单个预取读取操作的流程图;
图7是示出根据一些实施例的对设置命令进行传送和设置的操作的示例的时序图;
图8A至图8C是示出根据一些实施例的在设置命令中设置的模式寄存器值的示例的示图;
图9A和图9B是用于描述根据一些实施例的预取读取命令的传送操作的示例的示图;
图10、图11A和图11B是根据一些实施例的用于描述单个预取读取操作的示例的比较图;
图12A至图12F是示出根据一些实施例的单个预取读取操作的各种示例的示图;
图13是示出根据一些实施例的存储器系统的示例的框图;以及
图14是示出根据一些实施例的由系统地址映射管理器配置的系统地址映射的示例的示图。
具体实施方式
在下文中,各种实施例可被详细并且清楚地描述到使本领域普通技术人员容易地实现各种实施例的程度。
图1是示出根据一些实施例的存储器系统的示例的框图。
根据一些实施例的存储器系统1000A可包括存储模块1100和主机1200,并且可支持动态预取操作。动态预取操作意味着主机1200根据工作负载动态地确定预取大小,并且存储模块1100基于由主机1200确定的预取大小来执行读取操作。通过支持动态预取操作,存储器系统1000A可将能够根据工作负载展现出最佳性能的大小的数据存储在高速缓存中。
在一些实施例中,存储器系统1000A可支持单个预取读取操作(single prefetchread operation)。单个预取读取操作表示基于从主机1200接收到的一个预取读取命令以高速缓存行为单位连续执行读取操作。通过支持单个预取读取操作,根据一些实施例的存储器系统1000A可防止发生读取到读取间隙(read to read gap)。因此,不仅可使等待时间最小化,而且可使功耗最小化。
参照图1,存储器系统1000A包括存储模块1100和主机1200。
存储模块1100可与主机1200通信,并且可响应于主机1200的请求来写入数据或读取数据。
存储模块1100可根据来自主机1200的请求来执行单个预取读取操作。例如,存储模块1100可从主机1200接收一个预取读取命令(在下文中,“PRD”),并且可基于接收到的命令以高速缓存行为单位连续地执行读取操作。为此,存储模块1100可包括存储器装置1110和存储器控制器1120。
存储器装置1110可包括易失性存储器。例如,存储器装置1110可包括动态RAM(DRAM)。在这种情况下,DRAM可以是时钟同步DRAM(诸如,同步DRAM(SDRAM))。例如,DRAM可以是同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)或低功率双倍数据速率SDRAM(LPDDR SDRAM)。此外,存储器装置1110可包括易失性存储器(诸如,Rambus(兰巴斯)DRAM(RDRAM)、静态RAM(SRAM)等)。
存储器控制器1120可从主机1200接收一个预取读取命令PRD。存储器控制器1120可控制存储模块1100,从而基于一个预取读取命令PRD连续地执行以高速缓存行为单位的读取操作。存储器控制器1120可包括控制模块1121和寄存器1122。
控制模块1121可与主机1200交换命令和/或数据。例如,控制模块1121可通过各种接口方法(诸如,高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机小型接口(SCSI)、串行附接SCSI(SAS)、外围组件互连(PCI)、PCI快速(PCIe)、NVM快速(NVMe)、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、通用闪存(UFS)、嵌入式通用闪存(eUFS)和/或紧凑型闪存(CF)卡接口)来与主机1200交换数据。
控制模块1121可从主机1200接收关于预取大小的信息。例如,控制模块1121可接收设置命令(诸如,模式寄存器设置(MRS)命令或模式寄存器写入(MRW)命令),并且可对设置命令进行解码以识别预取大小。控制模块1121可基于识别出的预取大小来确定将被连续执行的读取操作的数量。
在一些实施例中,控制模块1121可从主机1200接收切换模式信息。切换模式信息可指示是对多个存储体组中的同一存储体组连续地执行读取操作还是对多个存储体组中的不同存储体组连续地执行读取操作。控制模块1121可基于切换模式信息使用与第一访问时间tCCD_L对应的脉冲宽度或与第二访问时间tCCD_S对应的脉冲宽度来执行读取操作。第一访问时间tCCD_L可以是与同一存储体组对应的访问时间,并且第二访问时间tCCD_S可以是与不同存储体组对应的访问时间。换言之,第一访问时间tCCD_L表示在访问选择的存储体组之后用于访问同一存储体组的访问时间,并且第二访问时间tCCD_S表示在访问选择的存储体组之后用于访问不同存储体组的访问时间。
寄存器1122可存储与单个预取读取操作相关的信息。例如,寄存器1122可存储关于将被连续执行的读取操作的数量的信息。在一些实施例中,寄存器1122可存储切换模式信息。
继续参照图1,主机1200可执行预先从存储模块1100取出预期将被使用的数据并将数据存储在主机1200中的预取操作。具体地,在一些实施例中,主机1200可执行根据工作负载来确定最佳预取大小的动态预取操作。为此,主机1200可包括处理器1210、高速缓存1220和预取大小决定模块1230。
处理器1210可执行各种算术运算和/或处理操作。例如,处理器1210可使用存储在高速缓存1220中的数据来执行算术运算和/或处理操作。当高速缓存1220中不需要数据(例如,没有数据)时,处理器1210可使用存储在存储模块1100中的数据来执行算术运算和/或处理操作。
高速缓存1220可存储由处理器1210使用的数据。高速缓存1220可包括例如具有比构成存储模块1100的存储器快的输入/输出速度的存储器。例如,高速缓存1220可包括SRAM,并且存储模块1100可包括DRAM。由于处理器1210使用的数据预先存储在高速缓存1220中,因此可提高处理器1210的处理速度。
高速缓存1220可以以高速缓存行(在下文中,“CL”)为单位来存储数据。在一些实施例中,高速缓存行CL可具有例如64字节的大小,64字节的大小是由DRAM形成的存储器装置1110的输入/输出单位。例如,当高速缓存行CL的大小是64字节并且高速缓存行CL的数量是7时,高速缓存1220可存储总共448字节的数据。然而,这仅是示例,并且在一些实施例中,高速缓存行CL的大小可被不同地设置,诸如,32字节或128字节。
预取大小决定模块1230可确定将通过预取操作存储在高速缓存1220中的数据的总体大小。例如,当数据以高速缓存行CL为单位被存储在高速缓存1220中时,预取大小决定模块1230可确定高速缓存行CL的数量以确定将被存储在高速缓存1220中的总体数据的大小。
在一些实施例中,预取大小决定模块1230可根据将由处理器1210执行的工作负载来不同地设置高速缓存行CL的数量。也就是说,预取大小决定模块1230可根据工作负载不同地确定高速缓存行CL的数量,使得处理器1210可展现出最佳性能。例如,预取大小决定模块1230可根据工作负载基于高速缓存命中率来确定高速缓存行CL的数量。通过这样的动态预取操作,处理器1210可针对每个工作负载展现出最佳性能。
如上所述,根据一些实施例的存储器系统1000A可通过支持动态预取操作而根据工作负载展现出最佳性能,并且可通过支持单个预取读取操作而防止发生读取到读取间隙,从而使等待时间和功耗最小化。
图2是示出根据一些实施例的图1的主机1200的示例的框图。参照图2,主机1200可包括处理器1210、高速缓存1220和预取大小决定模块1230。
处理器1210可被实现为多处理器系统。也就是说,处理器1210可被实现为包括多个中央处理器(CPU)核心1211至121n。然而,这仅是示例,并且在一些实施例中,处理器1210可被实现为仅包括一个CPU的单处理器系统。
高速缓存1220可被实现为具有高速缓存层级结构。高速缓存层级的每个级别可被称为高速缓存级别。例如,高速缓存1220可包括L1高速缓存1221_1至1221_n和L2高速缓存1222。
L1高速缓存1221_1至1221_n靠近处理器1210设置,并且可以是比L2高速缓存1222小并且快的高速缓存。一个L1高速缓存可以是仅分配给一个CPU核心的专用高速缓存。因此,一个L1高速缓存的存储数据可仅由对应的CPU核心访问。也就是说,在具有多个CPU核心1211至121n的配置中,L1高速缓存1221_1至1221_n中的相应一个可被分配给多个CPU核心1211至121n中的每个,因此L1高速缓存1221_1可被分配为CPU核心1211的专用高速缓存,并且L1高速缓存1221_2可被分配为CPU核心1212的专用高速缓存等。
L2高速缓存1222被设置为更远离处理器1210,并且可以是比L1高速缓存1221_1至1221_n大并且慢的高速缓存。L2高速缓存1222可以是由多个CPU核心1211至121n共享的共享高速缓存。
尽管图2示出L1高速缓存1221_1至1221_n和L2高速缓存1222的两级高速缓存层级结构,但是实施例不限于此。例如,高速缓存1220还可包括L3高速缓存和/或L4高速缓存。
通常,当处理器1210请求存在于高速缓存1220中的数据时,该请求被称为高速缓存命中,并且当处理器1210请求不存在于高速缓存1220中的数据时,该请求被称为高速缓存未命中。由于高速缓存命中时的访问请求可比高速缓存未命中时的访问请求更快地被处理,因此具有用于增加高速缓存命中率的解决方法是有利的。
为了增加高速缓存命中率,根据一些实施例的预取大小决定模块1230可根据工作负载不同地设置将被预先存储在高速缓存1220中的数据的大小。例如,当高速缓存行CL的大小被固定为32、64或128字节时,预取大小决定模块1230可根据工作负载不同地设置高速缓存行CL的数量,以不同地设置将被存储在高速缓存1220中的数据的大小。例如,预取大小决定模块1230可在考虑数据的时域局部性、空域局部性或顺序局部性的情况下根据工作负载来设置高速缓存行CL的数量。如上所述,通过根据工作负载不同地设置将被预取的数据的大小,可优化存储器系统的性能。
图3是示出根据一些实施例的图1的存储器控制器1120的示例的框图。参照图3,存储器控制器1120可包括控制模块1121和寄存器1122,并且控制模块1121可包括MRS控制器1121_1和PRD控制器1121_2。
MRS控制器1121_1可从主机1200接收与预取操作相关的设置命令,并且可通过对设置命令进行解码来设置连续读取操作的数量(NCR)。在这种情况下,一个读取操作可以以高速缓存行CL为单位来读取数据。例如,当高速缓存行CL的大小是64字节并且突发长度“BL”为16时,一个读取操作可被执行4个周期。这样的读取操作可称为例如突发读取操作。在这种情况下,当从主机1200请求的高速缓存行CL的数量是7时,MRS控制器1121_1可将连续读取操作的数量NCR设置为7。MRS控制器1121_1可将关于连续读取操作的数量NCR的信息存储在寄存器1122中。
MRS控制器1121_1可对设置命令进行解码以识别关于切换模式TM的信息。例如,当切换模式被启用时,MRS控制器1121_1被设置为连续地执行与不同存储体组相关联的读取操作,并且可基于第二访问时间tCCD_S来执行连续读取操作。作为另一示例,当切换模式被禁用时,MRS控制器1121_1被设置为连续地执行与同一存储体组相关联的读取操作,并且可基于第一访问时间tCCD_L来执行连续读取操作。MRS控制器1121_1可将关于切换模式TM和/或访问时间tCCD的信息存储在寄存器1122中。
设置命令可具有任何形式,只要设置命令是用于设置与刷新操作相关的模式寄存器的信号即可。例如,设置命令可以是DDR4中的模式寄存器设置(MRS)命令或DDR5中的模式寄存器写入(MRW)命令。
继续参照图3,PRD控制器1121_2可从主机1200接收预取读取命令PRD。PRD控制器1121_2可从寄存器1122接收预取信息PFI。在这种情况下,预取信息PFI可包括关于连续读取操作的数量NCR、切换模式TM和/或访问时间tCCD的信息。PRD控制器1121_2可基于预取信息PFI来输出用于控制针对存储器装置1110的读取操作的控制信号CTRL。
PRD控制器1121_2可对读取操作的数量进行计数。当连续读取操作的数量NCR达到阈值数量时,PRD控制器1121_2可结束读取操作。在一些实施例中,可预设阈值数量。
图4是示出根据一些实施例的图1的存储器装置1110的示例的框图。
参照图4,存储器装置1110可包括第一存储体组BG1和第二存储体组BG2。第一存储体组BG1和第二存储体组BG2中的每个可包括第一存储体BANK1至第n存储体BANKn。第一存储体组BG1和第二存储体组BG2的第一存储体BANK1至第n存储体BANKn中的每个可具有相同的结构,并且可以以相同的方式操作。
第一存储体BANK1至第n存储体BANKn中的每个可包括存储器单元。存储器单元可用于存储从主机1200传送的数据。例如,存储器单元可以是易失性存储器单元(诸如,DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM、RDRAM、SRAM等)。
存储器装置1110还可包括外围电路1111。外围电路1111可从主机1200接收命令CMD、地址ADDR和时钟信号CK。外围电路1111可从第一存储体组BG1和第二存储体组BG2的第一存储体BANK1至第n存储体BANKn之中选择由地址ADDR指示的存储体。外围电路1111可控制选择的存储体针对选择的存储体的存储器单元之中的由地址ADDR指示的存储器单元执行由命令CMD指示的操作(例如,写入操作或读取操作)。
外围电路1111可包括被配置为与主机1200交换数据信号DQ和数据选通信号DQS的输入/输出(I/O)电路1112。数据选通信号DQS可提供用于对数据信号DQ进行锁存的时序。
外围电路1111还可包括被配置为响应于命令CMD、地址ADDR和/或时钟信号CK来控制选择的存储体的控制逻辑1113。
在一些实施例中,外围电路1111可从PRD控制器1121_2接收控制信号CTRL。外围电路1111可响应于控制信号CTRL来控制存储器装置1110执行单个预取读取操作。
更详细地,当从主机1200接收到预取读取命令PRD时,PRD控制器1121_2(参照图3)可基于存储在寄存器1122(参照图3)中的预取信息PFI来生成用于控制针对存储器装置1110的读取操作的控制信号CTRL,并且可将生成的控制信号CTRL传送到外围电路1111。
当切换模式被启用时,外围电路1111可响应于控制信号CTRL控制存储器装置1110以第二访问时间tCCD_S的间隔交替地针对第一存储体组BG1和第二存储体组BG2执行读取操作。在这种情况下,可以以高速缓存行CL为单位来执行读取操作。读取的数据可临时存储在输入/输出电路1112中,并且可与时钟信号CK同步以传送到主机1200。
当切换模式被禁用时,外围电路1111可响应于控制信号CTRL控制存储器装置1110以第一访问时间tCCD_L的间隔连续地对同一存储体组执行读取操作。换言之,存储器装置1110可对第一存储体组BG1的第一存储体BANK1至第n存储体BANKn或者对第二存储体组BG2的第一存储体BANK1至第n存储体BANKn连续地执行读取操作。在这种情况下,可以以高速缓存行CL为单位来执行读取操作。读取的数据可临时存储在输入/输出电路1112中,并且可与时钟信号CK同步以传送到主机1200。
在单个预取读取操作中,预取读取命令PRD可仅从主机1200输入一次。也就是说,当单个预取读取操作开始时,预取读取命令PRD仅被输入一次,并且此后,附加的预取读取命令PRD或读取命令可不被输入直到单个预取读取操作被完成为止。因此,防止了由于多个命令导致的读取到读取间隙的发生,从而不仅可使等待时间最小化,而且可使得功耗最小化。
如图1至图4中所示出的,根据一些实施例的存储器系统1000A可根据工作负载而不同地设置高速缓存行CL的数量。因此,存储器系统1000A的性能可被提高。在一些实施例中,存储器系统1000A可基于一个预取读取命令来连续地执行读取操作。因此,可防止读取到读取间隙的发生,并且因此可使等待时间和功耗最小化。
图5是示出根据一些实施例的图1的存储器系统1000A的操作的示例的流程图。
在操作S110中,主机1200可根据工作负载来确定预取大小。例如,当高速缓存行CL的单位固定时,主机1200可根据工作负载来确定将被预先存储在高速缓存1220(参照图1)中的高速缓存行CL的数量。
主机1200可基于确定的高速缓存行CL的数量来确定模式寄存器值,并且在操作S120中,主机可通过命令(CMD)总线将包括确定的模式寄存器值的设置命令传送到存储模块1100。例如,设置命令可以是DDR4的MRS命令或DDR5的MRW命令。
在操作S130中,存储模块1100可基于模式寄存器值来设置单个预取读取操作的配置。例如,存储模块1100可对模式寄存器值进行解码,并且可基于解码的模式寄存器值来设置用于单个预取读取操作的特性值。例如,存储模块1100可设置关于将被连续执行的读取操作的数量、切换模式TM和/或访问时间tCCD的信息,并且可将该信息存储在寄存器1122(参照图3)中。
在操作S140中,主机1200可通过CMD总线将预取读取命令PRD传送到存储模块1100。例如,预取读取命令PRD可仅使用一个位来实现。在一些实施例中,预取读取命令PRD可仅被传送到存储模块1100一次,而不管由主机1200确定的高速缓存行CL的数量和/或将在存储模块1100中执行的读取操作的数量。
在操作S150中,存储模块1100可基于预取读取命令PRD来执行单个预取读取操作。例如,当确定的高速缓存行CL的数量是“n”时,可基于一个预取读取命令PRD来执行“n”个连续读取操作。
在操作S160中,存储模块1100可通过数据总线将读取数据传送到主机1200。例如,存储模块1100可将读取数据临时存储在输入/输出电路1112(图4)中,然后与DDR时钟同步地顺序地将读取数据传送到主机1200。
图6是更详细地示出根据一些实施例的图5的操作S150中的单个预取读取操作的流程图。
在操作S151中,存储模块1100可对预取读取命令PRD进行解码。
在操作S152中,存储模块1100确定是否针对不同存储体组执行读取操作。例如,存储器控制器1120可识别切换模式TM并且识别是否针对不同存储体组来执行读取操作。
当切换模式TM被启用时,存储模块1100在不同存储体组之间执行读取操作。详细地,在操作S153中,存储模块1100可基于与第二访问时间tCCD_S对应的脉冲宽度交替地针对不同存储体组执行读取操作。在这种情况下,可以以列步长方案(column stridescheme)来执行每个存储体组的读取顺序。例如,当由主机1200确定的高速缓存行CL的数量是“n”时,以高速缓存行CL为单位来执行“n”个读取操作,并且因此,可从不同存储体组读取与总大小为“n×高速缓存行CL的大小”对应的数据。
当切换模式TM被禁用时,存储模块1100对同一存储体组执行读取操作。详细地,在操作S154中,存储模块1100可基于与比第二访问时间tCCD_S长的第一访问时间tCCD_L对应的脉冲宽度来连续地针对同一存储体组的存储体执行读取操作。在这种情况下,可以以列步长方案来执行每个存储体组的读取顺序。
如图5和图6中所描述的,根据一些实施例的存储器系统1000A可基于一个预取读取命令PRD来读取与“n”个高速缓存行CL对应的数据,并且可将读取的数据存储在高速缓存中。通常,为了将与“n”个高速缓存行CL对应的数据存储在高速缓存中,主机需要通过命令(CMD)总线将“n”个读取命令传送到存储模块。相比之下,根据一些实施例的存储器系统1000A可使用一个预取读取命令PRD来读取与“n”个高速缓存行CL对应的数据,并且可将读取的数据存储在高速缓存中。因此,因为不必使用多个读取命令,所以可提高CMD总线的使用效率。可通过减少命令的数量来减少需要的电力。防止读取到读取间隙的发生,从而可减少等待时间。
图7和图8是用于描述根据一些实施例的图6的操作S120和操作S130中的设置命令传送和设置操作的示图。详细地,图7是示出对设置命令进行传送和设置的操作的示例的时序图,并且图8是示出在设置命令中设置的模式寄存器值的示例的示图。
参照图7,可通过差分时钟信号(CK_t和CK_c)提供时间T0至Tb3的操作时序。时间T0至Ta0可处于旧设置状态。
在时间Ta0,主机1200可将设置命令MRS提供给存储模块1100。例如,在DDR4中,当所有存储体处于空闲状态时,主机1200可将设置命令MRS提供给存储模块1100。
在时间Ta0至Tb1,主机1200不提供非设置命令。在这种情况下,非设置命令可表示除了设置命令MRS之外的命令。例如,非设置命令可以是激活/读取/写入命令。这样的时间Ta0至Tb1可被称为更新延迟时间tMOD(例如,用于设置特性值的更新延迟时间)。在更新延迟时间tMOD期间,存储模块1100可对设置命令MRS进行解码,可识别关于单个预取读取操作的信息,并且可设置单个预取读取操作。
此后,在时间Tb1之后,存储模块1100可接收非设置命令。在图7中,DES可表示取消选择命令或装置取消选择命令。
在一些实施例中,尽管未单独地示出,但DDR5的模式寄存器设置处理可如以上描述中那样执行。例如,当所有存储体在正常操作期间处于空闲状态时,主机1200可将设置命令MRW提供给存储模块1100。主机1200在更新延迟时间tMOD期间不将非设置命令提供给存储模块1100。在更新延迟时间tMOD期间,存储模块1100设置单个预取读取操作。在更新延迟时间tMOD过去之后,存储模块1100可接收非设置命令。
在图8A中,当设置命令是DDR4的MRS命令时,MRS命令的各个信号(CKE、CS_n、ACT_n、RAS_n、CAS_n、WE_n、BG0至BG1、BA0至BA1、C2至C0、A12、A17、A13、A11、A10、A0至A9等)的逻辑值被示出。这里,“H”指示逻辑高,“L”指示逻辑低,“BG”指示存储体组地址,“BA”指示存储体地址,“X”指示“H”或“L”,或者指示该值未被限定(即,不关心)(诸如,浮动状态),并且“V”指示被限定为“H”或“L”的逻辑电平。OP码指示操作码。在图8A中,CKE可表示时钟使能信号,CS_n可表示芯片选择信号,ACT_n可表示激活信号,RAS_n、CAS_n和WE_n可用于命令输入,C2至C0可表示芯片标识符,A12/BC_n可表示突发斩波信号,A10/AP可表示自动预充电。
在图8B中,当设置命令是DDR5的MRW命令时,MRW命令的各个信号(CS_n和CA0至CA13)的逻辑值被示出。这里,“H”指示逻辑高,“L”指示逻辑低,MRA0至MRA7指示模式寄存器地址,并且“V”指示限定为“H”或“L”的逻辑电平。OP0至OP7指示操作码。
参照图8A和图8B,通过使用DDR4的MRS命令的操作码(OP码)或DDR5的MRW命令的操作码(OP0至OP7),与单个预取读取操作相关的信息可被表示。例如,与设置命令中的单个预取读取操作相关的信息可如图8C中所示。在一些实施例中,可使用CA10指示CW(命令/写入)信号。
参照图8C,操作码可以是例如5位OP[4:0]。
例如,OP[3:0]可指示由主机1200确定的高速缓存行CL的数量。将被存储在高速缓存1220(参照图1)中的高速缓存行CL的数量可根据写入OP[3:0]中的数据0000至1111而变化。当存储模块1100的读取操作以高速缓存行CL为单位而被执行时,写入在OP[3:0]中的数据0000至1111可对应于将在存储模块1100中连续执行的读取操作的数量NCR。
作为示例,OP[4]可指示切换模式TM。例如,当OP[4]的数据是“1”时,切换模式TM可处于激活状态。在这种情况下,存储模块1100可以以第二访问时间tCCD_S的间隔交替地对不同存储体组执行读取操作。作为另一示例,当OP[4]的数据是“0”时,切换模式TM可处于非激活状态。在这种情况下,存储模块1100可以以第一访问时间tCCD_L的间隔连续地针对同一存储体组的存储体执行读取操作。
图9A至图9B是用于描述根据一些实施例的操作S140中的预取读取命令PRD的传送操作的示例的示图。
在图9A中,当命令是DDR4的读取命令时,读取命令的各个信号(CAS_n、A17、A13、A11等)的逻辑值被示出。这里,“H”指示逻辑高,“L”指示逻辑低,“X”指示“H”或“L”,或者表示值未被限定(即,不关心)(诸如,浮动状态)。
如图9A中所示出的,信号A17、A13和A11可不在DDR4中被限定。在一些实施例中,预取读取命令PRD可使用未限定的A17、A13和A11信号中的任何一个而被传送。例如,预取读取命令PRD可使用具有1位的A17信号而被传送。由于预取读取命令PRD仅使用一个位,因此CMD总线的开销可被最小化。
在图9B中,当命令是DDR5的读取命令时,读取命令的各个信号(CS_n、CA0至CA12等)的逻辑值被示出。在图9B中,CID0和CID1可表示存储器裸片(或存储器芯片或存储器卡)的标识符。在一些实施例中,可使用CA9指示数字射频存储器DRFM信号。C2可以是列地址的位。
如图9B中所示出的,信号CA9、CA11和CA12可不在DDR5中被限定。在一些实施例中,预取读取命令PRD可使用未限定的CA9、CA11和CA12信号中的任何一个而被表示。由于预取读取命令PRD仅使用一个位,因此即使当存储器系统1000A支持DDR5时,CMD总线的开销也可被最小化。
图10和图11A至图11B是用于描述操作S150中的单个预取读取操作的示例的比较图。详细地,图10示出根据一些实施例的针对不同存储体组的单个预取读取操作。在图11A中,示出了相关技术的预取读取操作的时序图,并且在图11B中,通过示例的方式示出了根据一些实施例的单个预取读取操作的时序图。
参照图10,可响应于预取读取命令PRD来执行单个预取读取操作。当切换模式TM被启用时,交替地执行针对不同存储体组的读取操作,从而可执行单个预取读取操作。例如,假设执行“n”个连续读取操作。在这种情况下,可对第一存储体组BG1执行与第一高速缓存行CL1的数据大小对应的读取操作,并且此后,可对第二存储体组BG2执行与第二高速缓存行CL2的数据大小对应的读取操作。以这种方式,可在第一存储体组BG1与第二存储体组BG2之间交替地执行与第一高速缓存行CL1至第n高速缓存行CLn的数据大小对应的读取操作。
可以以列步长方案执行针对每个存储体组的读取操作。例如,当对第一存储体组BG1或第二存储体组BG2执行读取操作时,可在从左到右的一个方向上顺序地执行读取操作。
基于多个读取命令RD来执行相关技术的预取读取操作。例如,如图11A中所示出的,存储模块从主机接收“n”个读取命令,并且基于“n”个读取命令来执行“n”个读取操作。在这种情况下,在由邻近读取命令读取的数据之间可能存在间隙或时序气泡。例如,在由第一读取命令RD1读取的与第一高速缓存行CL1对应的数据和由第二读取命令RD2读取的与第二高速缓存行CL2对应的数据之间发生读取到读取间隙。这样的读取到读取间隙不仅不必要地消耗存储模块的DDR时钟,而且由于等待时间的增加而引起主机中的性能劣化。
如图11B中所示出的,根据一些实施例的单个预取读取操作可基于一个预取读取命令PRD而被执行。因此,防止了由于多个读取命令导致的读取到读取间隙的发生,并且因此,还可防止DDR时钟的不必要消耗和等待时间的增加。在一些实施例中,由于仅通过CMD总线传送一个命令PRD,因此还可防止接口上的命令总线的损耗。在一些实施例中,由于仅生成一个命令PRD而不需要生成多个读取命令,因此还可减少总功耗。
根据一些实施例的单个预取读取操作可以以各种方式实现。在下文中,将更详细地描述根据一些实施例的单个预取读取操作的各种修改。
图12A是示出根据一些实施例的支持针对不同存储体组的连续读取操作的单个预取读取操作的示例的示图。例如,在图12A中,可支持DDR4,突发长度BL可以是8,第二访问时间tCCD_S可以是4,并且读取延迟(在下文中,“RL”)可以是11。虽然未示出,但是可将1tCK(即,时钟信号CK_c的一个周期)或2tCK(即,时钟信号CK_c的两个周期)施加到前导码(preamble)。
参照图12A,在时间T0,预取读取命令PRD可通过CMD总线从主机1200(参照图1)提供给存储模块1100(参照图1)。在这种情况下,可一起提供目标地址。目标地址可包括目标存储体组的地址和目标存储体的地址。例如,目标存储体组可以是第一存储体组BG1,并且目标存储体地址可以是第一存储体列“Bank Col1”。
由于读取延迟RL是11,因此在当从时间T0经过11个时钟时的时间T11,针对第一存储体组BG1的数据(例如,Dout1至Dout8)可被读取。在这种情况下,读取数据的大小可对应于突发长度BL为8,并且可对应于高速缓存1220(参照图1)的高速缓存行CL的大小。
由于第二访问时间tCCD_S被设置为4,因此可基于4个时钟来改变执行读取操作的存储体组。例如,在当从时间T0经过4个时钟时的时间T4,执行读取操作的存储体组可从第一存储体组BG1改变为第二存储体组BG2。
由于读取延迟RL是11,因此在当从时间T4经过11个时钟时的时间T15,针对第二存储体组BG2的数据可被读取。在这种情况下,读取数据的大小可对应于突发长度BL为8,并且可对应于高速缓存1220(参照图1)的高速缓存行CL的大小。以这种方式,可以以高速缓存行CL为单位从第一存储体组BG1和第二存储体组BG2交替地读取数据。
在第一存储体组BG1和第二存储体组BG2中的每个中,可以以列步长方案读取数据。也就是说,在每个存储体组中,可在从左到右(或从右到左)的一个方向上顺序地选择列地址。因此,不需要除了目标地址之外的附加地址,并且因此,可防止接口上的命令总线的损耗和读取到读取间隙的发生。
图12B是示出根据一些实施例的支持针对不同存储体组的连续读取操作的单个预取读取操作的另一示例的示图。例如,在图12B中,可支持DDR4,突发长度BL可以是8,第二访问时间tCCD_S可以是4,并且读取延迟“RL”可以是11。同时,尽管未示出,但是可将1tCK或2tCK施加到前导码。图12A的单个预取读取操作和图12B的单个预取读取操作彼此相似。因此,为了简洁起见,下面将省略附加描述以避免冗余。
图12B的单个预取读取操作可支持运行中(OTF)模式。例如,在针对第一存储体组BG1的读取操作中,可读取与突发长度BL为8对应的数据,并且在针对第二存储体组BG2的读取操作中,可读取与突发斩波(或称为突发截断,burst chop)BC为4对应的数据。例如,可在时间T11至T15读取第一存储体组BG1的数据,并且可在时间T15至T17读取第二存储体组BG2的数据。
由于读取延迟RL是11并且第二访问时间tCCD_S被设置为4,因此在读取与突发斩波BC为4对应的数据之后,可不读取数据或者可读取虚设数据。例如,在时间T17至T19可不读取数据或者可读取虚设数据。
在这种情况下,在时间T11至T15读取的数据可对应于高速缓存1220的第一高速缓存行CL1,并且在时间T15至T19读取的数据可对应于高速缓存1220的第二高速缓存行CL2。
以这种方式,根据一些实施例的单个预取读取操作可支持针对不同存储体组的读取(BL8)到读取(BC4)OTF模式。
图12C是示出根据一些实施例的支持针对不同存储体组的连续读取操作的单个预取读取操作的另一示例的示图。例如,在图12C中,可支持DDR4,突发长度BL可以是8,第二访问时间tCCD_S可以是4,并且读取延迟“RL”可以是11。虽然未示出,但是可将1tCK或2tCK施加到前导码。图12C的单个预取读取操作和图12B的单个预取读取操作彼此相似。因此,为了简洁起见,下面将省略附加描述以避免冗余。
虽然图12B的单个预取读取操作支持读取(BL8)到读取(BC4)OTF模式,但是图12C的单个预取读取操作可支持读取(BC4)到读取(BL8)OTF模式。
例如,可在时间T11至T13读取第一存储体组BG1的数据,并且可在时间T15至T19读取第二存储体组BG2的数据。在时间T13至T15可不读取数据或者可读取虚设数据。在这种情况下,在时间T11至T15读取的数据可对应于高速缓存1220的第一高速缓存行CL1,并且在时间T15至T19读取的数据可对应于高速缓存1220的第二高速缓存行CL2。
以这种方式,根据一些实施例的单个预取读取操作可支持针对不同存储体组的读取(BC4)到读取(BL8)OTF模式。
图12D是示出根据一些实施例的支持针对不同存储体组的连续读取操作的单个预取读取操作的另一示例的示图。例如,在图12D中,可支持DDR4,突发长度BL可以是8,第二访问时间tCCD_S可以是4,并且读取延迟“RL”可以是11。虽然未示出,但是可将1tCK或2tCK施加到前导码。图12D的单个预取读取操作和图12A的单个预取读取操作彼此相似。因此,为了简洁起见,下面将省略附加描述以避免冗余。
图12D的单个预取读取操作可支持数据总线反转(DBI)模式。例如,在图12D中,数据总线反转时间tDBI可以是2。DBI表示当将被发送的数据中的“0”的数量大于“1”的数量时通过利用当发送数据“1”时功耗低的事实来对每个数据位进行反转并发送的功能。为此,可附加地提供DBI_n引脚。这样,根据一些实施例的单个预取读取操作还可支持针对不同存储体组的DBI模式。
图12E是示出根据一些实施例的支持针对不同存储体组的连续读取操作的单个预取读取操作的另一示例的示图。例如,在图12E中,可支持DDR5,并且突发长度BL可以是16。图12E的单个预取读取操作和图12A的单个预取读取操作彼此相似。因此,为了简洁起见,下面将省略附加描述以避免冗余。
参照图12E,从时间t0到时间t1,可通过CMD总线将单个预取读取命令PRD从主机1200提供给存储模块1100。在这种情况下,在时间t0,可一起提供目标地址。目标地址可包括目标存储体组的地址和目标存储体的地址。可基于预取读取命令PRD和目标地址来执行针对第一存储体组BG1的读取操作。在一些实施例中,可使用CA0至CA13中的任何一个提供WR_P、CA、BL和AP中的任何一个。
当经过第二访问时间tCCD_S时,目标存储体组可从第一存储体组BG1改变为第二存储体组BG2。此后,可对第二存储体组BG2执行读取操作。
在第一存储体组BG1和第二存储体组BG2中的每个中,可以以列步长方案读取数据。以这种方式,根据一些实施例的单个预取读取操作也可应用于DDR5。
图12F是示出根据一些实施方案的支持针对同一存储体组的连续读取操作的单个预取读取操作的另一示例的示图。例如,在图12F中,可支持DDR5,并且突发长度BL可以是16。图12F的单个预取读取操作和图12E的单个预取读取操作彼此相似。因此,为了简洁起见,下面将省略附加描述以避免冗余。
与对不同存储体组执行读取操作的图12E不同,可对同一存储体组的存储体执行图12F的读取操作。例如,当切换模式TM被禁用时,可执行针对单个存储体组的读取操作。
在这种情况下,可基于与第一访问时间tCCD_L对应的脉冲宽度来执行针对同一存储体组的连续读取操作。作为示例,第一访问时间tCCD_L可被设置为长于图12E的第二访问时间tCCD_S。在一些实施例中,可以以列步长方案执行针对选择的存储体组的读取操作的顺序。
这样,根据一些实施例的单个预取读取操作可应用于同一存储体组。
图13是示出根据一些实施例的存储器系统1000B的示例的框图。图13的存储器系统1000B类似于图1的存储器系统1000A。因此,使用相同或相似的参考标号表示相同或相似的组件,并且下面将省略附加描述以避免冗余。
参照图13,存储器系统1000B可包括存储模块1100和主机1200_1。主机1200_1包括处理器1210、高速缓存1220、预取大小决定模块1230和系统地址映射管理器1240,并且存储模块1100包括存储器装置1110和存储器控制器1120。
与图1的存储器系统1000A相比,图13的存储器系统1000B还可包括系统地址映射管理器1240。系统地址映射管理器1240可被配置为管理与从存储模块1100接收到的数据相关联的地址信息。系统地址映射管理器1240可配置系统地址映射。系统地址映射管理器1240可参照系统地址映射来解释从存储模块1100接收到的数据。因此,针对从存储模块1100接收到的数据的准确解释是可能的,从而可提高存储器系统1000B的总体性能。
图14是示出根据一些实施例的由系统地址映射管理器1240配置的系统地址映射的示例的示图。图14示出与针对不同存储体组的单个预取读取操作对应的系统地址映射。在图14中,C0至C4可以是列地址的位,R2和R3可以是行地址的位。
参照图14,可沿列步长方向从右到左顺序地配置系统地址映射。在一些实施例中,为了反映在存储器装置1110中基于高速缓存行CL的大小或第二访问时间tCCD_S交替地选择存储体组BG,系统地址映射还可指示基于高速缓存行CL的大小或第二访问时间tCCD_S来交替地选择存储体组。例如,假设高速缓存行CL的大小是64字节,并且在存储模块1100中连续执行10个读取操作。在这种情况下,系统地址映射可被配置为指示存储体组在目标地址、目标地址+0x40、目标地址+0x80、目标地址+0xC0、目标地址+0x100、目标地址+0x140、目标地址+0x180、目标地址+0x1C0、目标地址+0x200、目标地址+0x240处改变。
这样,系统地址映射包括关于从存储模块1100接收到的数据的地址的信息,并且因此,从存储模块1100接收到的数据的准确解释是可能的,从而可提高存储器系统1000B的总体性能。
根据一些实施例,存储模块可通过根据工作负载动态地确定将被预取的数据的大小并且仅发送一个预取读取命令来防止读取到读取间隙的发生。因此,可提高存储器系统的性能。
以上描述是用于执行本公开的具体实施例。设计被简单地改变或者被容易地改变的实施例可被包括在本公开和上述实施例中。在一些实施例中,通过使用以上实施例容易地改变和实现的技术可包括在本公开中。虽然已经参照本公开的实施例描述了本公开,但是对于本领域技术人员将清楚的是,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可对其做出各种改变和修改。
Claims (20)
1.一种操作存储模块的方法,包括:
基于从主机接收到的关于预取大小的信息来设置特性值;并且
基于从主机接收到的一个预取读取命令,以高速缓存行为单位对存储模块执行连续读取操作。
2.根据权利要求1所述的方法,其中,执行连续读取操作的步骤包括:
基于访问时间,针对多个存储体组之中的不同存储体组连续地执行连续读取操作。
3.根据权利要求2所述的方法,其中,针对不同存储体组连续地执行连续读取操作的步骤包括:
针对所述多个存储体组中的第一存储体组读取与高速缓存行的大小对应的数据;并且
以所述访问时间的间隔,针对所述多个存储体组中的不同于第一存储体组的第二存储体组读取与高速缓存行的大小对应的数据。
4.根据权利要求3所述的方法,其中,针对第一存储体组和第二存储体组的读取操作基于列步长方案在一个方向上被顺序地执行。
5.根据权利要求2所述的方法,其中,针对不同存储体组连续地执行连续读取操作的步骤包括:
针对所述多个存储体组中的第一存储体组读取第一大小的数据;以及
以所述访问时间的间隔,针对所述多个存储体组中的不同于第一存储体组的第二存储体组读取小于第一大小的第二大小的数据,并且
其中,第一大小是与高速缓存行的大小相同的大小。
6.根据权利要求2所述的方法,其中,针对不同存储体组连续地执行连续读取操作的步骤包括:
针对所述多个存储体组中的第一存储体组读取第一大小的数据;以及
以所述访问时间的间隔,针对所述多个存储体组中的不同于第一存储体组的第二存储体组读取大于第一大小的第二大小的数据,并且
其中,第二大小是与高速缓存行的大小相同的大小。
7.根据权利要求1所述的方法,其中,执行连续读取操作的步骤包括:
基于访问时间,针对同一存储体组的存储体连续地执行连续读取操作。
8.根据权利要求1所述的方法,其中,所述一个预取读取命令使用“1”个位来实现。
9.根据权利要求1所述的方法,其中,所述特性值包括与将被连续执行的连续读取操作的数量相关的特性值。
10.根据权利要求9所述的方法,其中,所述特性值包括与将对多个存储体组中的同一存储体组执行读取操作还是将对所述多个存储体组中的不同存储体组执行读取操作相关的特性值。
11.根据权利要求1至10中的任何一项所述的方法,其中,通过模式寄存器设置命令或模式寄存器写入命令从主机传送关于预取大小的信息,并且
其中,在用于设置特性值的更新延迟期间,不从主机发送非设置命令。
12.一种存储模块,包括:
存储器装置,包括易失性存储器;以及
存储器控制器,被配置为控制存储器装置,并且
其中,存储器控制器包括:
控制模块,被配置为对从主机接收到的设置命令进行解码以识别关于预取大小的信息,并且基于预取大小确定将被连续执行的读取操作的数量;以及
寄存器,被配置为存储关于将被连续执行的读取操作的数量的信息。
13.根据权利要求12所述的存储模块,其中,存储器装置包括多个存储体组,
其中,控制模块对设置命令进行解码,以识别关于与所述多个存储体组中的将被执行读取操作的存储体组相关的切换模式的信息,并且
其中,寄存器存储关于切换模式的信息。
14.根据权利要求13所述的存储模块,其中,控制模块基于从主机接收到的一个预取读取命令输出用于对存储器装置执行读取操作的控制信号,并且
其中,控制信号基于关于将被连续执行的读取操作的数量的信息和关于切换模式的信息而被生成。
15.根据权利要求14所述的存储模块,其中,当切换模式被启用时,存储器装置基于控制信号对所述多个存储体组中的不同存储体组交替地执行读取操作。
16.根据权利要求15所述的存储模块,其中,针对不同存储体组中的每个存储体组的读取操作基于列步长方案而被执行。
17.根据权利要求14所述的存储模块,其中,当切换模式被禁用时,存储器装置基于控制信号对所述多个存储体组中的同一存储体组的存储体连续地执行读取操作。
18.一种存储器系统,包括:
主机,被配置为确定将被预取到高速缓存中的高速缓存行的数量;以及
存储模块,包括易失性存储器,并且被配置为从主机接收高速缓存行的数量并且基于高速缓存行的数量来确定将被连续执行的读取操作的数量,
其中,存储模块基于从主机接收到的一个预取读取命令以高速缓存行为单位连续地执行读取操作。
19.根据权利要求18所述的存储器系统,其中,主机包括:
处理器;
高速缓存,被分配给处理器;以及
预取大小决定模块,被配置为基于将由处理器执行的工作负载来确定将被预取的高速缓存行的数量。
20.根据权利要求19所述的存储器系统,其中,主机还包括:
系统地址映射管理器,被配置为管理与从存储模块接收到的数据相关联的地址信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0087189 | 2022-07-14 | ||
KR1020220087189A KR20240009812A (ko) | 2022-07-14 | 2022-07-14 | 프리페치 기능을 지원하는 스토리지 모듈 및 그것의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117407323A true CN117407323A (zh) | 2024-01-16 |
Family
ID=87245591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310865352.2A Pending CN117407323A (zh) | 2022-07-14 | 2023-07-14 | 操作存储模块的方法、存储模块和存储器系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240020235A1 (zh) |
EP (1) | EP4307128A1 (zh) |
KR (1) | KR20240009812A (zh) |
CN (1) | CN117407323A (zh) |
TW (1) | TW202403750A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160092383A1 (en) * | 2014-09-26 | 2016-03-31 | Kuljit S. Bains | Common die implementation for memory devices |
US9870325B2 (en) * | 2015-05-19 | 2018-01-16 | Intel Corporation | Common die implementation for memory devices with independent interface paths |
JP2016218721A (ja) * | 2015-05-20 | 2016-12-22 | ソニー株式会社 | メモリ制御回路およびメモリ制御方法 |
US20160378366A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Internal consecutive row access for long burst length |
KR102412609B1 (ko) * | 2017-11-03 | 2022-06-23 | 삼성전자주식회사 | 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법 |
US10372330B1 (en) * | 2018-06-28 | 2019-08-06 | Micron Technology, Inc. | Apparatuses and methods for configurable memory array bank architectures |
KR20200039930A (ko) * | 2018-10-08 | 2020-04-17 | 삼성전자주식회사 | 인-메모리 프리페칭을 수행하는 메모리 장치 및 이를 포함하는 시스템 |
-
2022
- 2022-07-14 KR KR1020220087189A patent/KR20240009812A/ko unknown
-
2023
- 2023-04-25 US US18/139,112 patent/US20240020235A1/en active Pending
- 2023-05-05 TW TW112116705A patent/TW202403750A/zh unknown
- 2023-07-11 EP EP23184639.5A patent/EP4307128A1/en active Pending
- 2023-07-14 CN CN202310865352.2A patent/CN117407323A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
TW202403750A (zh) | 2024-01-16 |
US20240020235A1 (en) | 2024-01-18 |
EP4307128A1 (en) | 2024-01-17 |
KR20240009812A (ko) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790981B2 (en) | Method of performing internal processing operation of memory device | |
CN107068175B (zh) | 易失性存储器设备、其信息提供方法及其刷新控制方法 | |
US8281101B2 (en) | Dynamic random access memory with shadow writes | |
JP2007527592A (ja) | Dramの部分的リフレッシュのための方法及び装置 | |
KR20160116533A (ko) | 리프레쉬 동작을 관리하는 메모리 콘트롤러, 메모리 시스템 및 그 동작방법 | |
NL2030989B1 (en) | Two-level main memory hierarchy management | |
US9449673B2 (en) | Memory device and memory system having the same | |
US7328311B2 (en) | Memory controller controlling cashed DRAM | |
US20170147230A1 (en) | Memory device and memory system having heterogeneous memories | |
US11449441B2 (en) | Multi-ported nonvolatile memory device with bank allocation and related systems and methods | |
JP2022094912A (ja) | ソリッドステートドライブの永続性メモリ内の論理‐物理アドレス間接参照テーブル | |
US6829195B2 (en) | Semiconductor memory device and information processing system | |
EP1248267A2 (en) | Semiconductor memory device and information processing system | |
US7080217B2 (en) | Cycle type based throttling | |
US7536519B2 (en) | Memory access control apparatus and method for accomodating effects of signal delays caused by load | |
EP4307128A1 (en) | Storage module supporting prefetch function and operation method thereof | |
JPH08328949A (ja) | 記憶装置 | |
US20240020234A1 (en) | Storage module supporting single serialized write interfacing scheme and operation method thereof | |
US11797450B2 (en) | Electronic device, system-on-chip, and operating method thereof | |
US11887692B2 (en) | Electronic device, operation method of host, operation method of memory module, and operation method of memory device | |
US20240012755A1 (en) | Memory system and operating method thereof | |
JP2002260385A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |