CN114385522A - 具有裸片上高速缓冲存储器的存储器装置 - Google Patents

具有裸片上高速缓冲存储器的存储器装置 Download PDF

Info

Publication number
CN114385522A
CN114385522A CN202111209291.1A CN202111209291A CN114385522A CN 114385522 A CN114385522 A CN 114385522A CN 202111209291 A CN202111209291 A CN 202111209291A CN 114385522 A CN114385522 A CN 114385522A
Authority
CN
China
Prior art keywords
memory
cache
line
bank
data
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
CN202111209291.1A
Other languages
English (en)
Inventor
S·S·艾勒特
A·D·艾卡尔
S·斯瓦米
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN114385522A publication Critical patent/CN114385522A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/221Static RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/305Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请涉及一种具有裸片上高速缓冲存储器的存储器装置。一种示例存储器子系统包含:多个存储体组,其中每个存储体组包括多个存储器存储体;多个行缓冲器,其中所述多个行缓冲器中的两个或更多个行缓冲器与每个存储器存储体相关联;高速缓冲存储器,其包括多个高速缓存线;处理逻辑,其以通信方式耦合到所述多个存储体组和所述多个行缓冲器,所述处理逻辑用以执行包括以下各项的操作:接收指定所述多个存储器存储体中的存储器存储体的行的激活命令;将数据从指定行提取到所述多个行缓冲器中的行缓冲器;以及将所述数据复制到所述多个高速缓存线中的高速缓存线。

Description

具有裸片上高速缓冲存储器的存储器装置
技术领域
本公开的实施例大体上涉及存储器系统,且更具体地涉及实施具有裸片上高速缓冲存储器的存储器装置(例如,动态随机存取存储器(DRAM)装置)。
背景技术
DRAM装置包含分组为存储体组的多个存储器存储体,例如分组为四个存储体组的十六个存储器存储体。每个存储器存储体是包含多个存储器单元的存储器阵列,使得每个存储器单元能够取决于存储器单元类型而存储一或多个位的信息。
发明内容
在一方面中,本申请提供了一种存储器装置,其包括:多个存储体组,其中每个存储体组包括多个存储器存储体;多个行缓冲器,其中所述多个行缓冲器中的至少一个行缓冲器与所述多个存储器存储体中的每个存储器存储体相关联;高速缓冲存储器,其包括多个高速缓存线;处理逻辑,其以通信方式耦合到所述多个存储体组和所述多个行缓冲器,所述处理逻辑用以执行包括以下各项的操作:接收指定所述多个存储器存储体中的存储器存储体的行的激活命令;将数据从指定行提取到所述多个行缓冲器中的行缓冲器;以及将所述数据复制到所述多个高速缓存线中的高速缓存线。
在另一方面中,本申请进一步提供了一种芯片上系统,其包括:多个存储体组,其中每个存储体组包括多个存储器存储体;多个行缓冲器,其以通信方式耦合到所述多个存储体组;高速缓冲存储器,其包括多个高速缓存线;内容可寻址存储器(CAM)电路,其用以将存储器地址翻译为以下各项中的一项:所述多个存储器存储体中的特定存储器存储体的特定行的标识符或所述高速缓冲存储器的特定线的标识符;处理逻辑,其以通信方式耦合到所述多个存储体组和所述多个行缓冲器,所述处理逻辑用以执行包括以下各项的操作:接收指定存储器地址的读取命令;通过所述CAM电路将所述存储器地址翻译为所述多个高速缓存线中的高速缓存线的标识符;以及从所述高速缓存线读取数据。
在又一方面中,本申请进一步提供了一种方法,其包括:由存储器装置接收指定高速缓存提示和所述存储器装置的多个存储器存储体中的存储器存储体的行的激活命令;将数据从指定行提取到所述存储器装置的多个行缓冲器中的行缓冲器;基于鉴于与所述存储器装置相关联的高速缓存策略解译的所述高速缓存提示而将所述数据复制到所述存储器装置的多个高速缓存线中的高速缓存线。
附图说明
根据下文给出的具体实施方式和本公开的一些实施例的附图将更充分地理解本公开。
图1A-1B示意性地示出了根据本公开的各方面实施的示例存储器子系统的高级组件图。
图2示意性地示出了根据本公开的各方面的执行由高速缓存提示增强的激活(ACT)命令的主机和存储器子系统的交互。
图3示意性地示出了根据本公开的各方面的执行由高速缓存提示增强的预充电(PRE)命令的主机和存储器子系统的交互。
图4示意性地示出了根据本公开的各方面的执行由高速缓存提示增强的利用自动预充电读取(RDA)命令的主机和存储器子系统的交互。
图5示意性地示出了根据本公开的各方面的执行由高速缓存提示增强的利用自动预充电写入(WRA)命令的主机和存储器子系统的交互。
图6是根据本公开的实施例操作的存储器子系统执行存储器存取操作的示例方法的流程图。
图7示出了包含根据本公开的一些实施例实施的存储器子系统的示例计算系统。
图8是本公开的实施例可在其中操作的示例主机计算机系统的框图。
具体实施方式
本公开的实施例涉及实施具有裸片上高速缓冲存储器的存储器装置,例如动态随机存取存储器(DRAM)装置。
DRAM装置包含分组为存储体组的多个存储器存储体,例如分组为四个存储体组的十六个存储器存储体。每个存储器存储体是包含多个存储器单元的存储器阵列,使得每个存储器单元能够取决于存储器单元类型而存储一或多个位的信息。存储器单元包含保持电荷的电容器和用作控制对电容器的接入的开关的晶体管。因此,可通过施加特定电压来对存储器单元进行编程(写入),这产生由电容器保持的电荷。存储器单元通过字线和位线连接,所述字线是电连接到存储器单元的控制栅极的导线,所述位线是电连接到存储器单元的漏极电极的导线。
存储器存取操作可从激活(ACT)命令开始,所述ACT命令选择存储器存储体和行,并且将数据从选定行的存储器单元复制到行缓冲器以供后续存取。可在激活命令之后发出的读取(RD)命令指定用于读取操作的起始列(位线)位置,并且使数据从行缓冲器的指定列位置移动到存储器控制器。可在激活命令之后发出的写入(WR)命令指定用于写入操作的起始列(位线)位置,并且使由存储器控制器供应的数据存储在行缓冲器的指定列位置处。
选定行保持作用中(开放)以供存取,直到预充电(PRE)命令被发到所述存储体,所述PRE命令通过将数据从行缓冲器移动到开放行的存储器单元而使所述开放行不开放。替代地,代替发出明确的预充电命令以去激活特定存储体,利用自动预充电读取(RDA)和利用自动预充电写入(WRA)命令可用于在完成读取或写入操作后自动对所述行进行预充电。一旦存储体已进行预充电,其就会处于空闲状态且应在任何读取或写入命令被发到所述存储体之前被激活。
因此,行缓冲器高效地对来自选定行的数据进行高速缓存。然而,高速缓存方案的效率实际上受到高速缓冲存储器大小的限制,在上述情境中,所述高速缓冲存储器大小是每一存储体的单个行缓冲器。本公开的系统和方法通过提供用于对来自主存储器(例如,来自DRAM存储器存储体)的数据进行高速缓存的专用裸片上低时延存储器来改进存储器存取并克服各种存储器装置实施方案的上述和其它不足。在一些实施方案中,待用作高速缓冲存储器的裸片上低时延存储器可由静态随机存取(SRAM)存储器提供,所述SRAM存储器的存取时延比DRAM的存取时延短至少一个数量级。
虽然本文中所描述的示例实施方案将DRAM用作主存储器并且将SRAM用作高速缓冲存储器,但本公开的系统和方法不限于或不受限于任何特定的存储器技术。因此,根据本公开的一些实施例实施的系统和方法的优点包含但不限于通过提供待用于对来自主存储器的存储器存储体的数据进行高速缓存的低时延裸片上高速缓冲存储器来提高存储器存取效率。
图1A-1B示意性地示出了根据本公开的各方面实施的示例存储器子系统的高级组件图。如图1A-1B所示,存储器子系统100包含耦合到存储器控制器120的一或多个存储器装置110,所述存储器控制器可与主机计算机系统(图1A-1B中未示出)通信。存储器控制器120和/或存储器子系统100的各种其它功能组件实施用于执行下文所描述的存储器存取操作的处理逻辑。本文中的“耦合到”是指组件之间的电连接,包含经由一或多个中间组件的间接连接和直接连接(即,无中间组件)。
存储器装置(例如,DRAM装置)110包含多个存储器存储体130A-130N,其分组成存储体组140A-140K。虽然图1A-1B示出了分组成四个存储体组的十六个存储器存储体,但各种其它实施方案可采用其它数目的存储体组和存储体。每个存储器存储体130是包含多个存储器单元的存储器阵列,使得每个存储器单元能够取决于存储器单元类型而存储一或多个位的信息。
如上文所提及,存储器装置110可进一步包含一组行缓冲器150A-150L,其可用于存储从存储体130的行检取到的数据。在示意性实例中,一或多个行缓冲器150可专用于每个存储器存储体130。在另一示意性实例中,可在若干并置的存储器存储体130之间(例如,在单个存储体组140的存储体之间)共享一或多个行缓冲器150。在另一示意性实例中,可在存储器装置110的所有存储器存储体130之间共享一或多个行缓冲器150。
存储器装置可进一步包含裸片上高速缓冲存储器160,其可用于对存储在主存储器存储体130A-130N中的数据的部分进行高速缓冲。在示意性实例中,已从存储器存储体读取到行缓冲器中的数据也可由裸片上高速缓冲存储器160进行高速缓存,所述高速缓冲存储器因此可用于服务引导到同一行的后续存储器存取请求。在一些实施方案中,裸片上高速缓冲存储器160的高速缓存线大小可匹配行缓冲器大小,从而简化可用于管理高速缓冲存储器160的高速缓存线分配方案。
为清楚和简明起见,从图1A-1B中省略例如感测放大器、输入/输出接口和命令接口等各种其它组件。在一个实施例中,存储器装置110可实施为位于一或多个裸片上的一或多个集成电路。在另一实施例中,存储器子系统100可实施为芯片上系统,所述存储器子系统除了图1A-1B的存储器装置110和存储器控制器120之外,还可包含一或多个处理核心和一或多个输入/输出(I/O)接口。
在一些实施方案中,可由安置在存储器装置110上的电路系统执行对高速缓冲存储器160的管理。在示意性实例中,高速缓冲存储器160的用于存储从存储器存储体读取的数据的高速缓存线的分配可由裸片上内容可寻址存储器(CAM)电路170管理,如图1A示意性所示。CAM电路170可以将存储器存取请求指定的存储器地址解码为对高速缓冲存储器160的线的引用——如果所请求数据先前已进行高速缓存的话,或者解码为对其中存储所请求数据的存储器存储体和存储器存储体内的行的引用,从而不需要对存储器接口进行任何更改。
替代地,对高速缓冲存储器160的管理可由安置在存储器装置110外部的电路系统执行。在示意性实例中,用于存储器地址翻译的CAM电路170可位于实施存储器子系统100的芯片上系统上,如图1B示意性地所示。类似于图1A的实施方案,CAM电路170可将存储器存取请求指定的存储器地址解码为对高速缓冲存储器160的线的引用——如果所请求数据先前已进行高速缓存的话,或解码为对其中存储所请求数据的存储器存储体和存储器存储体内的行的引用。
由存储器装置110、芯片上系统100或主机(图1A-1B中未示出)实施的高速缓存管理策略可包含高速缓存规则和逐出规则,所述高速缓存规则指定应对哪些数据进行高速缓存,所述逐出规则指定当没有高速缓存线可用以存储新数据时应逐出哪一高速缓存线。在一些实施方案中,基线高速缓存规则可指定对任何新的传入数据进行高速缓存。此外,一或多个高速缓存规则可相对于哪些数据应进行高速缓存(或不进行高速缓存)而实施特定探索法。此类探索法规则可指定评估数据模式、地址范围等的逻辑条件。在示意性实例中,高速缓存规则可指定应进行高速缓存的一或多个存储器地址范围。在另一示意性实例中,高速缓存规则可指定应不进行高速缓存的一或多个存储器地址范围。在又一示意性实例中,高速缓存规则可指定数据模式,使得应对匹配所述模式的传入数据进行高速缓存。在又一示意性实例中,高速缓存规则可指定数据模式,使得应不对匹配所述模式的传入数据进行高速缓存。
高速缓存管理策略可进一步包含一或多个逐出规则。在各种示意性实例中,逐出规则可指定当没有高速缓存线可用以存储新数据(例如,先进先出(FIFO)、后进先出(LIFO)、最近最少使用、最不频繁使用、随机替换等)时应逐出的高速缓存线。在一些实施方案中,高速缓存逐出规则可指定评估数据模式、地址范围等的逻辑条件。
如上文所提及,高速缓冲存储器的每个线可与指定存储器地址(例如,存储体组标识符、存储器存储体标识符和行地址)的高速缓存线元数据相关联,所述存储器地址的内容当前存储在高速缓存线中。在一些实施方案中,与高速缓冲存储器的每个线相关联的高速缓存线元数据可进一步包含线状态标志,其指示自从从主存储器复制高速缓存线以来是否已修改所述高速缓存线。因此,如果线状态标志指示自从从主存储器复制高速缓存线以来已修改所述高速缓存线,则可仅将存储在高速缓存线中的数据写回到主存储器。相反地,可在高速缓存线逐出后丢弃高速缓存线中的未修改数据。
在图1B的示例实施方案和其中高速缓冲存储器160由安置在存储器装置110外部的电路系统管理的其它实施方案中,可增强存储器接口以促进指示所需数据在主存储器或高速缓冲存储器中的位置的信令。
在一些实施方案中,存储器装置110可为主存储器存储体130和高速缓冲存储器160实施扁平的地址空间。因此,可选择地址位(例如,最低有效位、最高有效位或具有地址内的指定位置的任何其它位)以用作主存储器存储体130与高速缓冲存储器160之间的选择器,使得所选择地址位的两个可能值中的每一者可选择主存储器存储体130或高速缓冲存储器160。
替代地,指示主存储器或高速缓冲存储器中的所需数据的位置的信令可以通过重新指定某些命令位来执行,使得在命令内具有指定位置的位将用作主存储器存储体130与高速缓冲存储器160之间的选择器。在各种示意性实例中,可相应地实施激活、读取、写入和/或预充电命令。
在一些实施方案中,可通过在若干命令中实施特定的高速缓存相关提示来增强存储器接口,从而允许主机指示存储器装置对特定数据进行高速缓存或逐出特定数据。在示意性实例中,可增强激活(ACT)命令以包含高速缓存提示,其指令存储器装置对已激活字线的内容进行高速缓存或不对已激活字线的内容进行高速缓存,如图2示意性所示。在示意性实例中,由存储器装置实施的基线高速缓存策略可涉及对从主存储器检取到的所有数据进行高速缓存,除非激活(ACT)命令供应“不进行高速缓存”提示。在另一示意性实例中,在激活(ACT)命令供应“进行高速缓存”提示的情况下,由存储器装置实施的基线高速缓存策略可仅涉及对从主存储器检取到的数据进行高速缓存。
在一些实施方案中,可通过实施指定进行高速缓存或不进行高速缓存范围的命令和/或提示来增强存储器接口,从而允许主机指令存储器装置对特定地址范围进行高速缓存或不对特定地址范围进行高速缓存。
图2示意性地示出了根据本公开的各方面的执行由高速缓存提示增强的激活(ACT)命令的主机210和存储器子系统215的交互。如上文所提及,激活命令将来自选定行的存储器单元的数据复制到指定行缓冲器以供读取或写入命令的后续存取。在示意性实例中,主机210可通过发出激活(ACT)命令220来开始存储器存取操作。激活命令220的参数可包含存储体组地址230、存储体地址232、行地址234和高速缓存提示236。所述参数中的每一者可通过经由存储器装置250的对应输入传输的位组进行编码。
处理激活命令220可涉及通过行解码器255对物理地址字段230、232和234进行解码,以及将数据从存储体组地址230标识的存储体组的存储体265(由存储体地址232标识)的选定行260(由行地址234标识)移动到行缓冲器270,以及根据基线高速缓存策略和高速缓存提示236的值对从行260读取的数据进行高速缓存。在示意性实例中,如果由存储器装置实施的基线高速缓存策略涉及对从主存储器检取到的所有数据进行高速缓存,则处理激活命令220将涉及将已从行260读取的数据存储到高速缓冲存储器160的可用行,除非激活(ACT)命令220供应“不进行高速缓存”提示。相反地,如果由存储器装置实施的基线高速缓存策略仅涉及对从主存储器检取到的数据进行选择性高速缓存,则在激活(ACT)命令220供应“进行高速缓存”提示的情况下,处理激活命令220将涉及将从选定行260读取的数据存储到高速缓冲存储器160的可用线。接着相应地修改高速缓存线的高速缓存元数据以使高速缓存线与激活命令220指定的主存储器中的地址相关联。进行高速缓存的数据可用于服务于后续存储器存取请求(读取或写入命令)。
在一些实施方案中,可增强预充电命令以包含指令存储器装置逐出存储正预充电的字线的内容的高速缓存线的逐出提示,如图3示意性地所示,其示意性地示出了根据本公开的各方面的执行逐出提示增强的预充电(PRE)命令的主机210和存储器子系统215的交互。如上文所提及,主机210可通过发出预充电(PRE)命令230来使指定行缓冲器的内容写入到存储器装置250。因此,预充电命令230的参数可包含存储体组地址230、存储体地址232、行地址234和逐出提示238。所述参数中的每一者可通过经由存储器装置250的对应输入传输的位组进行编码。
处理预充电命令230可涉及标识与由存储体组地址230、存储体地址232和行地址234标识的行相关联的高速缓存线。来自所标识的高速缓存线的数据接着可复制到与由存储体组地址230、存储体地址232和行地址234标识的行相关联的行缓冲器270,和/或复制到由存储体组地址230、存储体地址232和行地址234标识的字线。如果设置了逐出提示238,则可逐出高速缓存线,并且可相应地修改高速缓存元数据。
替代地,可增强自动预充电模式的利用自动预充电读取(RDA)和利用自动预充电写入(WRA)命令以包含“进行逐出”提示,其指令存储器装置逐出分别存储正被读取或写入的字线的内容的高速缓存线,如图4-5示意性地所示。
具体地说,图4示意性地示出了根据本公开的各方面的执行由逐出提示增强的利用自动预充电读取(RDA)命令的主机210和存储器子系统215的交互。在示意性实例中,在完成激活命令220后,主机210可通过发出利用自动预充电读取(RDA)命令235来执行存储器存取操作。利用自动预充电读取(RDA)命令235的参数可包含存储体组地址230、存储体地址232、行地址234、列地址237和逐出提示238。所述参数中的每一者可通过经由存储器装置250的对应输入传输的位组进行编码。
处理利用自动预充电读取(RDA)命令235可涉及标识与指定存储器地址相关联的高速缓存线,以及响应于检测到高速缓存未中而标识与指定存储器地址相关联的行缓冲器270。然后,从由列地址238标识的位线开始,来自所标识的高速缓存线或行缓冲器的数据被复制到数据输入/输出缓冲器280,数据将从所述数据输入/输出缓冲器转移到存储器控制器。如果设置了逐出提示238,则可逐出高速缓存线,并且可相应地修改高速缓存元数据。
图5示意性地示出了根据本公开的各方面的执行利用自动预充电写入(WRA)命令的主机210和存储器子系统215的交互,其中行缓冲器分配由存储器子系统215管理。在示意性实例中,在完成激活命令221后,主机210可通过发出利用自动预充电写入(WRA)命令245来执行存储器存取操作。
利用自动预充电写入(WRA)命令245的参数可包含存储体组地址230、存储体地址232、行地址234、列地址237、待写入到存储器装置250的指定位置的数据240以及逐出提示238。所述参数中的每一者可通过经由存储器装置250的对应输入传输的位组进行编码。
处理利用自动预充电写入(WRA)命令245可涉及标识与指定存储器地址相关联的高速缓存线,以及响应于检测到高速缓存未中而标识与指定存储器地址相关联的行缓冲器270。从由列地址238标识的位线开始,由利用自动预充电写入(WRA)命令245供应的数据项240接着复制到所标识的高速缓存线或行缓冲器270。接着将高速缓存线或行缓冲器270的内容复制到由存储体组地址230、存储体地址232和行地址234标识的字线。如果设置了逐出提示238,则逐出高速缓存线,并且相应地修改高速缓存元数据。
在一些实施方案中,可增强存储器接口以实施显式的“存储在高速缓存线中”和“逐出高速缓存线”命令。“存储在高速缓存线中”命令可明确地指令存储器装置将数据从主存储器的指定位置复制到指定高速缓存线;相反地,“逐出高速缓存线”命令可指令存储器装置将数据从高速缓冲存储器的指定线复制到主存储器的指定位置。
在本公开的各种实施方案中,服务于来自高速缓冲存储器160的存储器存取请求(即,如果发生高速缓存命中)可呈现比响应于检测到高速缓存未中而服务于来自主存储器存储体130的存储器存取请求的存取时延明显较小的存取时延(例如,小一个数量级)。因此,其中主机未察觉下层高速缓存体系结构的存储器子系统实施方案可进一步增强存储器接口,以(例如,通过将接口总线的特定信号驱动到已知状态,从而向主机通知服务于当前存储器存取请求所涉及的高时延或低延迟)向主机提供区分的时延信令。
图6是根据本公开的实施例操作的存储器装置执行存储器存取操作的示例方法600的流程图。如上文所提及,存储器装置可包含分组成若干存储体组的多个存储器存储体。存储器装置可进一步包含多个行缓冲器。在示意性实例中,行缓冲器的包含一或多个行缓冲器的子集合可专用于每个存储器存储体。在另一示意性实例中,行缓冲器的包含两个或更多个行缓冲器的子集合可在若干并置的存储器存储体之间共享,或在存储器子系统的所有存储器存储体之间共享。存储器装置可进一步包含高速缓冲存储器。在一些实施方案中,高速缓存线的大小可等于行缓冲器大小。在一些实施方案中,存储器装置是动态随机存取存储器(DRAM)装置,并且高速缓冲存储器是静态随机存取存储器(SRAM)装置。
如上文所提及,在一些实施例中,可通过在若干命令中实施特定的高速缓存相关提示来增强存储器接口,从而允许主机指示存储器装置对特定数据进行高速缓存或逐出特定数据。因此,方法600可由图2-5的存储器子系统和/或存储器装置执行。尽管以特定序列或次序示出所述方法的操作,但除非另外指定,否则可修改操作的次序。因此,所示实施例应仅作为实例理解,并且所示操作可以不同次序执行,而一些操作可以并行执行。另外,在一些实施例中,可省略一或多个操作。因此,并非在每一实施例中都需要全部的所示操作,并且其它处理流程是可能的。
在操作610,实施所述方法的存储器装置接收由高速缓存提示增强的激活命令。激活命令的参数包含存储体组地址、存储体地址、行地址和高速缓存提示。所述参数中的每一者可通过经由存储器装置的对应输入传输的位组进行编码。
在操作615,存储器装置将数据从激活命令的参数指定的行提取到行缓冲器。
在操作620,存储器装置基于与存储器装置相关联的高速缓存提示和高速缓存策略而将数据复制到高速缓存线,所述高速缓存线可由将激活命令的参数指定的存储器地址翻译的CAM电路标识。如果没有高速缓存线先前与指定地址相关联,则可用高速缓存线可与指定地址相关联,并且可相应地更新高速缓存元数据。如果没有高速缓存线可用,则可根据由存储器装置实施的逐出策略来逐出高速缓存线。
在示意性实例中,如果由存储器装置实施的高速缓存策略涉及对从主存储器检取到的所有数据进行高速缓冲,则处理激活命令将涉及对已从指定行读取的数据进行高速缓存,除非激活命令供应“不进行高速缓存”提示。相反地,如果由存储器装置实施的高速缓存策略仅涉及对从主存储器检取到的数据进行选择性高速缓存,则在激活命令供应“进行高速缓存”提示的情况下,处理激活命令将涉及对从指定行读取的数据进行高速缓存。
在操作625,存储器装置接收指定列地址的读取命令。
在操作630,存储器装置以列地址标识的偏移从高速缓存线读取数据。
在操作635,存储器装置接收指定待存储在存储器装置上的列地址和新数据项的写入命令。
在操作640,存储器装置以列地址标识的偏移将新数据项存储到高速缓存线。
在操作645,存储器装置接收预充电命令。预充电命令的参数包含存储体组地址、存储体地址、行地址和逐出提示。所述参数中的每一者可通过经由存储器装置的对应输入传输的位组进行编码。
在操作650,存储器装置将数据从高速缓存线复制到由命令参数指定的存储器存储体位置。
在操作655,存储器装置基于与存储器装置相关联的高速缓存提示和高速缓存策略而逐出高速缓存线。在示意性实例中,如果设置了由预充电命令供应的逐出提示,则逐出高速缓存线,并且可相应地修改高速缓存元数据。在完成操作655后,所述方法结束。
图7示出了包含根据本公开的一些实施例实施的存储器子系统710的示例计算系统700。存储器子系统710可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置740)、一或多个非易失性存储器装置(例如,存储器装置730)或这些的组合。在一些实施例中,存储器子系统710对应于图1A-1B的存储器子系统100。
存储器子系统710可以是存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)以及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算机系统700可以是例如以下各项的计算装置:台式计算机、膝上型计算机、网络服务器、移动装置、载具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,包含在载具、工业设备或联网市售装置中的计算机),或包含存储器和处理装置(例如,处理器)的此类计算装置。
计算机系统700可包含耦合到一或多个存储器子系统710的主机系统720。在一些实施例中,主机系统720耦合到不同类型的存储器子系统710。图7示出了耦合到一个存储器子系统710的主机系统720的一个实例。主机系统720可包含处理器芯片组和由处理器芯片组执行的软件堆叠。处理器芯片组可包含一或多个核心、一或多个高速缓冲存储器、存储器控制器(例如,NVDIMM控制器)以及存储协议控制器(例如,PCIe控制器、SATA控制器)。例如,主机系统720使用存储器子系统710以将数据写入到存储器子系统710且从存储器子系统710读取数据。
主机系统720可经由物理主机接口耦合到存储器子系统710。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)、开放NAND快闪接口(ONFI)、双数据速率(DDR)、低功率双数据速率(LPDDR)等。物理主机接口可用于在主机系统720与存储器子系统710之间传输数据。当存储器子系统710通过PCIe接口105与主机系统720耦合时,主机系统720可进一步利用NVM高速(NVMe)接口来存取组件(例如,存储器装置730)。物理主机接口105可提供用于在存储器子系统710与主机系统720之间传送控制、地址、数据和其它信号的接口。图7示出了存储器子系统710作为实例。一般来说,主机系统720可经由相同通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
存储器装置730、740可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置740)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置730)的一些实例包含与非(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可以在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。NAND型快闪存储器包含例如二维NAND(2DNAND)和三维NAND(3DNAND)。
存储器装置730中的每一者可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)和四层级单元(QLC)可每单元存储多个位。在一些实施例中,存储器装置730中的每一者可包含存储器单元的一或多个阵列,例如SLC、MLC、TLC、QLC或其任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,以及MLC部分、TLC部分或QLC部分。存储器装置730的存储器单元可分组为页,所述页可指代用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可分组以形成块。
尽管描述了非易失性存储器装置,例如3D交叉点非易失性存储器单元的阵列以及NAND型存储器(例如,2D NAND、3D NAND),但存储器装置730可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器以及电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器775可与存储器装置730通信以执行例如在存储器装置730处读取数据、写入数据或擦除数据的操作和其它此类操作。存储器子系统控制器775可包含硬件,例如一或多个集成电路和/或离散组件、缓冲器存储器或其组合。硬件可包含具有执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路系统。存储器子系统控制器775可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。
存储器子系统控制器775可包含经配置以执行存储在本地存储器719中的指令的处理器717(例如,处理装置)。在所示实例中,存储器子系统控制器775的本地存储器719包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统710的操作(包含处理存储器子系统710与主机系统720之间的通信)的各种过程、操作、逻辑流和例程。在一些实施例中,处理器717可实施方法600-650,如上文更详细描述的。
在一些实施例中,本地存储器719可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器719还可包含用于存储微码的只读存储器(ROM)。尽管图7中的示例存储器子系统710已示出为包含控制器775,但在本公开的另一实施例中,存储器子系统710不包含控制器775,并且可替代地依赖于(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。
一般来说,存储器子系统控制器775可从主机系统720接收命令或操作,并且可将所述命令或操作转换为指令或恰当的命令,以实现对存储器装置730的所需存取。存储器子系统控制器775可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作,以及与存储器装置730相关联的逻辑地址(例如,逻辑块地址(LBA)、名字空间)与物理地址(例如,物理块地址)之间的地址翻译。存储器子系统控制器775可进一步包含主机接口电路系统,以经由物理主机接口与主机系统720通信。主机接口电路系统可将从主机系统接收到的命令转换成命令指令以存取存储器装置730,并且将与存储器装置730相关联的响应转换成主机系统720的信息。
存储器子系统710还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统710可包含高速缓冲存储器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从控制器775接收地址并对地址进行解码以存取存储器装置730。
在一些实施例中,存储器装置730包含本地媒体控制器735,所述本地媒体控制器与存储器子系统控制器775一起操作以对存储器装置730的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器775)可在外部管理存储器装置730(例如,对存储器装置730执行媒体管理操作)。在一些实施例中,存储器子系统710是受管理存储器装置,其为具有裸片上的控制逻辑(例如,本地媒体控制器735)和用于相同存储器装置封装内的媒体管理的控制器(例如,存储器子系统控制器775)的原始存储器装置730。受管理存储器装置的实例是受管理NAND(MNAND)装置。
图8示出了计算机系统800的示例机器,在所述示例机器内可执行用于使所述机器执行本文中论述的任何一或多种方法的指令集。在一些实施例中,计算机系统800可对应于主机系统(例如,图7的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1A-1B的存储器子系统100或图7的存储器子系统710)。
在替代实施例中,机器可连接(例如,耦合到网络820的网络接口装置838)到LAN、企业内部网、外联网和/或因特网中的其它计算机系统。机器可作为点对点(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(循序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。另外,尽管示出了单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令集(或多个指令集)以执行本文中所论述的任何一或多种方法。
示例计算机系统800包含处理装置802、主存储器804(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器808(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统818,它们经由总线830彼此通信。
处理装置802表示一或多个通用处理装置,例如微处理器、CPU等。更具体地,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其它指令集的处理器或实施指令集的组合的处理器。处理装置802也可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置802经配置以执行指令828以用于执行本文中所论述的方法(例如,管理裸片上高速缓冲存储器,如上文更详细描述的)。
数据存储系统818可包含机器可读存储媒体824(也称为计算机可读媒体),在所述机器可读存储媒体上存储有指令828的一或多个集或体现本文中所描述的任何一或多种方法或功能的软件。指令828还可在其由计算机系统800执行期间完全或至少部分地驻存在主存储器804内和/或处理装置802内,主存储器804和处理装置802也构成机器可读存储媒体。机器可读存储媒体824、数据存储系统818和/或主存储器804可对应于图7的存储器子系统110。
在一个实施例中,根据本公开的一些实施例,指令828包含用以实施和管理裸片上装置高速缓冲存储器的指令834。尽管机器可读存储媒体824在示例实施例中示出为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储供机器执行的指令集或对所述指令集进行编码以及使机器执行本公开的任何一或多种方法的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用于将其工作的主旨最有效地传达给本领域的其他技术人员的方式。算法在这里并且通常被认为是引起期望结果的操作的自洽序列。操作是需要物理量的物理操纵的那些操作。这些量通常但不一定呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元素、符号、字符、术语、数量等是方便的。
然而,应牢记,所有这些和类似术语应与恰当的物理量相关联,并且仅是应用于这些量的方便标记。本公开可以指计算机系统或类似电子计算装置的操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据并将所述数据变换为计算机系统的存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的动作和过程。
本公开还涉及用于执行本文中的操作的设备。可以出于预期目的而专门构造此设备,或所述设备可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM和磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或者适于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
本文中呈现的算法和显示本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或其可以证明构造用以执行所述方法的更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可以使用各种编程语言来实施如本文中所描述的本公开的教示。
本公开可以提供为计算机程序产品或软件,其可包含在其上存储有可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,已参考其具体示例实施例描述了本公开的实施例。将显而易见的是,可在不脱离如所附权利要求书中所阐述的本公开的实施例的更广精神和范围的情况下对其进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。

Claims (20)

1.一种存储器装置,其包括:
多个存储体组,其中每个存储体组包括多个存储器存储体;
多个行缓冲器,其中所述多个行缓冲器中的至少一个行缓冲器与所述多个存储器存储体中的每个存储器存储体相关联;
高速缓冲存储器,其包括多个高速缓存线;
处理逻辑,其以通信方式耦合到所述多个存储体组和所述多个行缓冲器,所述处理逻辑用以执行包括以下各项的操作:
接收指定所述多个存储器存储体中的存储器存储体的行的激活命令;
将数据从指定行提取到所述多个行缓冲器中的行缓冲器;以及
将所述数据复制到所述多个高速缓存线中的高速缓存线。
2.根据权利要求1所述的存储器装置,其中所述存储器装置是动态随机存取存储器DRAM装置。
3.根据权利要求1所述的存储器装置,其中所述高速缓冲存储器是静态随机存取存储器SRAM装置。
4.根据权利要求1所述的存储器装置,其中所述处理逻辑包括内容可寻址存储器CAM电路以将存储器地址翻译为以下各项中的一项:所述多个存储器存储体中的特定存储器存储体的特定行的标识符或所述高速缓冲存储器的特定线的标识符。
5.根据权利要求1所述的存储器装置,其中所述处理逻辑用以进一步执行包括以下各项的操作:
接收指定列地址的读取命令;
从所述高速缓存线的位置读取所述数据的至少一部分,其中所述位置由所述列地址标识。
6.根据权利要求1所述的存储器装置,其中所述处理逻辑用以进一步执行包括以下各项的操作:
接收指定列地址和新数据的写入命令;
将所述新数据存储到所述高速缓存线的位置,其中所述位置由所述列地址标识。
7.根据权利要求1所述的存储器装置,其中所述处理逻辑用以进一步执行包括以下各项的操作:
接收指定所述存储器存储体的所述行的预充电命令;
将所述数据从所述高速缓存线复制到所述存储器存储体的所述行。
8.一种芯片上系统,其包括:
多个存储体组,其中每个存储体组包括多个存储器存储体;
多个行缓冲器,其以通信方式耦合到所述多个存储体组;
高速缓冲存储器,其包括多个高速缓存线;
内容可寻址存储器CAM电路,其用以将存储器地址翻译为以下各项中的一项:所述多个存储器存储体中的特定存储器存储体的特定行的标识符或所述高速缓冲存储器的特定线的标识符;
处理逻辑,其以通信方式耦合到所述多个存储体组和所述多个行缓冲器,所述处理逻辑用以执行包括以下各项的操作:
接收指定存储器地址的读取命令;
通过所述CAM电路将所述存储器地址翻译为所述多个高速缓存线中的高速缓存线的标识符;以及
从所述高速缓存线读取数据。
9.根据权利要求8所述的芯片上系统,其中所述多个存储器存储体中的每个存储器存储体是动态随机存取存储器DRAM存储体。
10.根据权利要求8所述的芯片上系统,其中所述高速缓冲存储器是静态随机存取存储器SRAM装置。
11.根据权利要求8所述的芯片上系统,其中所述多个行缓冲器中的一或多个行缓冲器与所述多个存储器存储体中的每个存储器存储体相关联。
12.根据权利要求8所述的芯片上系统,其中所述处理逻辑用以进一步执行包括以下各项的操作:
接收指定所述存储器地址和新数据的写入命令;
通过所述CAM电路将所述存储器地址翻译为所述多个高速缓存线中的所述高速缓存线的所述标识符;以及
将所述新数据存储到所述高速缓存线。
13.根据权利要求8所述的芯片上系统,其中所述处理逻辑用以进一步执行包括以下各项的操作:
接收指定所述存储器存储体的所述行的预充电命令;
将所述数据从所述高速缓存线复制到所述存储器存储体的所述行。
14.一种方法,其包括:
由存储器装置接收指定高速缓存提示和所述存储器装置的多个存储器存储体中的存储器存储体的行的激活命令;
将数据从指定行提取到所述存储器装置的多个行缓冲器中的行缓冲器;
基于鉴于与所述存储器装置相关联的高速缓存策略解译的所述高速缓存提示而将所述数据复制到所述存储器装置的多个高速缓存线中的高速缓存线。
15.根据权利要求14所述的方法,其中所述存储器装置是动态随机存取存储器DRAM装置。
16.根据权利要求14所述的方法,其中所述多个高速缓存线驻存在静态随机存取存储器SRAM装置上。
17.根据权利要求14所述的方法,其进一步包括:
通过内容可寻址存储器CAM电路将所述存储器存储体的标识符和所述行的标识符翻译为所述高速缓存线的标识符。
18.根据权利要求14所述的方法,其进一步包括:
接收指定列地址的读取命令;
从所述高速缓存线的位置读取所述数据的至少一部分,其中所述位置由所述列地址标识。
19.根据权利要求14所述的方法,其进一步包括:
接收指定列地址和新数据的写入命令;
将所述新数据存储到所述高速缓存线的位置,其中所述位置由所述列地址标识。
20.根据权利要求14所述的方法,其进一步包括:
接收指定所述存储器存储体的所述行和逐出提示的预充电命令;
响应于确定所述逐出提示被设置为第一值而逐出所述高速缓存线;以及
将所述数据从所述高速缓存线复制到所述存储器存储体的所述行。
CN202111209291.1A 2020-10-19 2021-10-18 具有裸片上高速缓冲存储器的存储器装置 Pending CN114385522A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063093412P 2020-10-19 2020-10-19
US63/093,412 2020-10-19
US17/100,453 US11947453B2 (en) 2020-10-19 2020-11-20 Memory device with on-die cache
US17/100,453 2020-11-20

Publications (1)

Publication Number Publication Date
CN114385522A true CN114385522A (zh) 2022-04-22

Family

ID=81186493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111209291.1A Pending CN114385522A (zh) 2020-10-19 2021-10-18 具有裸片上高速缓冲存储器的存储器装置

Country Status (2)

Country Link
US (2) US11947453B2 (zh)
CN (1) CN114385522A (zh)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931505B2 (en) * 2001-12-31 2005-08-16 Intel Corporation Distributed memory module cache command formatting
WO2007073628A1 (en) * 2005-12-29 2007-07-05 Intel Corporation High performance queue implementations in multiprocessor systems
CN102812518B (zh) 2010-01-28 2015-10-21 惠普发展公司,有限责任合伙企业 存储器存取方法和装置
US10474584B2 (en) 2012-04-30 2019-11-12 Hewlett Packard Enterprise Development Lp Storing cache metadata separately from integrated circuit containing cache controller
KR101993794B1 (ko) 2012-06-14 2019-06-27 삼성전자주식회사 메모리 장치, 이의 동작 방법, 및 이를 포함하는 메모리 시스템
KR20150130848A (ko) 2014-05-14 2015-11-24 에스케이하이닉스 주식회사 반도체 메모리 장치
US11243898B2 (en) 2014-08-01 2022-02-08 Arm Limited Memory controller and method for controlling a memory device to process access requests issued by at least one master device
US10007573B2 (en) 2015-04-27 2018-06-26 Invensas Corporation Preferred state encoding in non-volatile memories
US10497438B2 (en) 2017-04-14 2019-12-03 Sandisk Technologies Llc Cross-point memory array addressing
US10650899B2 (en) * 2017-04-27 2020-05-12 Everspin Technologies, Inc. Delayed write-back in memory with calibration support
KR101936951B1 (ko) 2018-04-11 2019-01-11 주식회사 맴레이 메모리 제어 장치 및 이를 포함하는 메모리 시스템
KR20190140788A (ko) 2018-06-12 2019-12-20 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US11144466B2 (en) * 2019-06-06 2021-10-12 Intel Corporation Memory device with local cache array

Also Published As

Publication number Publication date
US20220121570A1 (en) 2022-04-21
US20240202119A1 (en) 2024-06-20
US11947453B2 (en) 2024-04-02

Similar Documents

Publication Publication Date Title
US11656983B2 (en) Host-resident translation layer write command
US11829636B2 (en) Cold data identification
US11741013B2 (en) Prefetch buffer of memory sub-system
US11836076B2 (en) Implementing mapping data structures to minimize sequentially written data accesses
US20230161509A1 (en) Dynamic selection of cores for processing responses
CN113518977A (zh) 基于高速缓存行的扇区的修改来逐出高速缓存行
CN112948284A (zh) 高速缓存媒体中的动态存取粒度
US11561902B2 (en) Cache operations in a hybrid dual in-line memory module
CN113934666B (zh) 数据接口桥的预取
CN113093990B (zh) 存储器子系统处的数据块切换
US20230195350A1 (en) Resequencing data programmed to multiple level memory cells at a memory sub-system
US11797198B2 (en) Memory instruction for memory tiers
CN114385521A (zh) 具有多个行缓冲区的存储器装置
US11947453B2 (en) Memory device with on-die cache
US12026395B2 (en) Operation based on consolidated memory region description data
US11868642B2 (en) Managing trim commands in a memory sub-system
US11734071B2 (en) Memory sub-system tier allocation
US11449272B1 (en) Operation based on consolidated memory region description data
US20220113903A1 (en) Single memory bank storage for servicing memory access commands
CN115729621A (zh) 存储器子系统命令防护

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination