CN118113625A - 地址解码方法以及存储器控制器和半导体存储系统 - Google Patents
地址解码方法以及存储器控制器和半导体存储系统 Download PDFInfo
- Publication number
- CN118113625A CN118113625A CN202311597996.4A CN202311597996A CN118113625A CN 118113625 A CN118113625 A CN 118113625A CN 202311597996 A CN202311597996 A CN 202311597996A CN 118113625 A CN118113625 A CN 118113625A
- Authority
- CN
- China
- Prior art keywords
- address
- offset
- bank
- command
- row
- 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
- 239000004065 semiconductor Substances 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims description 14
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 28
- 238000010586 diagram Methods 0.000 description 23
- 230000000630 rising effect Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 4
- 230000004913 activation Effects 0.000 description 4
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 2
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 2
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 101100004188 Arabidopsis thaliana BARD1 gene Proteins 0.000 description 1
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
半导体存储系统包括:存储设备,包括多个存储体;以及存储器控制器,基于第一请求生成多个存储体中的第一存储体的偏移地址和指示偏移地址的命令。存储设备根据命令通过将偏移地址添加到第一存储体的基地址来生成第一地址,并且根据命令对第一存储体的第一地址执行存储操作。
Description
相关申请的交叉引用
本申请要求于2022年11月30日向韩国知识产权局提交的第10-2022-0164892号韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
本公开涉及地址解码方法以及使用该方法的存储器控制器和半导体存储系统。
背景技术
半导体存储设备的带宽和操作频率不断增加。随着操作频率的增加,与操作频率成比例的待机功率也在增加。需要一种能够减少半导体存储设备中使用的待机功率的技术。
发明内容
一方面提供了一种与可以通过减少待机功率以低功率驱动的半导体存储设备相关的技术。
根据一个或多个实施例的一方面,提供一种半导体存储系统,包括:存储设备,包括多个存储体;以及存储器控制器,被配置为基于第一请求生成多个存储体中的第一存储体的偏移地址和指示偏移地址的命令,其中,存储设备被配置为根据命令通过将偏移地址添加到第一存储体的基地址来生成第一地址,并根据命令对第一存储体的第一地址执行存储操作。
根据一个或多个实施例的另一方面,提供一种存储器控制器,包括:多个存储体队列,分别对应于存储设备的多个存储体,多个存储体队列中的每一个存储多个请求;以及多个存储体调度器,分别对应于多个存储体队列,多个存储体调度器中的每一个在多个存储体队列中的对应一个中调度多个请求的处理顺序,其中,当与当前请求相对应的地址与多个存储体中的对应存储体中最后被驱动的存储区域的最后地址之间的差在偏移范围内时,多个存储体调度器中的每一个根据差生成偏移地址。
根据一个或多个实施例的再一方面,提供一种地址解码方法,包括:对命令进行解码;当命令指示地址包括偏移行地址时,通过将偏移行地址添加到对应于所述地址的存储体中最后被驱动的存储行的基行地址来生成行地址;以及当命令指示地址包括偏移列地址时,通过将偏移列地址添加到对应于所述地址的存储体中最后被驱动的存储列的基列地址来生成列地址。
附图说明
图1是根据一些实施例的半导体存储系统的示例性框图。
图2是示出根据一些实施例的半导体存储设备的框图。
图3是示出根据一些实施例的存储器控制器的框图。
图4是示出根据一些实施例的地址解码器的框图。
图5是示出根据一些实施例的存储设备的地址解码方法的流程图。
图6是示意性地示出根据一些实施例的多个存储体中的某个存储体的存储单元阵列的部分的图。
图7是示出根据一些实施例的存储设备的多个引脚的图。
图8是示出根据一些实施例的用于基于可变偏移量的命令的命令分隔符的波形图。
图9是示出根据一些实施例的用于基于固定偏移量的命令的命令分隔符的波形图。
图10是示出根据一些实施例的偏移寻址模式下的命令发送与完整寻址模式下的命令发送的比较的波形图。
图11是示出根据一些实施例的计算系统的示例性框图。
具体实施方式
在下文中,将参考附图详细描述各种实施例,使得本领域技术人员能够容易地执行各种实施例。然而,本公开可以以各种不同的形式来体现,并且不限于本文所阐述的各种实施例。
此外,为了清楚地描述各种实施例,在附图中省略了与描述无关的部分,并且在整个说明书中,相同的附图标记附于相同的部分。在参考附图描述的流程图中,可以改变操作的顺序,可以合并几个操作,可以划分特定操作,和/或可以不执行特定操作。
此外,以单数形式描述的表达可以被解释为单数或复数,除非使用了“一个”或“单个”等明确表达。包括诸如“第一”和“第二”的序数的术语可以用于描述各种元件,但这些元件不受这些术语的限制。这些术语可以仅用于区分一个元件与另一元件。换言之,术语“第一”和“第二”并不表示任何顺序,而仅用于区分一个元件和另一元件。此外,在本说明书中使用的短语“A和B中的至少一个”在其范围内包括“仅A”、“仅B”和“A和B”。
图1是根据一些实施例的半导体存储系统的示例性框图。
参考图1,半导体存储系统100包括存储设备110和存储器控制器120。存储设备可以是半导体存储设备。
存储器控制器120可以根据通过存储器控制器120和存储设备110之间的总线发送的请求来访问存储设备110。应注意,存储器控制器120与存储设备110之间的总线不同于图1中标记并在下文中描述的系统总线。数据信号DQ和数据选通信号DQS可以通过存储设备110和存储器控制器120之间的总线来发送和接收,并且命令CMD、地址ADDR和时钟CLK可以从存储器控制器120被发送到存储设备110。
存储设备110包括控制逻辑电路111、地址解码器112和多个存储体113(在适当的情况下也称为存储体1、存储体2至存储体n)。多个存储体113中的每一个可以包括存储单元阵列114。存储单元阵列114可以包括连接到多个行和多个列的多个存储单元。在一些示例性实施例中,行可以由字线定义,列可以由位线定义。
当从存储器控制器120接收的地址是偏移地址时,地址解码器112可以基于最后地址和偏移地址生成完整地址。地址ADDR可以包括行地址和列地址中的一个以及存储体地址。偏移地址可以是指在当前时间要驱动的存储区域的地址(行或列)与由地址ADDR指示的存储体的基地址的差。基地址可以被设置为存储体中最后被驱动的存储区域的地址(行或列)。偏移地址可以是偏移行地址、偏移列地址或偏移行地址和偏移列地址的组合中的一个。地址解码器112生成的完整地址可以是由地址ADDR指示的存储体中的行地址、列地址或行地址和列地址的组合中的一个。存储区域可以包括至少一个存储单元。
地址解码器112可以通过解码命令CMD获得关于地址ADDR是偏移地址还是完整地址的信息。地址解码器112可以包括地址表,地址表存储关于对多个存储体113中的每一个最后驱动的行和列的信息作为基地址。换言之,对于多个存储体113中的每一个,地址表可以存储最后为存储体驱动的基行地址和最后为存储体驱动的基列地址。
尽管在图1中示出了控制逻辑电路111和地址解码器112是分离的,但是在一些实施例中,地址解码器112可以被实现为控制逻辑电路11的一个组件。例如,存储设备110可以进一步包括地址缓冲器,且当在地址缓冲器中接收的地址是偏移地址时,控制逻辑电路111可通过将最后地址添加到在地址缓冲器内接收的地址来生成完整地址。
存储器控制器120可以通过系统总线从一个或多个处理器和I/O设备接收多个请求,并且响应于多个请求中的每一个通过总线将数据写入存储设备110,或者通过总线发送从存储设备110读取的数据。存储器控制器120可以根据地址映射策略将多个请求中的每一个转换为第一地址,根据预定规则将多个请求中的每一个调度到多个存储体中的对应存储体,并且为多个请求的每一个生成一个或多个命令CMD。当对应于每个存储体的当前请求的第一地址相对于与恰在当前请求之前的最后请求对应的第二地址在偏移范围内时,存储器控制器120可以生成相对于第二地址的对应于第一地址的偏移地址(偏移寻址模式)。否则,存储器控制器120可以按原样使用第一地址(完整寻址模式)。
存储器控制器120可以对特定请求生成偏移地址,并根据偏移地址生成指示存储操作的命令CMD。存储器控制器120可以调度与多个存储体相对应的多个命令CMD,并且根据调度将多个命令CMD中的每一个和与其相对应的地址ADDR提供给存储设备110。命令CMD可以指示地址ADDR是完整地址还是偏移地址。在以下描述中,“地址”或“完整地址”是指在完整寻址模式下定义的某个存储体中的存储区域的地址,“完整行地址”或“行地址”是指在完整寻址模式下的存储行的地址,并且“完整列地址”或“列地址”是指在完整寻址模式下的存储列的地址。“偏移地址”是指在偏移寻址模式下定义的某个存储体中的存储区域的地址,“偏移行地址”是指在偏移寻址模式下的存储行的地址,并且“偏移列地址”是指偏移寻址模式下的存储列的地址。
根据命令CMD和地址ADDR,存储设备110可以访问多个存储体113中的对应一个的存储单元阵列114,并执行诸如读取操作或写入操作的存储操作。存储设备110可以基于时钟信号CLK生成时钟信号,并使用生成的时钟信号控制读取和写入操作。在读取操作期间,从多个存储体113的存储单元阵列114读取的数据可以被实现为数据信号DQ,并且数据信号DQ可以被发送到存储器控制器120。在写入操作期间,从存储器控制器120发送的数据信号DQ可以作为数据被写入存储单元阵列114。用于控制读取和写入操作的数据选通信号DQS可以从存储器控制器120提供给存储设备110。
命令CMD可以包括激活命令、读/写命令、刷新命令等。在一些示例性实施例中,激活命令可以是用于将多个存储体113中的某个存储体的存储单元阵列114的目标行切换到激活状态以将数据写入存储单元阵列112或从存储单元阵列14读取数据的命令。响应于激活命令,可以激活(例如,驱动)目标行中的存储单元。读/写命令可以是用于对切换到激活状态的行中的目标存储单元执行读取或写入操作的命令。
存储设备110可以是基于半导体设备的储存设备。在一些实施例中,存储设备110可以包括动态随机存取存储器(DRAM)、双倍数据速率4(DDR4)、同步DRAM(SDRAM)、低功率DDR4(LPDDR4)、SDRAM、LPDDR5 SDRAM等。在一些实施例中,存储设备110可以包括非易失性存储设备,诸如NAND或3D垂直NAND。
图2是示出根据一些实施例的半导体存储设备的框图。
参考图2,存储设备200包括多个存储单元阵列210、多个读出放大器211、控制逻辑电路220、地址解码器230、地址缓冲器235、存储体控制逻辑240、多个行解码器250、多个列解码器260、输入/输出(I/O)门控电路270和数据输入/输出电路280。在一些实施例中,存储设备200可以对应于图1中的存储设备110。
多个存储单元阵列210中的每一个包括多个存储单元MC。多个存储单元阵列210中的每一个可以包括多个行、多个列以及多个存储区域,其中,多个行和多个列彼此相交。多个存储区域中的每一个可以包括至少一个存储单元MC。在根据一些示例性实施例的存储单元阵列210中,多个行中的每行可以由多个字线WL中的每一个定义,多个列中的每列可以由至少一个对应的位线BL定义。
控制逻辑电路220控制存储设备200的操作。例如,控制逻辑电路220可以生成控制信号,使得存储设备200执行读取操作、写入操作、ZQ校准操作等。在一些实施例中,控制逻辑电路220可以通过对命令CMD进行解码生成控制信号。
地址缓冲器235可以接收并存储从存储器控制器120提供的地址ADDR。尽管在图2中示出了地址缓冲器235是与地址解码器230分离的组件,但是本发明不限于此。地址缓冲器235可以在地址解码器230内部实现。地址ADDR可以是指示存储单元阵列210中的某一行的行地址或者指示存储单元数组210中的至少两列的列地址。列地址可以基于数据总线为单位以对应于多个列的位线BL为单位来定义。例如,在具有4位数据总线的半导体存储系统中,可以以四个位线为单位定义列地址。在下文中,存储行可以被定义为字线,并且存储列可以以对应于数据总线的位数的位线为单位来定义。
地址解码器230可以从存储器控制器120接收命令CMD。地址解码器230可以通过对命令CMD进行解码来确定从存储器控制器120提供给存储设备110的地址ADDR是某个存储体的偏移地址还是完整地址。具体地,地址解码器230可以通过对命令CMD进行解码来识别地址ADDR是某个存储体的完整行地址、完整列地址、偏移行地址和偏移列地址中的哪一个。在一些实施例中,控制逻辑电路220可以通过对命令CMD进行解码来识别从存储器控制器120接收的地址ADDR是某个存储体的完整行地址、完整列地址、偏移行地址和偏移列地址中的哪一个,并且向地址解码器230提供指示识别结果的信息。在以下公开中,将假定地址解码器230通过解码命令CMD来识别地址ADDR的类型。
当命令CMD指示偏移行地址时,地址ADDR是某个存储体的偏移行地址,并且可以指示这次要被驱动的存储行与在某个存储体中最后(即,紧接之前)被驱动的存储行的差。地址解码器230可以基于存储在地址缓冲器235中的偏移行地址和某个存储体的最后一个行地址来生成作为完整地址的行地址RA。
当命令CMD指示偏移列地址时,地址ADDR是某个存储体的偏移列地址,并且可以指示这次要被驱动的存储列与在某个存储体中最后(即,紧接在前)被驱动的存储列的差。地址解码器230可以基于存储在地址缓冲器235中的偏移列地址和存储体的最后一个列地址来生成作为完整地址的列地址CA。当命令CMD指示完整地址时,地址解码器230可以按原样输出作为存储在地址缓冲器235中的地址ADDR的行地址RA或列地址CA。
地址解码器230可以将行地址RA提供给行地址复用器251,并将列地址CA提供给列解码器260。
在一些实施例中,存储器控制器120可以将指示多个存储体中与地址ADDR相对应的存储体的存储体地址提供给存储设备200,并且地址解码器230可以将存储体地址BA提供给存储体控制逻辑240。
根据存储体地址BA,存储体控制逻辑240可以激活多个行解码器250中对应于存储体地址BA的行解码器250,并且激活多个列解码器260中对应于存储体地址BA的列解码器260。在一些实施例中,可以提供与多个存储单元阵列210a至210h相对应的多个行解码器250a至250h和多个列解码器260a至260h。在一些实施例中,存储体可以包括存储单元阵列以及驱动存储单元阵列的行解码器和列解码器。多个存储体300可以包括八个存储体300a至300h。存储体300a可以包括存储单元阵列210a、行解码器250a和列解码器260a,并且存储体300h可以包括存储单元阵列210h、行解码器250h和列解码器260h。
在一些实施例中,存储设备200可以进一步包括行地址复用器251和刷新控制电路290,且刷新控制电路290可以在控制逻辑电路220的控制下依次输出待刷新的行地址REF_RA。行地址复用器251可以接收来自地址解码器230的行地址RA和来自刷新控制电路290的要刷新的行地址REF_RA。行地址复用器251可以选择性地将从地址解码器230接收的行地址RA和从刷新控制电路290接收的行地址REF_RA输出到行解码器250。
行解码器250基于由存储体地址BA指示的存储体中的行地址,从存储单元阵列210的多个行中选择要激活的行。为此,行解码器250可以将驱动电压施加到与要激活的列相对应的字线。
列解码器260基于由存储体地址BA指示的存储体中的列地址,从存储单元阵列210的多个列中选择要激活的列。为此,列解码器260可以通过I/O门控电路270激活与列地址CA相对应的读出放大器211。
在一些实施例中,I/O门控电路270可以输入和输出数据进行门控,并且可以包括用于存储从存储单元阵列210读取的数据的数据锁存器和用于将数据写入存储单元阵列的写入驱动器。从存储单元阵列210读取的数据可以由读出放大器211读出并被存储在I/O门控电路270(例如,数据锁存器)中。在一些示例性实施例中,可以提供分别对应于多个存储体300a至300h的多个读出放大器211a至211h。
在一些实施例中,从存储单元阵列210读取的数据(例如,存储在数据锁存器中的数据)可以通过数据I/O电路280被提供给存储器控制器120。可以将要写入存储单元阵列210的数据从存储器控制器120提供给数据I/O电路280,并且可以将提供给数据I/O电路280的数据提供给I/O门控电路270。
数据I/O电路280可以使用通过总线从存储器控制器120接收的数据选通信号DQS生成时钟信号,根据时钟信号将存储在存储单元阵列210中的数据中输入到数据I/O电路的数据转换为数据信号DQ,并将数据信号DQ提供给存储器控制器120。数据I/O电路280可以使用通过总线从存储器控制器120接收的数据选通信号DQS生成时钟信号,并且通过对从存储器控制器120提供的数据信号DQ进行采样和放大来生成要写入存储单元阵列210的数据。
在以下描述中,偏移地址可以指示偏移行地址和偏移列地址中的至少一个,并且完整地址可以指示完整行地址和完整列地址中至少一个。
图3是示出根据一些实施例的存储器控制器的框图。
存储器控制器120可以包括地址映射逻辑121、多个存储体队列122_1至122_n、多个存储体调度器123_1至123_n、多个命令寄存器124_1至124_n以及信道调度器125。
地址映射逻辑121可以根据地址映射策略将多个请求中的每一个转换为地址。地址映射策略可以被实现为例如交错存储体或私有存储体等,或者被实现为两个或多个地址映射策略的组合。地址映射逻辑121可以根据考虑诸如在JEDEC的特定协议中定义的定时约束和处理请求的效率而建立的规则,将多个请求中的每一个分配给多个存储体调度器123_1至123_n中的对应一个,并且将每个请求排队在与由对应于该请求的地址定义的存储体相对应的存储体队列(存储体队列122_1至122_n中的一个)中。多个存储体队列122_1至122_n的数量可以等于构成存储设备110的多个存储体(BANK1到BANKn)的数量。
多个存储体调度器123_1至123_n中的每一个可以调度用于存储在对应的存储体队列(存储体队列122_1至122_n中的一个)中的多个请求的处理顺序,并且根据调度顺序将多个请求生成为多个命令。多个存储体调度器123_1至123_n中的每一个可以将根据调度顺序对应于当前请求的地址与在对应存储体中最后驱动的存储区域的最后地址进行比较。当两个地址之间的差在设置的偏移范围内时,多个存储体调度器123_1至123_n中的每一个可以根据与当前请求相对应的地址与最后地址之间的差来生成偏移地址。多个存储体调度器123_1至123_n中的每一个可以将与当前请求相对应的地址更新为最后地址。当与特定请求相对应的地址被生成为偏移地址时,多个存储体调度器123_1至123_n中的每一个可以生成指示请求的偏移地址的命令。使用完整地址的命令和使用偏移地址的命令可以通过命令分隔符彼此区分。命令分隔符可以包括定义指示存储设备110的存储操作的对应命令的代码。可以通过使用从存储器控制器120提供给存储设备110的各种信号来实现代码。当两个地址之间的差不在设置的偏移范围内时,多个存储体调度器123_1至123_n中的每一个可以生成与当前请求相对应的地址作为完整地址。多个存储体调度器123_1至123_n中的每一个可以将如上所述生成的地址和命令提供给多个命令寄存器124_1至124_n中每一个。
多个存储体调度器123_1至123_n中的每一个可以根据设置策略来确定多个请求的处理顺序。设置策略可以包括考虑行命中等的打开页方法。在一些实施例中,除了设置策略之外,多个存储体调度器123_1至123_n中的每一个可以取决于用于每个请求的地址是否可以被生成为偏移地址来确定在对应的存储体队列中排队的多个请求的处理顺序。例如,多个存储体调度器123_1至123_n中的每一个可以给予地址ADDR作为偏移地址提供给存储设备110的请求高于地址ADDR可以作为完整地址提供给存储设备110的请求的优先级。然后,对应于完整地址的请求可以被改变为对应于偏移地址的请求。在一些实施例中,在缓冲器未命中的情况下,其中在存储体中不存在与当前请求相对应的激活存储行,当每个存储体的最后活动的存储行的地址和对应于当前请求的地址之间的差在预定偏移范围内时,多个存储体调度器123_1至123_n中的每一个可以给予当前请求高于对应存储体队列中的其它请求的优先级,并且生成当前请求的地址与最后活动的存储行的地址之间的差作为偏移地址。
信道调度器125可以监视存储在多个命令寄存器124_1至124_n中的多个存储体的多个命令,在满足所需信道实时约束条件的所有命令中选择具有最高优先级的命令CMD,并且将选择的命令CMD和地址ADDR一起发送到存储设备110。信道调度器125可以在存储在多个命令寄存器124_1至124_n中的多个命令中选择具有最高优先级的命令CMD,并且将选择的命令CMD与地址ADDR一起发送到存储设备110。在这种情况下,地址ADDR可以包括偏移地址和存储体地址,或者可以包括完整地址和存储体地址。
以这种方式,存储器控制器120可以通过存储体调度和信道调度来确定用于多个接收请求的访问序列,并且根据确定的访问序列向存储设备200提供命令CMD和地址ADDR。
多个存储体调度器123_1至123_n可以包括寄存器126_1至126_n,每个寄存器存储在对应存储体中最后驱动的存储区域的最后地址。信道调度器125可以向与发送到存储设备110的命令CMD和地址ADDR相对应的存储体调度器(存储体调度器123_1至123_n中的一个)发送命令处理信号,以通知命令已经被处理。例如,信道调度器125可以向存储体调度器123_i(其中,i是从1到n的整数之一)发送命令处理信号,并且存储体调度器123_i可以将与由信道调度器125处理的命令相对应的地址记录在最后地址寄存器126_i中。此时,地址可能是完整地址。也就是说,在多个存储体调度器123_1至123_n中从信道调度器125接收命令处理信号的存储体调度器123_i可以将与处理的命令相对应的完整地址存储在最后地址寄存器126_i中。
存储器控制器120可以进一步包括读取数据缓冲器128和写入数据缓冲器129。读取数据缓冲器128可以存储从存储设备110提供的读取数据,并且响应于外部请求将读取数据提供给总线。写入数据缓冲器129存储通过总线提供的写入数据,并且可以响应于外部请求将写入数据提供给存储设备110。
在下文中,将参考图4来描述地址解码器。
图4是示出根据一些实施例的地址解码器的框图。
如图4所示,地址解码器230可以包括地址表231、行/列选择器232、地址求和器233、地址复用器(MUX)234、地址解复用器(DEMUX)236和解码控制逻辑237。
解码控制逻辑237可以接收地址ADDR和命令CMD,通过解码命令CMD来识别地址ADDR是偏移地址还是完整地址,并且基于识别结果生成用于控制地址MUX 234的地址选择信号ASS。解码控制逻辑237可以从地址ADDR导出存储体地址BA。解码控制逻辑237可以将存储体地址BA提供给存储体控制逻辑240。
解码控制逻辑237可以从地址ADDR导出指示行地址或列地址的地址位。偏移行地址和偏移列地址中的每一个可以用包括设置数量Na个连续位的数据来实现,并且完整行地址和完整列地址中每一个也可以用包括设置数量Nb个连续位的数据来实现。Nb可以是大于Na的自然数。
当地址ADDR是完整地址时,解码控制逻辑237可以生成地址选择信号ASS,给出按原样输出由地址ADDR指示的行地址或列地址的指令。当地址ADDR是偏移行地址时,解码控制逻辑237可以生成地址选择信号ASS,给出输出从地址求和器233提供的行地址或列地址的指令。解码控制逻辑237可以向地址MUX 234提供地址选择信号ASS。地址MUX 234可以根据地址选择信号ASS将地址ADDR所指示的行地址或列地址提供给行地址复用器251或多个列解码器260。在一些实施例中,MUX 234可以将从地址求和器233提供的行地址或列地址提供给行地址复用器251或多个列解码器260。
当地址ADDR是偏移行地址时,解码控制逻辑237可以根据存储体地址BA生成存储体选择信号BSS,并且生成用于控制地址求和器233的行地址求和操作的行选择信号RSS。当地址ADDR是偏移列地址时,解码控制逻辑237可以根据存储体地址BA生成存储体选择信号BSS,并且生成用于控制地址求和器233的列地址求和操作的列选择信号CSS。
由解码控制逻辑237提供给地址求和器233和地址MUX 234的偏移行地址和偏移列地址、或者行地址和列地址可以被共同定义为地址位。
地址表231可以对多个存储体300a至300h中的每一个存储用于存储体中最后被驱动的存储区域的地址(以下称为基地址)的行地址(以下简称为基行地址)和列地址(以下也称为基列地址)。如图4所示,地址表231包括“存储体”列、“行”列和“列”列,并且存储体地址、基行地址和基列地址被记录在地址表231的每行的相应列中。可以根据解码控制逻辑237生成的存储体选择信号BSS来选择地址表231的“存储体”列中的多个存储体1、2、…、或n中的一个。
行/列选择器232可以向地址求和器233提供根据解码控制逻辑237生成的行选择信号RSS和列选择信号CSS选择的存储体的基行地址和基列地址。行/列选择器232可以与行选择信号RSS同步地将基行地址提供给地址求和器233,并且可以与列选择信号CSS同步地将基列地址提供给地址求和器233。
以这种方式,解码控制逻辑237可以从地址表231中选择特定存储体,控制将选择的存储体的基行地址提供给地址求和器233的定时,以及控制将选择的存储体中的基列地址提供给地址求和器232的定时。
当地址位被提供给地址求和器233时,行/列选择器232可以根据由地址位指示的偏移行地址或偏移列地址,将基行地址或基列地址提供给地址求和器233。
地址求和器233可以通过将地址位添加到基行地址来生成行地址RA,或者通过将地址位添加到基列地址来生成列地址CA。
地址MUX 234可以根据地址选择信号ASS输出与地址位相对应的行地址RA或列地址CA,或者输出由地址求和器233生成的行地址RA或列地址CA。例如,当命令CMD指示完整地址时,地址MUX 234可以响应于解码控制逻辑237提供的地址选择信号ASS,根据地址ADDR输出行地址RA和列地址CA中的一个。当命令CMD指示偏移地址时,地址MUX 234可以根据解码控制逻辑237提供的地址选择信号ASS输出由地址求和器233生成的行地址或列地址。
地址DEMUX 236可以在地址表231中更新由存储体选择信号BSS指示的存储体(Bank)以及由行选择信号RSS或列选择信号CSS指示的存储体(Bank)的行(Row)或列(Col)中通过地址MUX 234输出的行地址或列地址。
在下文中,将描述根据一些实施例的通过半导体存储设备对命令CMD和地址ADDR进行解码来生成完整地址的方法。
图5是示出根据一些实施例的存储设备的地址解码方法的流程图。
存储器控制器120可以向存储设备200提供命令CMD和地址ADDR(分别为S1和S2)。因此,存储设备200的控制逻辑电路220和地址解码器230可以获取命令CMD,并且存储设备200中的地址缓冲器235可以获取地址ADDR。
地址缓冲器235可以将地址ADDR提供给地址解码器230(S3)。
地址解码器230可以确定地址ADDR是否是偏移地址(S4)。例如,地址解码器230可以通过对命令CMD进行解码来确定地址ADDR是否是偏移地址。
作为S4中的确定的结果,当地址ADDR是完整地址而不是偏移地址时(S4,否),可以提供由地址ADDR指示的行地址或列地址(S8)。例如,由地址ADDR指示的行地址或列地址可以被提供给行地址复用器251或多个列解码器260。
作为S4中的确定的结果,当地址ADDR是偏移地址时(S4,是),地址解码器230可以确定地址ADDR是否包括偏移行地址(S5)。
作为S5中的确定的结果,当地址ADDR包括偏移行地址时(S5,是),地址解码器230可以生成行地址(S6)。例如,地址解码器230可以根据存储体选择信号BSS从地址表231中选择存储体,从选择的存储体读取基行地址,并且将指示偏移行地址的地址位添加到基行地址以生成行地址。
作为S5中的确定的结果,当地址ADDR包括偏移列地址而不是偏移行地址时(S5,否),地址解码器230可以生成列地址(S7)。例如,地址解码器230可以根据存储体选择信号BSS从地址表231中选择存储体,从选择的存储体读取基列地址,并且将指示偏移列地址的地址位添加到基列地址以生成列地址。
在步骤S6或S7之后,可以执行步骤S8。如上所述,可以提供生成的行地址或生成的列地址(S8)。
在步骤S8之后,地址解码器230可以更新最后地址(S9)。例如,地址解码器230可以在地址表231的对应的存储体(Bank)和行(Row)或列(Col)中更新在步骤S6或S7中生成的行地址或列地址。地址表231可以存储更新的行地址或列地址。
关于对读取操作或写入操作对存储设备200的多个请求,当与多个请求相对应的多个地址根据特定规则改变或彼此相邻时,存储器控制器120可以生成偏移地址。例如,在一些实施例中,当实现人工神经网络的芯片从半导体存储系统读取数据用于向量处理并将处理结果写入半导体存储系统时,与多个请求相对应的多个地址可以遵循预定规则。在一些实施例中,当视频编码芯片从半导体存储系统读取图像源时,与多个请求相对应的多个地址可以遵循预定规则。根据一些实施例,在如上所述对半导体存储系统的可预测访问占主导地位的环境中,在驱动存储设备时向存储设备发送偏移地址而不是完整地址可能是有效的。
图6是示意性地示出根据一些实施例的多个存储体中的某个存储体的存储单元阵列的部分的图。
如图6所示,假设根据存储单元阵列500中的步幅模式按顺序生成对存储区域的多个读取请求或多个写入请求。如图6所示,多个存储区域501至516以规则间隔位于存储单元阵列500中。具体地,在存储单元阵列500中,多个存储区域501至516可以以2X2为单位彼此间隔开,并且多个存储区域501至516中的每一个可以由行地址和列地址定义,并且可以包括至少一个存储单元。
在现有技术中,存储器控制器需要根据调度顺序将被实现为多个存储区域的完整地址的多个地址分别发送到存储设备。例如,在行ROW1中以两列为单位彼此间隔开的多个存储区域501至504以向右方向被驱动的情况下,存储器控制器需要发送存储区域501的完整地址,然后连续三次向存储设备发送具有预定位数的列地址。以相同的方式,当分别位于多个行ROW2、ROW3和ROW4中以两列为单位彼此间隔开的多个存储区域505至508、509至512和513至516以右方向被驱动时,存储器控制器需要发送存储区域505、509和513中的每一个的完整地址,然后连续三次将具有预定位数的列地址发送到存储设备。
相反,根据一些实施例,当使用偏移地址时,存储器控制器120只需要发送存储区域501的完整地址,然后向存储设备110发送存储区域501和存储区域502之间的偏移列地址、存储区域502和存储区域503之间的偏移行地址以及存储区域503和存储区域504之间的偏移列地址。在这种情况下,偏移列地址可以用比与现有技术的存储器控制器那样的预定位数更少的位数来实现。随后,存储器控制器120只需要将存储区域504和存储区域505之间的偏移行地址和偏移列地址传送到存储设备110,然后将存储区域505和存储区域506之间的偏移列地址、存储区域506和存储区域507之间的偏移列地址以及存储区域507和存储区域508之间的偏移行地址发送到存储设备110。以这种方式,根据一些实施例,存储器控制器120可以向存储设备110发送包括比完整地址更少位的偏移地址。
由于存储器控制器120根据最后地址和当前地址之间的差来生成偏移地址,因此生成的偏移地址可以是可变的。在一些实施例中,存储器控制器120可以在特定条件下固定偏移地址。具体条件可由设计定义。例如,在一些实施例中,当向显示器提供图像源的主机使用半导体存储系统作为帧缓冲器时,对于每个帧要在屏幕上显示的基于一帧的图像源可以位于存储设备中的预定图案中。在这种情况下,偏移地址可以是固定值。根据一些实施例,存储器控制器120可以选择性地向存储设备200提供包括生成的偏移地址的命令和具有固定偏移地址的命令中的一个。
表1是示出基于可变偏移的命令的表,可以在生成偏移量地址时改变。
(表1)
存储设备的操作 | 分量 |
偏移-激活 | 命令分隔符、存储体地址、偏移 |
偏移-读取 | 命令分隔符、存储体地址、偏移、是否执行自动预充电 |
偏移-写入 | 命令分隔符、存储体地址、偏移、是否执行自动预充电 |
在表1中,命令“偏移-激活”是指示使用偏移地址的激活操作的命令,并且可以包括命令分隔符、存储体地址和偏移。“激活操作”可以指选择多个存储体中的一个并激活构成选择的存储体的多个存储行中的一行的操作。包括在命令“偏移-激活”中的偏移可以是偏移行地址。命令“偏移-读取”是指示使用偏移地址的读取操作的命令,并且可以包括命令分隔符、存储体地址、偏移以及是否执行自动预充电。“读取操作”可以指从激活的存储体和存储行中选择特定存储列并从中读取数据的操作。命令“偏移-写入”是指示使用偏移地址的写入操作的命令,并且可以包括命令分隔符、存储体地址、偏移以及是否执行自动预充电。“写入操作”可以指从激活的存储体和存储行中选择特定存储列并向其写入数据的操作。命令“偏移-读取”和命令“偏移-写入”的偏移可以是偏移列地址。自动预充电可以指用于在预定操作时段期间执行读取或写入操作之后执行预充电操作的命令。表2是示出具有固定偏移地址的基于固定偏移的命令的表。
(表2)
存储设备的操作 | 分量 |
偏移-激活 | 命令分隔符、存储体地址 |
偏移-读取 | 命令分隔符、存储体地址、是否执行自动预充电 |
偏移-写入 | 命令分隔符、存储体地址、是否执行自动预充电 |
设置-偏移 | 命令分隔符、存储体地址、偏移 |
在表2中,命令“偏移-激活”是指示使用偏移地址的激活操作的命令,并且可以包括命令分隔符和存储体地址。命令“偏移-读取”是指示使用偏移地址的读取操作的命令,并且可以包括命令分隔符、存储体地址及是否执行自动预充电。命令“偏移-写入”是指示使用偏移地址的写入操作的命令,并且可以包括命令分隔符、存储体地址以及是否执行自动预充电。命令“设置-偏移”可以包括命令分隔符、存储体地址和具有固定值的偏移。命令“设置-偏移”的偏移可以是与命令相对应的偏移地址,即偏移行地址、偏移列地址或偏移行地址和偏移列地址的组合。从表1和表2中可以看出,根据一些实施例,用于将新创建的多个命令彼此区分的多个命令分隔符已经被添加到多个现有的命令分隔符中。为了组合多个新创建的分隔符,可以将引脚添加到存储设备110。在一些实施例中,信息可以被添加到发送到存储设备110中提供的引脚之一的信号,并且存储设备110可以执行解码操作以获得附加信息。
图7是示出根据一些实施例的存储设备的多个引脚的图。
图7中所示的存储设备600是用于解释一些实施例的示例,并且在图7中仅示出了命令分隔符中所涉及的引脚。在一些实施例中,存储设备600可以包括第一引脚601、第二引脚602、第三引脚603、第四引脚604和第五引脚605。除了图7中所示的引脚之外,在一些实施例中,存储设备600还可以包括时钟使能信号CKE被输入到的引脚、地址ADDR被输入的多个地址引脚、数据信号输入和输出到/从其输入和输出的多个DQ引脚以及电源引脚。然而,图7中所示的实施例仅仅是示例,并且在一些实施例中,可以提供上文所讨论的那些引脚之外的附加引脚。
在图7中,存储器控制器610可以向存储设备600的第一引脚601提供芯片选择信号/CS,向存储设备60的第二引脚602提供行地址选通命令/RAS,向存储设备600的第三引脚603提供列地址选通命令/CAS,并向存储设备600的第四引脚604提供写入使能信号/WE。多个命令可以被定义为提供给第一引脚601至第四引脚604的信号的逻辑电平的组合。存储器控制器610可以向存储设备600的第五引脚605提供用于控制存储设备600操作频率的时钟信号CLK。芯片选择信号/CS是用于选择构成半导体存储系统的多个存储器芯片中的一个的信号,行地址选通命令/RAS是用于控制从地址线读取行地址的时间点的信号,列地址选通命令/CAS是用于控制从地址线读取列地址的时间点的信号,并且写入使能信号/WE是用于控制数据写入的信号。
为了定义用于多个偏移命令的多个命令分隔符,根据一些实施例的存储器控制器610可以以双倍数据速率(DDR)模式提供第一引脚601的芯片选择信号/CS。当芯片选择信号/CS在时钟信号CLK的上升沿时间点处于低电平时,存储设备600可以根据通过其他引脚输入的信号来操作。为了定义用于偏移命令的命令分隔符,存储器控制器610可以对时钟信号CLK的每个特定沿设置芯片选择信号/CS的逻辑电平。例如,存储器控制器610可以通过在时钟信号CLK的下降沿时间点将芯片选择信号/CS设置为高电平来实现用于偏移命令的命令分隔符。
图8是示出根据一些实施例的用于基于可变偏移的命令的命令分隔符的波形图。
如图8所示,指示存储设备的相同操作的每个命令在完整地址和偏移地址之间具有不同的命令分隔符。
图8所示的时钟信号CLK、芯片选择信号/CS、行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE由存储器控制器610生成,并通过第一引脚601至第五引脚605提供给存储设备600。在图8中,存储器控制器610可以向存储设备600提供高电平时钟使能信号/CKE,使得存储设备600根据时钟信号CLK进行操作。
图8是用于解释根据一些实施例的用于偏移命令的命令分隔符的示例,并且存储器控制器610可以在DDR模式下向存储设备600提供芯片选择信号/CS。也就是说,第一引脚601可以在DDR模式下被驱动,芯片选择信号/CS可以在时钟信号CLK的上升沿具有特定值。
在图8中,为了简洁,省略了指示与命令CMD相对应的存储体地址、行地址、列地址、是否执行自动预充电等的信号。用于指示与命令CMD相对应的信息的信号没有特别限制,并且可以通过各种方法来实现。
在时钟信号CLK的上升沿T1,芯片选择信号/CS、行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别具有L、L、H和H值,并且它们的组合可以实现指示完整地址的激活操作的命令分隔符。在时钟信号CLK的上升沿T2,芯片选择信号/CS、行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别具有L、H、L和H值,并且它们的组合可以实现指示完整地址的读取操作的命令分隔符。在时钟信号CLK的上升沿T3,芯片选择信号/CS、行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别具有L、H、L和L值,并且它们的组合可以实现指示完整地址的写入操作的命令分隔符。
芯片选择信号/CS可以在时钟信号CLK的下降沿T4具有H值,行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别在下降沿T4之后出现的时钟信号CLK的上升沿T5具有L、H和H值,并且它们的组合(H,L,H,H)可以实现指示使用基于可变偏移的偏移地址的激活操作的命令分隔符。芯片选择信号/CS可以在时钟信号CLK的下降沿T6具有H值,行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别在下降沿T6之后发生的时钟信号时钟的上升沿T7具有H、L和H值,并且它们的组合(H,H,L,H)可以实现指示使用基于可变偏移的偏移地址的读取操作的命令分隔符。芯片选择信号/CS可以在时钟信号CLK的下降沿T8具有H值,行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别在下降沿T8之后发生的时钟信号时钟的上升沿T9具有H、L和L值,并且它们的组合(H,H,L,L)可以实现指示使用基于可变偏移的偏移地址的写入操作的命令分隔符。
图9是示出根据一些实施例的用于基于固定偏移量的命令的命令分隔符的波形图。
图9中所示的芯片选择信号/CS、行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE的波形是示例,实施例不限于此。
芯片选择信号/CS可以在时钟信号CLK的下降沿T10具有H值,行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别在下降沿T10之后发生的时钟信号CLK的上升沿T11具有L、H和L值,并且它们的组合(H,L,H,L)可以实现指示使用基于固定偏移的偏移地址的激活操作的命令分隔符。芯片选择信号/CS可以在时钟信号CLK的下降沿T12具有H值,行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别在下降沿T12之后发生的时钟信号CLK的上升沿T13具有L、L和H值,并且它们的组合(H,L,L,H)可以实现指示使用基于固定偏移的偏移地址的读取操作的命令分隔符。芯片选择信号/CS可以在时钟信号CLK的下降沿T14具有H值,行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别在下降沿T14之后发生的时钟信号CLK的上升沿T15具有H、H和L值,并且它们的组合(H、H、H和L)可以实现指示使用基于固定偏移的偏移地址的写入操作的命令分隔符。芯片选择信号/CS可以在时钟信号CLK的下降沿T16具有H值,行地址选通命令/RAS、列地址选通命令/CAS和写入使能信号/WE可以分别在下降沿T16之后发生的时钟信号CLK的上升沿T17具有L、L和L值,以及它们的组合(H、L、L和L)可以实现指示固定偏移值的命令分隔符。
为了减少与存储设备的操作频率成比例的待机功率,用于通过分离时钟域来控制存储设备的操作频率的时钟频率可以被设置为以预定比率低于数据信号DQ的频率。预定比率的增加可能导致命令和地址总线的带宽减少,从而导致性能恶化。由于与传统使用的完整地址相比,根据一些实施例的偏移地址能够减少通过命令和地址总线传输的数据量,因此可以防止由于带宽减少导致的性能恶化。此外,可以使用现有引脚提供用于使用偏移地址的命令,而无需向存储设备添加附加引脚。即使在存储设备中实现附加引脚而不是使用接收芯片选择信号/CS的CS引脚,由于由存储器控制器发送到存储设备的数据量减少,因此也可以以降低的操作频率为代价以低功率驱动存储设备。
图10是示出根据一些实施例的偏移寻址模式下的命令发送与完整寻址模式下的命令发送的比较的波形图。
图10的波形(A)是示意性地示出用于在完整寻址模式下发送完整地址的命令的波形图。
图10的波形(B)是示意性地示出当偏移寻址模式适用时用于发送偏移地址的命令的波形图。
图10的波形(C)是示意性地示出与(A)和(B)相比操作频率为0.5时的命令发送的波形图。图10中所示的波形用于命令发送,并且存储器控制器120向存储设备200发送数据信号的频率可以不同于存储器控制器120将图10中示出的时钟信号CLK1发送到存储设备200的频率。例如,发送数据信号的频率可以高于发送时钟信号CLK1的频率。
当假定需要命令1CMD1和命令2CMD2来发送完整地址时,在图10的波形(A)中,需要在时钟信号CLK1的每个上升沿从存储器控制器120向存储设备200发送命令1CMD2和命令2CMD1。
当用相同的时钟信号CLK1驱动存储设备200时,在图10的波形(B)中,需要命令1CMD1和命令2CMD2来发送初始完整地址。当存储设备200可以在偏移寻址模式下被驱动时,用于发送偏移地址的命令3CMD 3可以每两个周期在时钟信号CLK1的上升沿(例如,RE1)被发送到存储设备200。也就是说,在命令3CMD3和下一个命令3CMD 3之间的时段期间,可以存在其中不发送命令的部分(BL)。于是,可以以时钟信号CLK1的频率的1/2来驱动存储设备200,类似于图10中所示的时钟信号CLK2的频率。
在图10的波形(C)中,用于发送初始完整地址的命令1CMD1和命令2CMD2可以在时钟信号CLK2的上升沿RE2和RE3处发送,并且用于发送偏移地址的命令3CMD3可以在时钟信号CLK2的每个上升沿处发送。以这种方式,在偏移寻址模式下可以减少用于发送地址的命令的数量,从而降低存储设备的操作频率,并因此以低功率驱动存储设备。
图11是示出根据一些实施例的计算系统的示例性框图。
参考图11,计算系统700包括处理器710、存储器720、存储器控制器730、储存设备740、通信接口750和总线760。在一些实施例中,计算系统700可以进一步包括其他组件。
处理器710控制计算系统700的每个组件的整体操作。处理器710可以由诸如中央处理单元(CPU)、应用处理器(AP)和/或图形处理单元(GPU)的各种处理单元中的至少一个来实现。在一些实施例中,存储器控制器730可以被提供为与处理器710分离的芯片。在一些实施例中,存储器控制器730可以被提供为处理器710的内部组件。
存储器720可以存储各种类型的数据和命令。存储器720可以由参考图1至图10描述的存储设备110或存储设备200来实现。存储器控制器730控制到存储器720和从存储器720传输数据或命令。存储器控制器730可以由参考图1至图10描述的存储器控制器120来实现。因此,存储器控制器730可以对通过总线760从处理器710接收的多个请求在偏移寻址模式下生成命令,将命令发送到存储器720,并存储在偏移寻址模式下请求的地址。存储器720可以接收指示偏移地址的命令,并且通过根据命令将偏移地址添加到对应存储体中先前存储的最后地址来生成完整地址。
储存设备740非临时地存储程序和数据。在一些实施例中,储存设备740可以由非易失性存储器来实现。通信接口750支持计算系统700的有线和无线互联网通信。在一些实施例中,通信接口750可以支持除了互联网通信之外的各种通信方法。总线760提供了实现计算系统700的组件之间的通信的功能。总线760可以包括根据组件之间的通信协议的至少一个类型的总线。
在一些示例性实施例中,参考图1至图11描述的每个组件或两个或多个组件的组合可以由数字电路、可编程或不可编程逻辑器件或阵列、专用集成电路(ASIC)等来实现。
虽然已经结合附图描述了各种实际的示例性实施例,但是应当理解,实施例不限于所公开的实施例。相反,本公开旨在覆盖包括在所附权利要求的精神和范围内的各种修改和等效布置。
Claims (20)
1.一种半导体存储系统,包括:
存储设备,包括多个存储体;以及
存储器控制器,被配置为基于第一请求生成多个存储体中的第一存储体的偏移地址和指示偏移地址的命令,
其中,存储设备被配置为根据命令通过将偏移地址添加到第一存储体的基地址来生成第一地址,并且根据命令对第一存储体的第一地址执行存储操作。
2.根据权利要求1所述的半导体存储系统,其中:
当第一存储体中与第一请求相对应的地址相对于第一存储体中与第二请求相对应的地址在偏移范围内时,存储器控制器生成第一存储体相对于第二地址的偏移地址,第二请求恰在第一请求之前,以及
基地址是第二地址。
3.根据权利要求2所述的半导体存储系统,其中:
命令包括以下中的至少一个:
偏移-激活命令,指示使用偏移地址的激活操作,偏移-激活命令包括命令分隔符、存储体地址和偏移;
偏移-读取命令,指示使用偏移地址的读取操作,偏移-读取命令包括命令分隔符、存储体地址和偏移;以及
偏移-写入命令,指示使用偏移地址的写入操作,偏移-写入命令包括命令分隔符、存储体地址和偏移。
4.根据权利要求3所述的半导体存储系统,其中:
命令包括偏移-激活命令、偏移-读取命令和偏移-写入命令,
偏移-激活命令的偏移是偏移行地址,并且
偏移-读取命令和偏移-写入命令中的每一个的偏移是偏移列地址。
5.根据权利要求2所述的半导体存储系统,其中:
命令包括以下中的至少一个:
偏移-激活命令,指示使用偏移地址的激活操作,偏移-激活命令包括命令分隔符和存储体地址;
偏移-读取命令,指示使用偏移地址的读取操作,偏移-读取命令包括命令分隔符和存储体地址;
偏移-写入命令,指示使用偏移地址的写入操作,偏移-写入命令包括命令分隔符和存储体地址;以及
设置-偏移命令,包括命令分隔符、存储体地址和偏移。
6.根据权利要求5所述的半导体存储系统,其中:
命令包括设置-偏移命令,并且
设置-偏移命令的偏移具有与偏移地址相对应的固定值。
7.根据权利要求2所述的半导体存储系统,其中:
存储设备包括地址解码器,被配置为通过解码命令来识别第一存储体的偏移地址,并且通过将偏移地址添加到第二地址来生成第一地址。
8.根据权利要求7所述的半导体存储系统,其中,地址解码器包括:
地址表,对于多个存储体中的每一个存储对存储体最后被驱动的存储行的基行地址和对存储体最后被驱动的存储列的基列地址;
行/列选择器,被配置为在地址表中提供与第一存储体相对应的基行地址和基列地址中的一个;以及
地址求和器,被配置为通过将偏移地址与从行/列选择器提供的基行地址和基列地址中的一个相加来生成第一地址。
9.根据权利要求8所述的半导体存储系统,其中
当命令指示偏移行地址时,行/列选择器将基行地址提供给地址求和器,并且地址求和器通过将偏移地址添加到基行地址来生成第一地址。
10.根据权利要求8所述的半导体存储系统,其中:
当命令指示偏移列地址时,行/列选择器将基列地址提供给地址求和器,并且地址求和器通过将偏移地址添加到基列地址来生成第一地址。
11.根据权利要求8所述的半导体存储系统,其中:
地址解码器还包括地址解复用器,被配置为用与第一存储体相对应的基行地址和基列地址中的一个来更新地址表中的第一地址。
12.根据权利要求8所述的半导体存储系统,其中:
地址解码器还包括地址复用器,被配置为当第一地址在偏移范围内时输出从地址求和器提供的第一地址,并且当第一地址不在偏移范围内时输出从存储器控制器提供的第一地址。
13.根据权利要求1所述的半导体存储系统,其中:
命令指示存储操作,并且存储操作对应于偏移地址,以及
命令包括多个信号,多个信号包括以双倍数据速率模式提供给存储设备的芯片选择信号。
14.一种存储器控制器,包括:
多个存储体队列,分别对应于存储设备的多个存储体,多个存储体队列中的每一个存储多个请求;以及
多个存储体调度器,分别对应于多个存储体队列,多个存储体调度器中的每一个在多个存储体队列中的对应一个中调度关于多个请求的处理顺序,
其中,当与当前请求相对应的地址与多个存储体中的对应存储体中最后被驱动的存储区域的最后地址之间的差在偏移范围内时,多个存储体调度器中的每一个根据差生成偏移地址。
15.根据权利要求14所述的存储器控制器,其中:
当生成与当前请求相对应的地址作为偏移地址时,多个存储体调度器中的每一个生成指示偏移地址的命令。
16.根据权利要求14所述的存储器控制器,其中:
在对应存储体队列中排队的多个请求当中,多个存储体调度器中的每一个给予对应于偏移地址的请求高于对应于完整地址的请求的优先级。
17.根据权利要求14所述的存储器控制器,其中:
多个存储体调度器中的每一个包括寄存器,被配置为对于对应存储体存储与当前请求相对应的地址作为最后地址。
18.根据权利要求14所述的存储器控制器,其中:
当在对应存储体中不存在活动存储行时,并且当最后活动的存储行的第一地址与对应存储体中与当前请求相对应的第二地址之间的差在偏移范围内时,多个存储体调度器中的每一个生成第一地址与第二地址之间的差作为偏移地址。
19.一种地址解码方法,包括:
对命令进行解码;
当命令指示地址包括偏移行地址时,通过将偏移行地址添加到对应于所述地址的存储体中最后被驱动的存储行的基行地址来生成行地址;以及
当命令指示地址包括偏移列地址时,通过将偏移列地址添加到对应于所述地址的存储体中最后被驱动的存储列的基列地址来生成列地址。
20.根据权利要求19所述的地址解码方法,其中,对于多个存储体中的每一个存储体,地址表存储最后被驱动的存储体的存储行的基行地址和最后被驱动的存储列的基列地址,并且
地址解码方法还包括用生成的存储体的行地址或列地址更新地址表。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0164892 | 2022-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118113625A true CN118113625A (zh) | 2024-05-31 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5973991A (en) | Semiconductor memory capable of successively accessing cell array blocks with a plurality of operation modes having different cycle times | |
US10762008B2 (en) | Delay circuit and write and read latency control circuit of memory, and signal delay method thereof | |
US20230418471A1 (en) | Apparatuses and methods for configurable memory array bank architectures | |
US20090021999A1 (en) | Semiconductor device | |
US20070028027A1 (en) | Memory device and method having separate write data and read data buses | |
US7978534B2 (en) | Memory device and method having programmable address configurations | |
US6674684B1 (en) | Multi-bank chip compatible with a controller designed for a lesser number of banks and method of operating | |
US20120155200A1 (en) | Memory device, memory system including the same, and control method thereof | |
US11449441B2 (en) | Multi-ported nonvolatile memory device with bank allocation and related systems and methods | |
US20170076762A1 (en) | Memory device and electronic apparatus including the same | |
US20070047362A1 (en) | Memory control system and memory control circuit | |
US6829195B2 (en) | Semiconductor memory device and information processing system | |
EP1248267A2 (en) | Semiconductor memory device and information processing system | |
US11894096B2 (en) | Memory systems for high speed scheduling | |
JP4318422B2 (ja) | 集積回路メモリを含むシステム | |
JP2001035153A (ja) | 半導体記憶装置 | |
CN118113625A (zh) | 地址解码方法以及存储器控制器和半导体存储系统 | |
EP4379721A1 (en) | Address decoding method, and memory controller and semiconductor memory system using the same | |
KR20240081027A (ko) | 어드레스 디코딩 방법, 및 이를 이용한 메모리 컨트롤러 및 반도체 메모리 시스템 | |
JPWO2009081551A1 (ja) | メモリ装置及びその制御方法 | |
US20190065115A1 (en) | Memory system, operation method of the memory system, and memory device | |
US20230266893A1 (en) | Memory system including memory device and memory controller, and operating method thereof | |
US20240112716A1 (en) | Memory device and operation method thereof | |
KR100754359B1 (ko) | 복수의 공유 블록을 포함하는 다중 포트 메모리 장치 | |
CN116627317A (zh) | 含存储器设备和存储器控制器的存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |