CN118069037A - 存储器控制器、电子***和控制存储器访问的方法 - Google Patents

存储器控制器、电子***和控制存储器访问的方法 Download PDF

Info

Publication number
CN118069037A
CN118069037A CN202311372286.1A CN202311372286A CN118069037A CN 118069037 A CN118069037 A CN 118069037A CN 202311372286 A CN202311372286 A CN 202311372286A CN 118069037 A CN118069037 A CN 118069037A
Authority
CN
China
Prior art keywords
request
requests
memory
electronic system
location information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311372286.1A
Other languages
English (en)
Inventor
俞载焕
郑宇圣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN118069037A publication Critical patent/CN118069037A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)

Abstract

公开了一种电子***、一种存储器控制器和一种控制存储器访问的方法。所述电子***包括多个主装置、存储器控制器和存储器装置。主装置生成用于存储器访问操作的请求,其中,每个请求包括指示请求是否要连续地执行的位置信息。存储器控制器从多个主装置接收请求,基于位置信息确定请求的执行次序,并且根据执行次序顺序地生成用于执行存储器访问操作的命令。存储器装置从存储器控制器接收命令,并且基于命令执行存储器访问操作。

Description

存储器控制器、电子***和控制存储器访问的方法
相关申请的交叉引用
本申请要求于2022年11月22日在韩国知识产权局(KIPO)提交的韩国专利申请No.10-2022-0157639的优先权,该申请的公开内容以引用方式全部并入本文中。
技术领域
示例实施例大体涉及半导体集成电路,并且更具体地,涉及存储器控制器、包括该存储器控制器的电子***和控制存储器访问的方法。
背景技术
用于存储数据的半导体存储器装置可以被划分为易失性存储器装置和非易失性存储器装置。易失性存储器装置的存储器单元可以被充电或放电以存储数据。然而,所存储的数据可能在不再被施加电力时丢失。诸如闪速存储器装置的非易失性存储器装置即使在不再被施加电力时也可以保持存储在其中的数据。易失性存储器装置被广泛地用作主存储器,并且非易失性存储器装置被广泛地用于存储程序代码和/或数据。
包括半导体存储器装置的电子***可以具有用于存储器装置的直接存储器访问功能。具有直接存储器访问功能的装置可以被称为直接存储器访问装置或主装置。直接存储器访问指在没有数据通过诸如中央处理单元(CPU)的处理器的情况下与存储器装置交换数据。然而,具有这种直接存储器访问功能的主装置可能降低存储器装置的效率。
发明内容
一些示例实施例可以提供能够提高存储器装置的效率的存储器控制器、包括该存储器控制器的电子***和控制存储器访问的方法。
根据示例实施例,电子***包括多个主装置、存储器控制器和存储器装置。多个主装置生成用于存储器访问操作的请求,其中,每个请求包括指示请求是否要被连续地执行的位置信息。存储器控制器从多个主装置接收请求,基于位置信息确定请求的执行次序,并且根据执行次序顺序地生成用于执行存储器访问操作的命令。存储器装置从存储器控制器接收命令,并且基于命令执行存储器访问操作。
根据示例实施例,存储器控制器包括:第一请求队列,其被配置为接收从第一主装置传送的第一请求并且存储第一请求,第一请求包括指示第一请求中的一些是否要被连续地执行的第一位置信息;第二请求队列,其被配置为接收从第二主装置传送的第二请求并且存储第二请求,第二请求包括指示第二请求中的一些是否要被连续地执行的第二位置信息;以及请求仲裁电路,其被配置为接收从第一请求队列输出的第一请求中的一些和从第二请求队列输出的第二请求中的一些,并且顺序地输出由请求仲裁电路接收的请求,使得与存储器装置的同一行地址对应的输出请求被连续地执行。
根据示例实施例,控制存储器访问的方法包括:由多个主装置生成用于存储器访问操作的请求,每个请求包括指示请求是否要被连续地执行的位置信息;由存储器控制器基于位置信息来确定从多个主装置接收的请求的执行次序;由存储器控制器根据执行次序来顺序地生成用于执行存储器访问操作的命令;以及由存储器装置基于从存储器控制器接收的命令来执行存储器访问操作。
通过基于位置信息确定请求的执行次序,根据示例实施例的存储器控制器、电子***和控制存储器访问的方法可以减少存储器装置的附加资源,提高存储器装置的效率,并且提高存储器装置和包括存储器装置的电子***的性能。
附图说明
从以下结合附图的详细描述中将更加清楚地理解本公开的示例实施例。
图1是示出根据示例实施例的电子***的概念图。
图2是示出根据示例实施例的控制存储器访问的方法的流程图。
图3A和图3B是示出根据示例实施例的包括在电子***中的主装置和存储器控制器的操作的流程图。
图4是示出根据示例实施例的电子***的框图。
图5是示出根据示例实施例的在电子***中传送的分组的示例的示图。
图6是示出根据示例实施例的存储器***的框图。
图7是示出在图6的存储器***中传送的命令的示例的示图。
图8是示出根据示例实施例的在存储器***的正常模式和顺序模式中的请求的执行次序的示图。
图9A和图9B是示出根据图8的执行次序的存储器***的操作的时序图。
图10A和图10B是示出根据示例实施例的在电子***的正常模式和顺序模式下生成附加资源的示图。
图11是示出根据示例实施例的存储器控制器的示图。
图12A、图12B和图12C是示出根据示例实施例的由存储器控制器执行的事务的示例实施例的示图。
图13是示出根据示例实施例的电子***的框图。
图14是示出包括在图13的电子***中的存储器装置的效率的示图。
图15A是示出根据示例实施例的半导体存储器装置的框图。
图15B是示出包括在图15A的存储器装置中的存储体阵列的示图。
图16是示出根据示例实施例的包括在存储器***中的存储器装置的示意性配置的示图。
图17是示出包括在图16的存储器装置中的子字线驱动器的示例实施例的示图。
图18是示出根据示例实施例的包括在存储器***中的堆叠的存储器装置的示图。
图19是示出根据示例实施例的电子***的互连架构的示例实施例的框图。
图20是示出根据示例实施例的电子***的框图。
具体实施方式
在下文中将参照其中示出一些示例实施例的附图来更加充分地描述各种示例实施例。在附图中,同样的标号始终指同样的元件。可以省略重复的描述。
图1是示出根据示例实施例的电子***的概念图。
参照图1,电子***10可以包括多个主装置(MST1~MST4)31、32、33和34、多个从装置(SLV1~SLV3)41、42和43、以及互连装置80。尽管图1示出四个主装置和三个从装置,但是本发明构思不限于此。例如,电子***10中的主装置和从装置的数量可以被调整为与所示出的数量不同的各种数量。
主装置31、32、33和34可以分别生成用于要求来自从装置41、42和43中的至少一个的服务的请求。例如,主装置31、32、33和34中的每一个可以生成请求信号并且通过互连装置80将该请求信号发送到从装置41、42和43中的至少一个。例如,请求信号可以包括由对应的从装置用来确定请求的服务的类型的信息。主装置31、32、33和34以及从装置41、42和43可以通过相应的通道连接到互连装置80。互连装置80可以基于优先级信息对请求执行仲裁操作,并且可以基于仲裁操作的结果控制主装置31、32、33和34与从装置41、42和43之间的请求流。以下将参照图4、图13、图19和图20进一步描述电子***10的示例实施例。
至少一个从装置(例如,从装置43)可以是存储器控制器。存储器控制器43可以连接到存储器装置400,并且存储器控制器43和存储器装置400可以形成存储器***50。
主装置31、32、33和34可以是生成用于要求对存储器装置400的存储器访问操作的请求的直接存储器访问装置。这里,存储器访问操作可以包括将数据存储在存储器装置400中的写操作和从存储器装置400读出数据的读操作。
存储器控制器43可以包括命令生成器CGN(例如,命令生成器电路),命令生成器CGN基于从多个主装置31、32、33和34接收的请求来生成用于执行存储器访问操作的命令。存储器装置400可以基于从存储器控制器43接收的命令执行存储器访问操作。
根据示例实施例,多个主装置31、32、33和34可以分别包括位置信息生成器LIG1、LIG2、LIG3和LIG4(例如,生成器电路),并且存储器控制器43可以包括请求控制电路RCC。位置信息生成器LIG1、LIG2、LIG3和LIG4中的每一个以及请求控制电路RCC可以被实施为硬件、软件或它们的组合。
图1示出所有的主装置31、32、33和34包括位置信息生成器。在一些示例实施例中,一些主装置可以不具有直接存储器访问功能,并且不具有直接存储器访问功能的主装置不需要包括位置信息生成器。
图2是示出根据示例实施例的控制存储器访问的方法的流程图。
参照图1和图2,多个主装置31、32、33和34生成用于存储器访问操作的请求,使得每个请求包括指示请求是否要被连续地执行的位置信息(S100)。在本公开中,请求的“连续执行”指不执行其它中间请求。例如,两个请求的连续执行可以指示在这两个请求的执行已经完成之前不执行另一请求。例如,如果第一主装置31请求对存储器装置400的第一连续写入和第二连续写入并且第二主装置32请求对存储器装置400的第三连续写入和第四连续写入,则连续执行将包括第一写入、紧跟其后的第二写入,而在第一写入与第二写入之间不发生第三写入或第四写入。
每个位置信息生成器LIGi(i=1、2、3、4)通过确定由每个主装置MSTi生成的请求是否需要连续执行来生成位置信息。这里,连续执行可能由于请求的连续执行而导致存储器装置400的效率的提高。在一些示例实施例中,当包括在用于存储器访问操作的请求中的行地址相同或连续时,可能需要连续执行。例如,连续的行地址可以包括彼此顺序的行地址。在此情况下,每个位置信息生成器LIGi基于包括在由对应的主装置MSTi生成的请求中的行地址来生成位置信息。
存储器控制器43的请求控制电路RCC基于位置信息来确定从多个主装置31、32、33和34接收的请求的执行次序(S200)。请求的执行次序可以被确定为使得存储器装置400的效率可以提高。以下将参照图11等描述基于位置信息确定执行次序的示例实施例。
存储器控制器43的命令生成器CGN根据所确定的执行次序来顺序地生成用于执行存储器访问操作的命令(S300)。以下将参照图9A、图9B等描述根据执行次序生成命令的示例实施例。
存储器装置400基于从存储器控制器43接收的命令来执行存储器访问操作(S400)。以下将参照图15A至图17描述存储器装置400的配置和操作的示例实施例。
如此,通过基于位置信息来确定请求的执行次序,根据示例实施例的存储器控制器43、电子***10和控制存储器访问的方法可以减少存储器装置400的附加资源,提高存储器装置400的效率,并且提高存储器装置400和包括存储器装置400的电子***10的性能。
图3A和图3B是示出根据示例实施例的包括在电子***中的主装置和存储器控制器的操作的流程图。
图3A示出在具有直接存储器访问功能的每个主装置中生成每个请求的操作,并且图3B示出通过在存储器控制器中选择从多个主装置接收的请求之一来生成命令的操作。
参照图1和图3A,主装置MSTi(i=1、2、3、4)确定当前的操作模式是否是顺序模式SMD(S11)。当前的操作模式可以由控制电子***10的总体操作的主处理器(例如,CPU、主机处理器等)确定。主处理器可以是多个主装置31、32、33和34之一。在实施例中,当前的操作模式从主处理器传送到电子***10中的主装置31、32、33和34和存储器控制器43,并且当前的操作模式可以作为模式信息存储在主装置31、32、33和34和存储器控制器43中包括的内部状态寄存器中。
当当前的操作模式不是顺序模式SMD(S11:否)时(即,当当前的操作模式是正常模式NMD时),主装置MSTi生成不包括位置信息LI的请求REQ(S12),并且通过互连装置80将没有位置信息LI的请求REQ传送到存储器控制器43(S17)。
当当前的操作模式是顺序模式SMD(S11:是)时,主装置MSTi生成包括位置信息LI的请求REQ(S16),并且通过互连装置80将包括位置信息LI的请求REQ传送到存储器控制器43(S17)。
在一些示例实施例中,如图3A中所示,主装置MSTi的位置信息生成器LIGi可以确定是否需要请求的连续执行CEXE(S13)。当需要连续执行CEXE(S13:是)时,位置信息生成器LIGi可以将位置信息LI设定为第一值(例如,值“1”)(S14)。另一方面,当不需要连续执行CEXE(S13:否)时,位置信息生成器LIGi可以将位置信息LI设定为第二值(例如,值“0”)(S15)。
参照图1和图3B,存储器控制器43确定当前的操作模式是否是顺序模式SMD(S21)。当当前的操作模式是顺序模式SMD(S21:是)时,存储器控制器43的请求控制电路RCC基于包括在当前执行的请求REQ中的位置信息LI来选择接下来要执行的请求REQ(S22),并且生成与所选择的请求REQ对应的命令CMD(S24)。当当前的操作模式不是顺序模式SMD(S21:否)时(即,当当前的操作模式是正常模式NMD时),请求控制电路RCC基于预定方法(例如,轮询方案(RRS))来选择接下来要执行的请求REQ(S23),并且生成与所选择的请求REQ对应的命令CMD(S24)。例如,如果刚完成来自第一主装置31的第一请求,则轮询方案随后可生成与来自第二主装置32的第二请求对应的命令CMD。
如此,存储器控制器43可以在顺序模式SMD或正常模式NMD中选择性地操作,在顺序模式SMD中,基于位置信息LI确定请求的执行次序,在正常模式NMD中,在不管位置信息LI的情况下确定请求的执行次序。例如,在正常模式NMD中,在不考虑位置信息LI的情况下确定执行次序。
相对于顺序地生成的两个请求(即,相对于在前请求和在后请求),每个主装置MSTi可以基于是否需要在前请求和在后请求的连续执行来确定在前请求中包括的位置信息LI的值。例如,当在前请求和在后请求与存储器装置400的同一行地址对应时,在前请求中包括的位置信息LI可以被设定为第一值(例如,值“1”),并且当在前请求和在后请求不与同一行地址对应时,在前请求中包括的位置信息LI可以被设定为第二值(例如,值“0”)。
当在前请求的位置信息LI具有第一值时,存储器控制器43可以确定请求的执行次序,使得在在前请求之后执行在后请求。另一方面,当在前请求的位置信息LI具有第二值时,存储器控制器43可以确定请求的执行次序,使得在在前请求之后执行从另一主装置接收的请求。将参照图4和图8更加详细地描述以这种方式确定的请求的执行次序。
图4是示出根据示例实施例的电子***的框图。
参照图4,电子***11可以包括第一主装置(MST1)31、第二主装置(MST2)32、存储器控制器100和存储器装置(MEM)400。存储器控制器100可以包括请求控制电路RCC和命令生成器CGN。
第一主装置31可以顺序地生成第一请求REQ11和第二请求REQ12并且将第一请求REQ11和第二请求REQ12发送到存储器控制器100。例如,第一请求REQ11和第二请求REQ12可以与相同的第一行地址RA1对应。在此情况下,包括在第一请求REQ11中的位置信息LI可以具有第一值(例如,值“1”),并且包括在第二请求REQ12中的位置信息LI可以具有第二值(例如,值“0”)。因此,第一请求REQ11中的位置信息LI的第一值可以指示需要连续地执行与在前请求对应的第一请求REQ11和与在后请求对应的第二请求REQ12。相反,第二请求REQ12中的位置信息LI的第二值可以指示不需要连续地执行与在前请求对应的第二请求REQ12和与在后请求对应的后一请求(未示出)。
第二主装置32可以顺序地生成第三请求REQ21和第四请求REQ22,并且将第三请求REQ21和第四请求REQ22发送到存储器控制器100。例如,第三请求REQ21和第四请求REQ22可以与相同的第二行地址RA2对应。在此情况下,包括在第三请求REQ21中的位置信息LI可以具有第一值(例如,值“1”),并且包括在第四请求REQ22中的位置信息LI可以具有第二值(例如,值“0”)。因此,第三请求REQ21中的位置信息LI的第一值可以指示需要连续地执行与在前请求对应的第三请求REQ21和与在后请求对应的第四请求REQ22。相反,第四请求REQ22中的位置信息LI的第二值可以指示不需要连续地执行与在前请求对应的第四请求REQ22和与在后请求对应的后一请求(未示出)。
存储器控制器100的请求控制电路RCC从第一主装置31接收第一请求REQ11和第二请求REQ12,并且从第二主装置32接收第三请求REQ21和第四请求REQ22。请求控制电路RCC可以基于分别包括在第一请求REQ11、第二请求REQ12、第三请求REQ21和第四请求REQ22中的位置信息LI来确定请求的执行次序。请求控制电路RCC可以根据所确定的执行次序逐一顺序地输出请求。例如,由于包括在第一请求REQ11和第三请求REQ21中的位置信息LI具有第一值,因此请求控制电路RCC可以选择第一请求REQ11或第三请求REQ21,确定所选择的请求的地址,选择具有同一地址的第二请求REQ12和第四请求REQ22之一,并且随后顺序地输出所选择的请求。
存储器控制器100的命令生成器CGN可以基于从请求控制电路RCC输出的请求来顺序地生成用于存储器访问操作的命令CMD。
存储器装置400可以接收从存储器控制器100顺序地传送的命令CMD,并且基于顺序地接收的命令CMD来执行与第一请求REQ11、第二请求REQ12、第三请求REQ21和第四请求REQ22对应的存储器访问操作。例如,由于包括在第一请求REQ11和第三请求REQ21中的位置信息LI具有第一值,因此命令生成器CGN可顺序地生成用于第一请求REQ11的第一命令,随后是用于第二请求REQ12的第二命令,而不在第一命令与第二命令之间生成用于第三请求REQ21的第三命令。
图5是示出根据示例实施例的在电子***中传送的分组的示例的示图。
图5示出由***部件互连高速(PCIe)架构的事务层生成和管理的事务层分组(TLP)的格式。
事务可以包括使用分组通信的请求和完成(或响应)。如图5中所示,TLP可以包括被分配给多个字节(字节0~k+3)的一个或多个可选的TLP前缀、TLP报头、数据有效负载和可选的TLP摘要。
用于存储器访问操作(写操作和读操作)的上述存储器访问请求(REQ11、REQ12、REQ21、REQ22)、用于传送诸如当前的操作模式等的信息的配置请求、以及响应可以与如图5中所示的TLP对应。TLP报头可以包括诸如装置标识符、用于对应的请求的成功信息等的各种信息,并且数据有效负载可以包括数据块(例如,要写入的数据)、逻辑地址、访问地址(例如,物理地址)等。
图6是示出根据示例实施例的存储器***的框图。
参照图6,存储器***50可以包括存储器控制器100和存储器装置400。存储器控制器100和存储器装置400可以通过存储器接口通信。存储器接口可以包括用于传送命令CMD、访问地址ADDR、时钟信号CLK等的控制总线61、以及用于传送数据的数据总线62。
根据存储器装置400的类型,命令CMD可以被视为包括访问地址ADDR。存储器控制器100可以生成用于控制存储器装置400并且执行写操作或读操作的命令信号CMD,在写操作中,数据DATA在存储器控制器100的控制下被写入半导体存储器装置400中,在读操作中,从半导体存储器装置400读取数据DATA。
图7是示出在图6的存储器***中传送的命令的示例的示图。
作为示例,图7示出根据诸如预充电命令PRE、全存储体预充电命令PREA、激活命令ACT、写命令WR和读命令RD的双数据速率4(DDR4)同步动态随机存取存储器(SDRAM)标准的一些命令CMD。
命令CMD、存储体组地址BG、存储体地址BA、行地址RA和列地址CA的类型可以由通过图6的控制总线61发送的信号CKE、CS n、ACT n、RAS n、CAS n、WE n、BG0-BG1、BA0-BA1、C2-C0、BC-n和A0-A17的组合来确定。在图7中,H表示逻辑高电平,L表示逻辑低电平,并且V表示逻辑低电平或逻辑高电平。EG1和EG2表示时钟信号CKE的第一上升沿和第二上升沿。
激活命令ACT用来在后续过程中打开或激活特定存储器存储体的一行(即,字线)。打开的(或激活的)字线保持激活直至发出预充电命令PRE或全存储体预充电命令PREA为止。在同一存储器存储体中的另一行被打开或激活之前,必须对存储器存储体进行预充电。预充电命令PRE用来去激活或关闭特定存储器存储体的打开行,并且全存储体预充电命令PREA用来去激活或关闭所有存储器存储体的打开行。
图8是示出根据示例实施例的在存储器***的正常模式和顺序模式下的请求的执行次序的示图。
图8示出由包括在图4的电子***11中的存储器控制器100接收的输入次序、以及在正常模式NMD下由请求控制电路RCC确定的执行次序和在顺序模式SMD下由请求控制电路RCC确定的执行次序。为了简洁,省略与图8有关的与图4的描述重复的描述。
参照图4和图8,例如,存储器控制器100的请求控制电路RCC可以顺序地接收第一请求REQ11、第三请求REQ21、第四请求REQ22和第二请求REQ12。
请求控制电路RCC可以在不管正常模式NMD中的位置信息LI的情况下确定请求的执行次序。例如,请求控制电路RCC可以根据轮询方案逐一地选择并输出从多个主装置31和32接收的请求。换言之,如图8中所示,请求控制电路RCC可以以第一请求REQ11、第三请求REQ21、第二请求REQ12和第四请求REQ22的次序确定请求的执行次序。
另一方面,在顺序模式SMD中,请求控制电路RCC基于包括在每个请求中的位置信息LI来确定请求的执行次序,使得与存储器装置400的同一行地址对应并且从一个主装置接收的请求被连续地执行。例如,可以在来自单个主装置的两个命令之间不执行来自另一主装置的另一命令的情况下一个接另一个地执行这两个命令。请求控制电路RCC可以确定执行次序,使得可以在连续地执行与同一行地址对应的请求之后执行从除这一个主装置外的主装置接收的请求。换言之,如图8中所示,请求控制电路RCC可以确定请求的执行次序,使得可以以第一请求REQ11、第二请求REQ12、第三请求REQ21和第四请求REQ22的次序来执行请求。如此,可以基于位置信息LI连续地执行与存储器装置400的同一第一行地址RA1对应并且从第一主装置31接收的第一请求REQ11和第二请求REQ12。在连续地执行第一请求REQ11和第二请求REQ12之后,可以执行从另一主装置(即,第二主装置32)接收的请求。相似地,可以基于位置信息LI连续地执行与存储器装置400的同一第二行地址RA2对应并且从第二主装置32接收的第三请求REQ21和第四请求REQ22。
图9A和图9B是示出根据图8的执行次序的存储器***的操作的时序图。
图9A和图9B示出第一请求REQ11、第二请求REQ12、第三请求REQ21和第四请求REQ22中的全部是用于执行写操作的请求的情况。通过将第一写命令WR11和第一写数据DT11传送到存储器装置400来执行第一请求REQ11,并且通过将第二写命令WR12和第二写数据DT12传送到存储器装置400来执行第二请求REQ12。通过将第三写命令WR21和第三写数据DT21传送到存储器装置400来执行第三请求REQ21,并且通过将第四写命令WR22和第四写数据DT22传送到存储器装置400来执行第四请求REQ22。在图9A和图9B中,tRCD、tCCD、CWL、tWR和tRCD指示在命令CMD与数据之间要确保的最小时间限制(例如,时钟数),并且BL指示数据发送的突发长度。
在由第一激活命令ACT1激活(或打开)与第一行地址RA1对应的第一字线之后,可以在同一存储器存储体内激活(打开)与第二行地址RA2对应的另一第二字线。在此情况下,必须由预充电命令PRE来去活或去激活(关闭)存储器存储体,并且随后必须由第二激活命令ACT2来激活第二字线。在实施例中,在由第二激活命令ACT2激活第二字线之后,为了激活第一字线,由预充电命令PRE去激活存储器存储体,并且随后由第一激活命令ACT1激活第一字线。
图9A示出根据与图8的正常模式NMD对应的执行次序的命令和数据,并且图9B示出根据与图8的顺序模式SMD对应的执行次序的命令和数据。
如图9A中所示,在与正常模式NMD对应的执行次序的情况下,用于不同的字线的写操作交错,并且预充电命令PRE以及激活命令ACT1和ACT2的数量可以增加。根据激活的字线的改变的时间延迟和功耗可以被称为“附加资源”。
另一方面,如图9B中所示,在与顺序模式SMD对应的执行次序的情况下,与第一行地址RA1对应的第一请求REQ11和第二请求REQ12被连续地执行,并且随后与第二行地址RA2对应的第三请求REQ21和第四请求REQ22被连续地执行。
存储器控制器100可以在顺序模式SMD下将一个激活命令发送到存储器装置400以连续地执行与同一行地址对应的请求。存储器装置400可以基于一个激活命令激活与同一行地址对应的选择的字线,并且在连续地执行与同一行地址对应的请求的同时保持选择的字线的激活状态。例如,如图9B中所示,存储器控制器100可以传送一个激活命令ACT1以基于这一个激活命令ACT1执行与存储器装置400的同一第一行地址RA1对应的第一请求REQ11和第二请求REQ12。由于在第一请求REQ11和第二请求REQ12被连续地执行的同时预充电命令PRE不从存储器控制器100发送,因此存储器装置400可以保持与第一行地址RA1对应的选择的字线的激活状态。
结果,如图9A和图9B中所示,与在正常模式NMD下的执行时间tEXEN相比,在顺序模式SMD下的执行时间tEXES可以减少。
图10A和图10B是示出根据示例实施例的在电子***的正常模式和顺序模式下生成附加资源的示图。
图10A示出正常模式NMD的情况,并且图10B示出顺序模式SMD的情况。
参照图10A和图10B,第一主装置MST1将与同一行地址(例如,第一行地址RA1)对应的写数据DT11和DT12传送到存储器控制器MC,并且第二主装置MST2将与同一行地址(例如,第二行地址RA2)对应的写数据DT21、DT22、DT23和DT24发送到存储器控制器MC。数据可以分别根据与正常模式NMD或顺序模式SMD对应的执行次序被顺序地传送到存储器装置MEM。
如图10A中所示,在与正常模式NMD对应的执行次序的情况下,附加资源ARS可能根据选择的字线的频率改变而频繁地发生。另一方面,在如图10B中所示的与顺序模式SMD对应的执行次序的情况下,通过连续地或持续地执行与同一行对应的请求,附加资源ARS的发生频率可以显著减少。
图11是示出根据示例实施例的存储器控制器的示图。
参照图11,存储器控制器100可以包括请求控制电路(RCC)110和命令生成器(CGN)120。
请求控制电路RCC可以包括多个请求队列电路111和请求仲裁电路115。多个请求队列电路111可以包括多个请求队列FFB1、FFB2、FFB3和FFB4以及多个主接口电路MSQ1、MSQ2、MSQ3和MSQ4。
多个请求队列FFB1、FFB2、FFB3和FFB4可以存储从多个主装置(例如,图1的主装置31、32、33和34)接收的请求REQ1、REQ2、REQ3和REQ4,使得每个请求队列顺序地存储从每个主装置接收的请求。在一些示例实施例中,多个请求队列FFB1、FFB2、FFB3和FFB4可以被实施为先进先出(FIFO)缓冲器。请求REQ1、REQ2、REQ3和REQ4中的每一个可以包括如上所述的位置信息LI。
请求仲裁电路115可以在顺序模式SMD下接收从多个请求队列FFB1、FFB2、FFB3和FFB4输出的请求之一,并且基于包括在每个请求中的位置信息LI顺序地输出由请求仲裁电路115接收的请求。
在一些示例实施例中,请求仲裁电路115包括多个从接口电路SL1、SL2、SL3和SL4、复用器MUX、仲裁器ABT(例如,电路)、状态寄存器SREG和主接口电路MS。包括在每个请求队列电路111中的每个主接口电路MSQi(i=1、2、3、4)和包括在请求仲裁电路115中的每个从接口电路SLi可以根据握手方案传送请求,如以下将参照图12A、图12B和图12C描述的。
复用器MUX可以在仲裁器ABT的控制下选择并顺序地输出从多个从接口电路SL1、SL2、SL3和SL4输出的请求之一。
仲裁器ABT可以控制复用器MUX的操作。在顺序模式SMD中,仲裁器ABT可以控制复用器MUX使得复用器MUX可以接收从多个请求队列FFB1、FFB2、FFB3和FFB4输出的请求之一,并且基于包括在每个请求中的位置信息LI逐一顺序地输出所接收的请求。同时,在在不管位置信息LI的情况下确定请求的执行次序的正常模式NMD中,复用器MUX可以在仲裁器ABT的控制下根据轮询方案或最近最少使用的(LRU)方案来逐一地接收并输出从多个请求队列电路111输出的请求。
在顺序模式SMD中,请求仲裁电路115可以基于位置信息LI连续地接收并输出从多个请求队列FFB1、FFB2、FFB3和FFB4之中的一个请求队列输出的请求,并且在请求仲裁电路连续地接收并输出从这一个请求队列输出的请求的同时停止接收从其它请求队列输出的请求。此外,请求仲裁电路115可以在连续地接收并输出从这一个请求队列输出的请求之后,根据轮询方案接收并输出从其它请求队列输出的请求。
状态寄存器SREG可以存储用于控制请求仲裁电路115的操作的信息(诸如模式信息MDI和深度信息DPI)。模式信息MDI可以指示当前的操作模式是正常模式NMD还是顺序模式SMD。深度信息DPI可以指示被连续地执行的请求的最大数量。请求仲裁电路115可以基于深度信息DPI连续地接收并输出等于或小于从一个请求队列输出的最大数量的请求。换言之,请求仲裁电路115可以将从一个主装置接收并且连续地执行的请求的数量限制为小于或等于深度信息DPI的最大数量。以下将参照图14描述根据深度信息DPI的请求的执行次序。
请求仲裁电路115的主接口电路MS可以将从复用器MUX顺序地输出的请求发送到命令生成器120的从接口电路SL。
命令生成器120可以基于通过从接口电路SL从请求仲裁电路115接收的请求来顺序地生成用于存储器访问操作的命令CMD。
图12A、图12B和图12C是示出根据示例实施例的由存储器控制器执行的事务的示例实施例的示图。
图12A示出一个主接口电路MSi和一个对应的从接口电路SLi。主接口电路MSi和从接口电路SLi可以包括用于传送就绪信号RDY、有效信号VLD、最后信号LST和数据信号DT的信号端口。
图12B示出分别与就绪信号RDY、有效信号VLD、最后信号LST和数据信号DT对应的端口、端口的位大小、端口的输入/输出(I/O)类型和有关描述。图12B示出数据信号DT的位大小为64的示例,但是本发明构思的示例实施例不限于此。
图12C示出由根据示例实施例的***执行的根据高级可扩展接口(AXI)协议的事务的示例。AXI协议采用使用有效信号VLD和就绪信号RDY的握手方案。在图12C中,时间点T1~T13指示时钟信号CLK的上升沿。
参照图12A、图12B和图12C,根据握手方案,如果主接口电路MSi准备将信号传送到从接口电路SLi,则主接口电路MSi可以(例如,在时间点T3之后)激活有效信号VLD,并且如果从接口电路SLi准备接收数据信号DT(换言之,为了接收分组的每个切片(slice)),则从接口电路SLi可以(例如,在时间点T5之后)激活就绪信号RDY。例如,主接口电路MSi可以将激活的有效信号VLD输出到从接口电路SLi以通知从接口电路SLi准备将信号传送到从接口电路SLi,从接口电路SLi可以响应于激活的有效信号VLD的接收而输出激活的就绪信号RDY以通知主接口电路MSi准备接收信号,并且随后主接口电路MSi可以响应于激活的就绪信号RDY的接收而将信号传送到从接口电路SLi。当主接口电路MSi准备传送分组的最后切片时,主接口电路MSi可以激活最后信号LST。
可以响应于主接口电路MSi和从接口电路SLi两者处的时钟信号CLK的上升沿来执行信号的采样。因此,如图12C中所示,切片SLC1、SLC2、SLC3和SLC4可以在时间点T6、T9、T10和T13从主接口电路MSi传送到从接口电路SLi。
图13是示出根据示例实施例的电子***的框图。
参照图13,电子***12包括与第一主装置31对应的主机处理器(HPRC)31、与第二主装置32对应的直接存储器访问装置(DMAIP)32、存储器管理单元(MMU)70(例如,存储器管理电路)、存储器控制器100和存储器装置(MEM)400。直接存储器访问装置32可以由从主机处理器31提供的控制信号CTRLD控制,并且存储器管理单元70可以由从主机处理器31提供的控制信号CTRLM控制。
存储器装置400可以存储用户数据、元数据和程序代码。诸如操作***和应用程序的软件程序可以被加载到存储器装置400中,并且存储器装置400可以用作电子***12的工作存储器。
存储器装置400可以被实施为诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的易失性存储器,但是本发明构思的示例实施例不限于此。存储器装置400可以被实施为其它类型的易失性或非易失性存储器装置。
直接存储器访问装置32具有用于存储器装置400的直接存储器访问功能。例如,直接存储器访问装置400可以是照相机、图形处理单元(GPU)、神经处理单元(NPU)、***部件互连高速(PCIe)装置或通用闪速存储(UFS)装置。图13示出一个直接存储器访问装置,但是本发明构思的示例实施例不限于此。电子***12可以包括具有各种功能的多个知识产权(IP),并且两个或更多个IP可以具有直接存储器访问功能。
直接存储器访问是在没有诸如中央处理单元(CPU)的主机处理器31介入的情况下直接向存储器装置400传送数据并从存储器装置400直接传送数据的方法,并且可以由电子***12内部的传送总线支持。
直接存储器访问方法包括突发模式和循环窃取模式,突发模式从CPU取得控制并且立即传送数据,循环窃取模式在CPU不访问存储器时执行直接存储器访问。由于直接存储器访问在数据传送期间不需要CPU干预,因此因为CPU可以执行其它任务而可以提高***性能。
存储器管理单元70可以管理主机处理器31对存储器装置400的核心访问和直接存储器访问装置32对存储器装置400的直接访问。核心访问和直接访问可以包括用于从存储器装置400读取数据的读操作和用于将数据存储到主机存储器装置400的写操作。
核心访问基于从主机处理器31发出的核心访问请求CREQ来执行,并且直接访问基于从直接存储器访问装置32发出的直接访问请求DREQ来执行。例如,在写操作的情况下,元数据MDT可以与核心访问请求CREQ一起从主机处理器31发送到存储器控制器100,并且用户数据UDT可以与直接访问请求DREQ一起从直接存储器访问装置32发送到存储器控制器100。
核心访问请求CREQ和直接访问请求DREQ可以各自包括用于数据写操作或数据读操作的物理地址PA。存储器管理单元70可以通过执行地址转换来提供映射到虚拟地址VA的物理地址PA。虚拟地址VA表示操作***的虚拟地址空间中的位置,并且物理地址PA表示存储器装置400的存储器区域的实际物理位置。
存储器管理单元70可以包括转译后备缓冲器TLB,转译后备缓冲器TLB存储最近参考的地址映射信息和/或频繁参考的地址映射信息。
根据示例实施例,主机处理器31和直接存储器访问装置32各自包括前述位置信息生成器LIG1和LIG2,并且存储器控制器100可以包括如上所述的请求控制电路RCC和命令生成器CGN。
图14是示出包括在图13的电子***中的存储器装置的效率的示图。
图14示出在深度信息DPI为二和四时相对于正常模式NMD和顺序模式SMD的用户数据UDT的示例传送。深度信息DPI可以指示从一个主装置接收并且被连续地执行的请求的最大数量。例如,512B(字节)的用户数据UDT可以通过一个核心访问请求CREQ来传送,并且4B的元数据MDT可以通过一个直接访问请求DREQ来传送。
在DRAM中,当在与特定行地址对应的存储器访问操作之后执行与另一行地址对应的存储器访问操作时,可以使用参照图9A至图10B描述的附加资源ARS。
当传送与同一行地址对应的连续数据(诸如顺序写)时,可以在数据吞吐方面实现最大效率,但是在用户数据UDT的发送期间可能需要元数据MDT的传送。当执行另一命令时,消耗附加资源。因此,由于元数据MDT的交错更加频繁地发生,因此效率变得更低。
DRAM的吞吐可以由最大带宽和效率的乘积确定。效率可以由数据传送时间与总操作时间之比确定。如图14中所示,与正常模式NMD相比,在顺序模式SMD的情况下效率提高。此外,随着深度信息DPI(即,从一个主装置接收并且被连续地执行的请求的最大数量)增大,效率提高。
图15A是示出根据示例实施例的半导体存储器装置的框图。
参照图15A,半导体存储器装置400可以包括命令控制逻辑410、地址寄存器420、存储体控制逻辑430、行选择电路460(或行解码器)、列解码器470、存储器单元阵列480、读出放大器单元485、输入/输出(I/O)门控电路490、数据输入/输出(I/O)缓冲器495和刷新控制器500(例如,控制电路)。
存储器单元阵列480可以包括多个存储体阵列480a、……、480h。行选择电路460可以包括分别耦接到存储体阵列480a、……、480h的多个存储体行选择电路460a、……、460h。列解码器470可以包括分别耦接到存储体阵列480a、……、480h的多个存储体列解码器470a、……、470h。读出放大器单元485可以包括分别耦接到存储体阵列480a、……、480h的多个存储体读出放大器485a、……、485h。
地址寄存器420可以从存储器控制器200接收包括存储体地址BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR的地址ADDR。地址寄存器420可以将所接收的存储体地址BANK_ADDR提供到存储体控制逻辑430,可以将所接收的行地址ROW_ADDR提供到行选择电路460,并且可以将所接收的列地址COL_ADDR提供到列解码器470。
存储体控制逻辑430可以响应于存储体地址BANK_ADDR来生成存储体控制信号。可以响应于存储体控制信号而激活与存储体地址BANK_ADDR对应的存储体行选择电路460a、……、460h之一,并且可以响应于存储体控制信号而激活与存储体地址BANK_ADDR对应的存储体列解码器470a、……、470h之一。
来自地址寄存器420的行地址ROW_ADDR可以被施加到存储体行选择电路460a、……、460h。存储体行选择电路460a、……、460h之中的激活的一个存储体行选择电路可以对行地址ROW_ADDR进行解码,并且可以激活与行地址ROW_ADDR对应的字线。例如,激活的存储体行选择电路460可以将字线驱动电压施加到与行地址ROW_ADDR对应的字线。
列解码器470可以包括列地址锁存器。列地址锁存器可以从地址寄存器420接收列地址COL_ADDR,并且可以临时存储所接收的列地址COL_ADDR。在一些示例实施例中,在突发模式中,列地址锁存器可以生成从所接收的列地址COL_ADDR递增的列地址。列地址锁存器可以将临时存储的或生成的列地址施加到存储体列解码器470a、……、470h。
存储体列解码器470a、……、470h中的激活的一个存储体列解码器可以对列地址COL_ADDR进行解码,并且可以控制I/O门控电路490输出与列地址COL_ADDR对应的数据。
I/O门控电路490可以包括用于门控输入/输出数据的电路。I/O门控电路490还可以包括用于存储从存储体阵列480a、……、480h输出的数据的读数据锁存器和用于将数据写入存储体阵列480a、……、480h的写驱动器。
要从存储体阵列480a、……、480h中的一个存储体阵列读取的数据可以由存储体读出放大器485a、……、485h中的耦接到要从中读取数据的一个存储体阵列的一个存储体读出放大器读出,并且可以被存储在读数据锁存器中。存储在数据锁存器中的数据可以经由数据I/O缓冲器495被提供到存储器控制器200。要被写入存储体阵列480a、……、480h中的一个存储体阵列的数据DQ可以从存储器控制器200被提供到数据I/O缓冲器495。写驱动器可以将数据DQ写入存储体阵列480a、……、480h中的一个存储体阵列中。
命令控制逻辑410可以控制存储器装置400的操作。例如,命令控制逻辑410可以生成用于存储器装置400执行写操作、读操作或刷新操作的控制信号。命令控制逻辑410可以基于从存储器控制器传送的命令CMD来生成诸如激活信号IACT、预充电信号IPRE、刷新信号IREF、读信号IRD、写信号IWR等的内部命令信号。命令控制逻辑410可以包括对从存储器控制器200接收的命令CMD进行解码的命令解码器411和设定存储器装置400的操作模式的模式寄存器组412。
刷新控制器500可以控制相对于包括在存储器单元阵列480中的存储器单元的刷新操作,并且生成指示在存储器单元阵列480中执行刷新操作的位置的刷新地址RFADD。
尽管命令控制逻辑410和地址寄存器420在图15A中被示出为单独的部件,但是命令控制逻辑410和地址寄存器420可以被实施为一个不可分的部件。此外,尽管命令CMD和地址ADDR在图15A中被示出为作为单独的信号提供,但是地址可以被视为包括在如DDR4、DDR5、HBM、LPDDR5标准等中所呈现的命令中。
图15B是示出包括在图15A的存储器装置中的存储体阵列的示图。第一存储体阵列480a可以代表图15A中的第一存储体阵列480a至第八存储体阵列480h。
参照图15B,第一存储体阵列480a可以包括多条字线WL0~WLm-1(其中,m是等于或大于二的偶数整数)、多条位线BTL0~BTLn-1(其中,n是等于或大于二的偶数整数)、以及设置在字线WL0~WLm-1与位线BTL0~BTLn-1之间的交点处的多个存储器单元MC。
在一些示例实施例中,存储器单元MC中的每一个可以包括DRAM单元。多个存储器单元MC的布置可以基于存储器单元MC是耦接到偶数字线(例如,字线WL0)还是奇数字线(例如,字线WL1)而不同。例如,可以基于由访问地址选择的字线是偶数字线还是奇数字线来选择耦接到相邻的存储器单元MC的位线。
图16是示出根据示例实施例的包括在存储器***中的存储器装置的示意性配置的示图。
参照图16,子单元阵列SCA、读出放大器区域RSA、字线驱动器区域RWD以及电力和控制区域RPC可以设置在存储器核心电路中。在图16中省略上述解码器区域RRD。如所示出的,子单元阵列SCA可以包括在行方向上延伸的多条字线WL4~WL7、在列方向上延伸的多条位线BT0~BT3、以及设置在字线WL4~WL7和位线BT0~BT3的交点处的存储器单元MC。字线驱动器区域RWD可以包括可分别驱动字线WL4~WL7的多个子字线驱动器SWD。读出放大器区域RSA可以包括耦接到具有开放位线结构的位线BT0~BT3的位线读出放大器BLSA和局部读出放大器(LSA)电路570。位线读出放大器BLSA可以读出和放大位线BT0~BT3之间的电压差以将经放大的电压差提供到局部I/O线对LIO1和LIOB1。用于将电力供应到每个子***电路的电力电路和用于控制每个子***电路的操作的控制电路可以设置在电力和控制区域RPC中。图16示出设置在电力和控制区域RPC中的电压驱动器VG,但是示例实施例不限于此。
图17是示出包括在图16的存储器装置中的子字线驱动器的示例实施例的示图。
图17示出多条字线WL1~WL4通过子字线驱动器SWD1~SWD4连接到一条主字线NWE的示例。信号PXID1~PXID4和PXIB1~PXIB4通过地址解码来生成。信号PXID1~PXID4可以由包括在上述解码器区域RRD中的行解码电路生成。行解码电路通过对行地址的至少一部分进行解码来生成信号PXID1~PXID4。
当在对一行(字线)的访问操作之后执行对另一行的访问操作时,如上所述的附加资源可以由于地址解码、一行的去活和另一行的激活等而发生。根据示例实施例,通过基于位置信息有效地确定请求的执行次序,可以减少存储器装置的附加资源,并且可以提高存储器装置的效率,从而提高存储器装置和包括存储器装置的电子***的性能。
图18是示出根据示例实施例的包括在存储器***中的堆叠的存储器装置的示图。
参照图18,半导体存储器装置900可以包括第一半导体集成电路层LA1(910)至第k半导体集成电路层LAk(920),其中,最低的第一半导体集成电路层LA1被假设为接口或控制芯片,并且其它半导体集成电路层LA2至LAk被假定为包括核心存储器芯片的从芯片。从芯片可以形成如上所述的多个存储器存储体。例如,从芯片可以与从电路41-43对应。
第一半导体集成电路层LA1至第k半导体集成电路层LAk可以通过衬底穿通件TSV(例如,硅穿通件)在层之间发送和接收信号。作为接口或控制芯片的最低的第一半导体集成电路层LA1可以通过形成在外表面上的导电结构与外部存储器控制器通信。
第一半导体集成电路层LA1(910)至第k半导体集成电路层LAk(920)中的每一个可以包括存储器区域921和用于驱动存储器区域921的***电路922。例如,***电路922可以包括用于驱动存储器的字线的行驱动器、用于驱动存储器的位线的列驱动器、用于控制数据的输入输出的数据输入输出电路、用于从外部源接收命令并且缓冲该命令的命令缓冲器、以及用于从外部源接收地址并且缓冲该地址的地址缓冲器。
第一半导体集成电路层LA1(910)还可以包括控制电路。控制电路可以基于来自存储器控制器的命令和地址信号来控制对存储器区域921的访问,并且可以生成用于访问存储器区域921的控制信号。
根据示例实施例,堆叠的存储器装置900可以是其中半导体层LA1至LAk包括多个DRAM半导体管芯的高带宽存储器(HBM)。
图19是示出根据示例实施例的电子***的互连架构的示例实施例的框图。例如,互连装置80可以由互连架构实施。
参照图19,示出了由互连一组部件的点到点链路组成的设计的示例实施例。电子***15包括耦接到控制器集线器315的主机处理器(HPRC)210、存储器控制器(MC)220和存储器管理单元(MMU)230。存储器控制器220可以通过存储器接口耦接到存储器装置(MEM)400。存储器接口的示例包括双数据速率(DDR)存储器接口、双通道DDR存储器接口和动态RAM(DRAM)存储器接口。
主机处理器210包括诸如微处理器、主机处理器、嵌入式处理器、协处理器或其它处理器的任何处理元件。主机处理器210通过前端总线(FSB)306耦接到控制器集线器315。在一个示例实施例中,FSB 306是串行点到点互连件。在另一示例实施例中,FSB 306包括符合不同互连标准的串行差分互连架构。
存储器装置400包括诸如随机存取存储器(RAM)、非易失性(NV)存储器、固态存储器或可由***300中的装置访问的其它存储器的任何存储器装置。存储器装置400通过存储器控制器220经由接口316耦接到控制器集线器315。
在一个示例实施例中,控制器集线器315是***部件互连高速(PCIe或PCIE)互连层次结构中的根集线器、根联合体、或根控制器。控制器集线器315的示例包括芯片组、存储器控制器集线器(MCH)、北桥、互连控制器集线器(ICH)、南桥和根控制器/集线器。芯片组可以指两个物理上分离的控制器集线器,即,耦接到互连控制器集线器(ICH)的存储器控制器集线器(MCH)。MCH可以与主机处理器集成,而控制器集线器315用来以与如下所述的相似方式与I/O装置通信。在一些示例实施例中,可选地通过根联合体或控制器集线器315支持对等路由。
在实施例中,控制器集线器315通过串行链路耦接到交换机/桥接器319。也可以被称为接口/端口317和321的输入/输出模块317和321包括/实施分层协议栈以提供控制器集线器315与交换机/桥接器319之间的通信。在一个示例实施例中,多个装置能够耦接到交换机/桥接器319。
交换机/桥接器319将分组/消息从输入输出装置301、302和303向上游(即,朝向根联合体的层级向上)路由到控制器集线器315,并向下游(即,远离根控制器的层级向下)从主机处理器210或存储器控制器220路由到输入输出装置301、302和303。在一个示例实施例中,交换机/桥接器319被称为多个虚拟PCI到PCI桥装置的逻辑组件。输入输出装置301、302和303包括要耦接到电子***的任何内部或外部装置或部件,诸如I/O装置、网络接口控制器(NIC)、***卡、音频处理器、网络处理器、硬盘驱动器、存储装置、CD/DVD ROM、监视器、打印机、鼠标、键盘、路由器、便携式存储装置、火线装置、通用串行总线(USB)装置、扫描仪、和其它输入/输出装置。通常在PCIe行话中,这样的装置被称为端点。尽管没有具体示出,但是输入输出装置301、302和303可以包括PCIe到PCI/PCI-X桥以支持传统或其它版本的PCI装置。PCIe中的端点装置可以被划分为传统的、PCIe的、或者根联合体集成的端点。
在实施例中,存储器管理单元230还通过串行链路332耦接到控制器集线器315。I/O模块331和318用来实施分层协议栈以在存储器管理单元230与控制器集线器315之间通信。
存储器管理单元230可以包括转译后备缓冲器TLB,转译后备缓冲器TLB被配置为存储最近参考的和/或频繁参考的地址映射信息。
如上所述,根据示例实施例,为了基于位置信息支持存储器访问功能,具有直接存储器访问功能的主机处理器210和输入输出装置301、302和303可以包括位置信息生成器LIG,并且存储器控制器220可以包括请求控制电路RCC和命令生成器CGN。
图20是示出根据示例实施例的电子***的框图。
参照图20,电子***1000可以包括片上***(SoC)、工作存储器1130、显示装置(DIS)1152、触摸面板1154、存储装置1170、电力管理集成电路(PMIC)1200等。SoC可以包括处理器(HRPC)1110、存储器管理单元(MMU)1115、存储器控制器(MC)1120、性能控制器(PFMC)1140、用户接口控制器(UI控制器)1150、存储接口1160、直接存储器访问装置(DMAIP)1180、电力管理单元(PMU)1144、时钟管理单元(CMU)1146等。将理解,电子***1000的部件不限于图20中所示的部件。例如,电子***1000还可以包括用于处理图像数据的硬件编解码器、安全块等。
处理器1110执行用于电子***1000的软件(例如,应用程序、操作***(OS)和装置驱动器)。处理器1110可以执行可以被加载到工作存储器1130中的操作***(OS)。处理器1110可以执行要在操作***(OS)上驱动的各种应用程序。处理器1110可以作为同构多核处理器或异构多核处理器提供。多核处理器是包括至少两个独立的可独立驱动处理器的计算部件(在下文中被称为“核”或“处理器核”)。核中的每一个可以独立地读取和执行程序指令。
处理器1100的处理器核可以被分组为以独立的驱动时钟和独立的驱动电压操作的多个群集。同一群集中的处理器核可以包括在基于相同的时钟信号操作的时钟域中和/或基于相同的驱动电压操作的电力域中。被提供到处理器核中的每一个的驱动电压和/或时钟信号可以被切断或以单个核为单位连接。
操作***(OS)的内核可以监视任务队列中的任务的数量以及处理器1110在特定时间间隔的驱动电压和驱动时钟,以控制处理器1110。此外,操作***(OS)的内核可以参考所监视的信息来控制处理器1110的热***或热拔出。
存储器控制器1120提供工作存储器1130与片上***(SoC)之间的接口。存储器控制器1120可以根据处理器1110或另一知识产权(IP)块的请求来访问工作存储器1130。
操作***(OS)或基本应用程序可以在启动操作期间被加载到工作存储器1130中。例如,存储在存储装置1170中的OS图像在电子***1000的启动期间基于启动序列被加载到工作存储器1130中。电子***1000的总体输入/输出操作可以由操作***(OS)支持。工作存储器1130可以是易失性存储器(诸如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM))、或者非易失性存储器装置(诸如相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、电阻随机存取存储器(ReRAM)、铁电随机存取存储器(FRAM)和NOR闪速存储器)。
性能控制器1140可以根据从操作***(OS)的内核提供的控制请求来调整片上***(SoC)的操作参数。例如,性能控制器1140可以调整DVFS的电平以增强片上***(SoC)的性能。可替换地,性能控制器1140可以根据内核的请求生成频率选择信号以控制处理器核的频率。在此情况下,性能控制器1140可以包括性能表(PFMT)1142以在其中设定驱动电压和驱动时钟的频率。性能控制器1140可以控制PMU 1144和CMU 1146(PMU 1144和CMU 1146一起形成电力管理电路,连接到PMIC 1200)以将确定的驱动电压和确定的驱动时钟提供到每个电力域。
用户接口控制器1150控制来自用户接口装置的用户输入和输出。例如,用户接口控制器1150可以根据处理器1110的控制来显示用于向显示装置1152输入数据的键盘屏幕。可替换地,用户接口控制器1150可以控制显示装置1152显示用户请求的数据。用户接口控制器1150可以将从诸如触摸面板1154的用户输入装置提供的数据解码成用户输入数据。
存储接口1160根据CPU 1110的请求来访问存储装置1170。例如,存储接口1160提供片上***(SoC)与存储装置1170之间的接口。例如,由CPU 1110处理的数据通过存储接口1160存储在存储装置1170中。可替换地,存储在存储装置1170中的数据可以通过存储接口1160被提供到CPU 1110。
存储装置1170作为电子***1000的存储介质提供。存储装置1170可以存储应用程序、OS图像和各种类型的数据。存储装置170可以作为存储器卡(例如,MMC、eMMC、SD、MicroSD等)提供。存储装置170可以包括具有高容量存储能力的NAND型闪速存储器。可替换地,存储装置1170可以包括诸如PRAM、MRAM、ReRAM和FRAM或NOR型闪速存储器的下一代非易失性存储器。
诸如图形处理单元(GPU)的直接存储器访问装置1180可以作为单独的知识产权(IP)部件提供以增大多媒体或多媒体数据的处理速度。例如,直接存储器访问装置1180可以作为知识产权(IP)部件来提供以增强文本、音频、静止图像、动画、视频、二维数据或三维数据的处理性能。直接存储器访问装置1180可以由主装置31-34之一实施。
***互连器1190可以是用于在片上***(SoC)中提供片上网络的***总线。***互连器1190可以包括例如数据总线、地址总线和控制总线。***互连器1190可以由互连装置80实现。数据总线是数据传送路径。还可以提供到工作存储器1130或存储装置1170的存储器访问路径。地址总线提供知识产权(IP)之间的地址交换路径。控制总线提供这样的路径:控制信号沿着该路径在知识产权(IP)之间传输。然而,***互连器1190的配置不限于以上描述,并且***互连器190还可以包括用于有效管理的仲裁装置。
如上所述,根据示例实施例,为了基于位置信息支持存储器访问功能,处理器1110和直接存储器访问装置1180可以包括位置信息生成器LIG,并且存储器控制器1120可以包括请求控制电路RCC和命令生成器CGN。
本发明构思可以应用于存储数据的任何电子装置和***。例如,本发明构思可以应用于诸如存储器卡、固态驱动器(SSD)、嵌入式多媒体卡(eMMC)、通用闪速存储(UFS)、移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、摄像机、个人计算机(PC)、服务器计算机、工作站、膝上型计算机、数字TV、机顶盒、便携式游戏控制台、导航***、可穿戴装置、物联网(IoT)装置、万物联网(IoE)装置、电子书、虚拟现实(VR)装置、增强现实(AR)装置、服务器***、汽车驾驶***等的***。
以上是示例实施例的说明,并且不应被解释为对其的限制。尽管已经描述了一些示例实施例,但是本领域技术人员将容易地理解,在实质上不脱离本发明构思的情况下,可以在示例实施例中进行许多修改。

Claims (20)

1.一种电子***,包括:
多个主装置,其被配置为生成用于存储器访问操作的请求,每个请求包括指示请求是否要连续地执行的位置信息;
存储器控制器,其被配置为从所述多个主装置接收所述请求,基于所述位置信息确定所述请求的执行次序,并且根据所述执行次序顺序地生成用于执行所述存储器访问操作的命令;以及
存储器装置,其被配置为从所述存储器控制器接收所述命令,并且基于所述命令执行所述存储器访问操作。
2.根据权利要求1所述的电子***,其中,所述存储器控制器基于所述位置信息确定所述执行次序,使得与所述存储器装置的同一行地址对应并且从所述主装置之中的一个主装置接收的请求被连续地执行。
3.根据权利要求2所述的电子***,其中,所述存储器控制器传送一个激活命令以基于所述一个激活命令执行与所述存储器装置的所述同一行地址对应的请求。
4.根据权利要求3所述的电子***,其中,所述存储器装置基于所述一个激活命令激活所述存储器装置的与所述同一行地址对应的选择的字线,并且在与所述同一行地址对应的请求被连续地执行的同时保持所述选择的字线的激活状态。
5.根据权利要求2所述的电子***,其中,所述存储器控制器确定所述执行次序,使得在所述与所述同一行地址对应的请求被连续地执行之后执行从所述主装置的除所述一个主装置外的另一个主装置接收的请求。
6.根据权利要求1所述的电子***,其中,所述存储器控制器基于指示从所述主装置之中的一个主装置接收并且被连续地执行的请求的最大数量的深度信息来确定所述执行次序。
7.根据权利要求1所述的电子***,其中,所述存储器控制器在顺序模式和正常模式之一下操作,在所述顺序模式中,基于所述位置信息确定所述执行次序,在所述正常模式中,在不考虑所述位置信息的情况下确定所述执行次序。
8.根据权利要求1所述的电子***,其中,所述存储器控制器包括:
多个请求队列,其被配置为存储从所述多个主装置接收的请求,使得每个请求队列顺序地存储从每个主装置接收的请求;以及
请求仲裁电路,其被配置为接收从所述多个请求队列输出的经存储的请求,并且顺序地输出由所述请求仲裁电路接收的请求。
9.根据权利要求8所述的电子***,其中,所述请求仲裁电路基于所述位置信息连续地接收并输出从所述请求队列之中的一个请求队列输出的请求,并且在所述请求仲裁电路连续地接收并输出从所述一个请求队列输出的所述请求的同时停止接收从除所述一个请求队列外的所述请求队列输出的请求。
10.根据权利要求9所述的电子***,其中,基于指示从所述主装置之中的一个主装置接收并且被连续地执行的请求的最大数量的深度信息,所述请求仲裁电路将从所述一个主装置接收并且被连续地执行的所述请求的数量限制为小于或等于所述最大数量。
11.根据权利要求9所述的电子***,其中,在连续地接收并输出从所述一个请求队列输出的所述请求之后,所述请求仲裁电路根据轮询方案接收并输出从除所述一个请求队列外的所述请求队列输出的请求。
12.根据权利要求8所述的电子***,其中,在不考虑所述位置信息的情况下确定所述执行次序的正常模式中,所述请求仲裁电路根据轮询方案逐一地接收并输出从所述多个请求队列输出的请求。
13.根据权利要求8所述的电子***,其中,根据使用有效信号和就绪信号的握手方案,从所述多个请求队列输出的请求被传送到所述请求仲裁电路。
14.根据权利要求8所述的电子***,其中,所述存储器控制器还包括:
命令生成器,其被配置为基于从所述请求仲裁电路顺序地输出的所述请求来顺序地生成所述命令。
15.根据权利要求1所述的电子***,其中,相对于顺序地生成的在前请求和在后请求,所述多个主装置中的每个主装置在需要连续地执行所述在前请求和所述在后请求时将所述在前请求中的所述位置信息设定为第一值,并且在不需要连续地执行所述在前请求和所述在后请求时将所述在前请求中的所述位置信息设定为与所述第一值不同的第二值。
16.根据权利要求15所述的电子***,其中,所述存储器控制器在所述在前请求中的所述位置信息具有所述第一值时确定所述执行次序,使得所述在前请求和所述在后请求被连续地执行,并且在所述在前请求中的所述位置信息具有所述第二值时在所述在前请求之后执行从另一主装置接收的请求。
17.根据权利要求1所述的电子***,其中,所述存储器装置是动态随机存取存储器装置。
18.一种存储器控制器,包括:
第一请求队列,其被配置为接收从第一主装置传送的第一请求并且存储所述第一请求,所述第一请求包括指示所述第一请求中的一些是否要被连续地执行的第一位置信息;
第二请求队列,其被配置为接收从第二主装置传送的第二请求并且存储所述第二请求,所述第二请求包括指示所述第二请求中的一些是否要被连续地执行的第二位置信息;以及
请求仲裁电路,其被配置为接收从所述第一请求队列输出的所述第一请求中的一些和从所述第二请求队列输出的所述第二请求中的一些,并且顺序地输出由所述请求仲裁电路接收的所述请求,使得与存储器装置的同一行地址对应的输出请求被连续地执行。
19.根据权利要求18所述的存储器控制器,其中,所述请求仲裁电路基于所述第一请求中的所述第一位置信息来连续地接收并输出从所述第一请求队列输出的所述第一请求,并且在所述请求仲裁电路连续地接收并且输出从所述第一请求队列输出的所述第一请求的同时停止接收从所述第二请求队列输出的所述第二请求,并且
其中,所述请求仲裁电路基于所述第二请求中的所述第二位置信息来连续地接收并输出从所述第二请求队列输出的所述第二请求,并且在所述请求仲裁电路连续地接收并输出从所述第二请求队列输出的所述第二请求的同时停止接收从所述第一请求队列输出的所述第一请求。
20.一种控制存储器访问的方法,包括:
由多个主装置生成用于存储器访问操作的请求,每个请求包括指示请求是否要被连续地执行的位置信息;
由存储器控制器基于所述位置信息来确定从所述多个主装置接收的所述请求的执行次序;
由所述存储器控制器根据所述执行次序来顺序地生成用于执行所述存储器访问操作的命令;以及
由存储器装置基于从所述存储器控制器接收的所述命令来执行所述存储器访问操作。
CN202311372286.1A 2022-11-22 2023-10-23 存储器控制器、电子***和控制存储器访问的方法 Pending CN118069037A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0157639 2022-11-22
KR1020220157639A KR20240076574A (ko) 2022-11-22 2022-11-22 메모리 컨트롤러, 이를 포함하는 전자 시스템 및 메모리 액세스 제어 방법

Publications (1)

Publication Number Publication Date
CN118069037A true CN118069037A (zh) 2024-05-24

Family

ID=87760391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311372286.1A Pending CN118069037A (zh) 2022-11-22 2023-10-23 存储器控制器、电子***和控制存储器访问的方法

Country Status (4)

Country Link
US (1) US20240168896A1 (zh)
EP (1) EP4375840A1 (zh)
KR (1) KR20240076574A (zh)
CN (1) CN118069037A (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983350B1 (en) * 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US8595411B2 (en) * 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US9281036B2 (en) * 2013-01-08 2016-03-08 Qualcomm Incorporated Memory device having an adaptable number of open rows
US10157023B2 (en) * 2016-02-25 2018-12-18 SK Hynix Inc. Memory controller and request scheduling method using request queues and first and second tokens

Also Published As

Publication number Publication date
US20240168896A1 (en) 2024-05-23
KR20240076574A (ko) 2024-05-30
EP4375840A1 (en) 2024-05-29

Similar Documents

Publication Publication Date Title
US9805802B2 (en) Memory device, memory module, and memory system
EP2737383B1 (en) Flash-dram hybrid memory module
US20160203091A1 (en) Memory controller and memory system including the same
CN111694514A (zh) 用于处理运算的存储器设备及操作该存储器设备的方法
US11036412B2 (en) Dynamically changing between latency-focused read operation and bandwidth-focused read operation
US11307977B2 (en) Technologies for direct matrix read and write operations
US10719462B2 (en) Technologies for computational storage via offload kernel extensions
US10884958B2 (en) DIMM for a high bandwidth memory channel
CN110275840B (zh) 在存储器接口上的分布式过程执行和文件***
CN115495389B (zh) 存储控制器、计算存储装置以及计算存储装置的操作方法
US11409440B2 (en) Systems, methods and apparatus for memory access and scheduling
KR20200108768A (ko) 연산 처리를 수행하는 메모리 장치 및 메모리 장치의 동작방법
CN114153373A (zh) 用于执行存储器设备内的数据操作的存储器***及其操作方法
CN111679783A (zh) 存储器控制器
US20190354483A1 (en) Controller and memory system including the same
CN117296033A (zh) 用于半导体装置的可调定时器组件
Khalifa et al. Memory controller architectures: A comparative study
US9176906B2 (en) Memory controller and memory system including the same
US11790963B2 (en) Electronic device including near-memory supporting mode setting, and method of operating the same
US20220027294A1 (en) Storage card and storage device
CN111694772A (zh) 存储器控制器
EP4375840A1 (en) Memory controller, electronic system including the same and method of controlling memory access
US20190096459A1 (en) Memory devices for performing multiple write operations and operating methods thereof
US20230376427A1 (en) Memory system and computing system including the same
US20240241646A1 (en) Memory system and method of operating memory system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication