CN110582745B - 存储器装置及可促进张量存储器存取的方法 - Google Patents

存储器装置及可促进张量存储器存取的方法 Download PDF

Info

Publication number
CN110582745B
CN110582745B CN201880026411.4A CN201880026411A CN110582745B CN 110582745 B CN110582745 B CN 110582745B CN 201880026411 A CN201880026411 A CN 201880026411A CN 110582745 B CN110582745 B CN 110582745B
Authority
CN
China
Prior art keywords
memory
access
map
command
order
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.)
Active
Application number
CN201880026411.4A
Other languages
English (en)
Other versions
CN110582745A (zh
Inventor
罗法隆
T·施米茨
J·赫里茨
J·卡明斯
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 CN110582745A publication Critical patent/CN110582745A/zh
Application granted granted Critical
Publication of CN110582745B publication Critical patent/CN110582745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0669Configuration or reconfiguration with decentralised address assignment
    • G06F12/0676Configuration or reconfiguration with decentralised address assignment the address being position dependent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic 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
    • 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/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Neurology (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Memory System (AREA)

Abstract

本文中所描述的实例包含系统及方法,所述系统及方法包含一种设备,所述设备包括包含多个存储器胞元的存储器阵列及耦合到所述存储器阵列的存储器控制器。所述存储器控制器包括经配置以基于与存储器存取操作相关联的存储器命令而配置存储器映射的存储器映射器。所述存储器映射包括用以存取所述存储器阵列的至少一个存储器胞元的特定存储器存取指令序列。举例来说,对角线存储器命令的所述特定存储器存取指令序列包括各自沿着所述存储器阵列的对角线存取存储器胞元的存储器存取指令序列。

Description

存储器装置及可促进张量存储器存取的方法
背景技术
高速存储器存取及经减少电力消耗为向半导体装置要求的特征。近年来,已采用多核处理器来执行应用程序的系统已产生对用作主存储器(例如,动态随机存取存储器(DRAM))的存储器装置的较快存取型式以及更多随机存取型式。举例来说,对DRAM的典型存取型式依次重复组激活、读取存取或写入存取及组预充电。需要为达成较快存取而对存储器装置的存取型式。计算装置的效率及性能可受不同存储器装置影响。因此,需要快速且高效存取型式。
可在机器学习及人工智能应用中利用一般为与线性系统有关的几何对象的张量。张量处理可包含矩阵代数或其它线性系统分析的处理。此处理可为密集的且重复的,因为可数次地利用常见操作数,举例来说;在对张量的分层处理中。与处理速度组合的此重复可使用以执行用于张量处理的操作的重复存储器存取成为必要。
附图说明
图1是根据本文中所描述的实例来布置的计算系统的示意性图解说明。
图2A到2C是根据本文中所描述的实例的存取存储器单元的示意性图解说明。
图3是根据本文中所描述的实例来布置的方法的流程图。
图4是根据本文中所描述的实例来布置的方法的流程图。
图5是根据本文中所描述的实例来布置的计算系统的示意性图解说明。
具体实施方式
在下文陈述某些细节以提供对本发明的实施例的充分理解。然而,所属领域的技术人员将清楚,可在不具有各种这些特定细节的情况下实践本发明的实施例。在一些例子中,未详细展示众所周知的无线通信组件、电路、控制信号、时序协议、计算系统组件及软件操作以便避免不必要地使本发明的所描述实施例模糊不清。
一般所描述,例如存储器存储装置或快闪存储器的存储器单元执行从存储器控制器及/或直接从发送存储器命令的计算装置或网络接收的读取及写入命令。存储器单元可接收读取或写入命令作为指令序列,其中每一指令对应于由存储器地址识别的特定位置。举例来说,读取存储器命令可由存储器控制器处理为用以读取特定存储器单元的特定地址的请求。此命令可作为用以存取存储器装置的所述位置的指令而发送到所述存储器装置。存储器指令可包含此可寻址信息(例如,存储器胞元行/列及/或指向存储器胞元行/列的逻辑地址),如由存储器控制器基于读取存储器命令而确定。举例来说,所述存储器装置的位置可在所述存储器装置的逻辑存储器分割区中的特定物理存储器胞元处。在作为存储器单元的存储器阵列的实例中,存储器控制器可执行电路操作(例如,将行或列线充电)以存取特定物理存储器胞元。此些电路操作可为耗时的且耗电的。类似地,存储器控制器确定存储器单元的哪一逻辑存储器分割区可包含可以特定存储器速率存取的所请求信息可为用于执行存储器命令的耗时且耗电过程。
在存取存储器单元的特定存储器胞元时,读取或写入命令可不区分,其中所请求信息物理地存储于存储器单元中。而且,存储器控制器可不基于信息已存储于存储器单元中的任何型式而将指令发送到存储器单元。关于在处理器或计算装置中执行或实施操作的详情,存储器单元可接收写入命令且因此处理对存储器单元的写入。举例来说,存储器单元可接收写入命令,且将与所述写入命令相关联的信息存储到存储器中的已被确定为可用的特定位置。如本文中所描述,有利地,在处理器或计算装置中执行或实施操作可包含执行如通过执行所述操作而定义的存储器命令。举例来说,用以存取存储器阵列的存储器胞元的存储器存取指令的特定序列可包含由所述存储器命令的操作次序定义的存储器存取指令序列。举例来说,如本文中所描述,可以可促进张量操作的特定型式来存取存储器。张量操作可利用矩阵数据,且因此可力图以特定型式(例如对角线等)读取及/或写入数据。在矩阵操作的对角线计算的实例中,存储器存取指令序列可根据由耦合到包含此存储器阵列的所述存储器单元的存储器控制器实施的对角线存储器命令沿着存储器阵列的对角线存取各种存储器胞元。
图1是根据本文中所描述的实例来布置的计算系统100的示意性图解说明。计算系统100包含耦合到存储器单元140a、140b的处理器105。所述处理器可实施包含存储器映射器120及地址变换器130的存储器控制器110。存储器控制器110可经由存储器接口135a、135b耦合到存储器单元140a、140b。处理器105可实施从各种数据源或在处理器105上执行的过程接收的存储器命令。举例来说,处理器105可从在处理器105上执行的过程接收存储器存取请求(例如,读取或写入命令)。在此情形中,存储器控制器110可处理如由处理器105实施以存取存储器单元140a、140b中的一或多者的存储器存取请求。
处理器105可用于利用存储器控制器110实施计算系统100的存储器系统。在一些实例中,处理器105可为包含多个核心的多核处理器。举例来说,所述多个核心可使用独立地读取且执行程序指令的处理电路来实施。存储器控制器110可处置与可在处理器105外部的存储器系统的通信。举例来说,存储器控制器110可将存取命令从处理器105的多个核心提供到存储器单元140a、140b。存储器控制器110可经由存储器接口135a、135b提供此些存取命令。举例来说,存储器接口135a、135b可将时钟信号、命令信号及/或地址信号提供到存储器单元140a、140b中的任一者。虽然通过将数据存储于存储器单元140a、140b中而写入数据,但存储器控制器110提供用以基于写入命令而将数据写入到存储器单元140a、140b的指令。虽然从存储器单元140a、140b读取所存储数据,但存储器控制器110基于读取命令而提供指令且从存储器单元140a、140b接收数据。
存储器控制器110可使用控制数据到存储器单元140a、140b的流动的电路来实施。存储器控制器110可为耦合到处理器105或在处理器105上实施为(举例来说)处理器105的核心以控制计算系统100的存储器系统的单独芯片或集成电路。在一些实施例中,存储器控制器110可集成到处理器105中以称为集成存储器控制器(IMC)。
存储器控制器110可借助处理器105与用以实施存储器系统的多个存储器单元通信。举例来说,存储器单元140a、140b可同时与存储器控制器110通信。虽然图1的实例描绘两个存储器单元140a、140b,但可预期存储器控制器110可与任一数目个存储器单元互动。举例来说,可包含八个存储器单元且每一存储器单元可包含具有八位宽度的数据总线,因此由处理器105实施的存储器系统可具有六十四位宽度。存储器单元140a、140b可为动态随机存取存储器(DRAM)或非易失性随机存取存储器(RAM),例如铁电RAM(FeRAM)、自旋转矩RAM(STT-RAM)、相变RAM(PCRAM)、电阻改变RAM(ReRAM)等等。在各种实施例中,这些存储器单元可称为存储器芯片、存储器模块、存储器裸片、存储器卡、存储器装置、存储器阵列及/或存储器胞元。物理地,存储器单元140a、140b可布置且安置为一个层,或可安置为堆叠层。在某一实施例中,存储器单元140a、140b可彼此上下地安置为多个层,以形成垂直存储器,例如3D NAND快闪存储器。
在其中存储器单元140a、140b可使用集成到单个半导体芯片中的DRAM或非易失性RAM来实施的一些实例中,存储器单元140a、140b可安装于存储器模块衬底、母板等等上。举例来说,存储器单元140a、140b称为存储器芯片。存储器单元140a、140b可包含存储器胞元阵列区域及外围电路区域。所述存储器胞元阵列区域包含具有多个组的存储器胞元阵列,每一组包含多个字线、多个位线及布置于所述多个字线与所述多个位线的交叉点处的多个存储器胞元。位线的选择可由多个列解码器执行且字线的选择可由多个行解码器执行。
存储器单元140a、140b的外围电路区域可包含时钟端子、地址端子、命令端子及数据输入/输出(I/O)端子(DQ)。举例来说,所述数据I/O端子可处置八位数据通信。数据输入/输出(I/O)缓冲器可耦合到数据输入/输出端子(DQ)以用于数据存取,例如存储器的读取存取及写入存取。所述地址端子可接收地址信号及组地址信号。所述组地址信号可用于在所述多个组当中选择一组。行地址及列地址可提供为地址信号。所述命令端子可包含芯片选择(/CS)引脚、行地址选通(/RAS)引脚、列地址选通(/CAS)引脚、写入启用(/WE)引脚等等。命令解码器可解码在命令端子处经由存储器接口135a、135b中的一者从存储器控制器110接收的命令信号,以接收包含读取命令及/或写入命令的各种命令。此命令解码器可响应于所接收命令而提供控制信号以控制存储器胞元阵列区域。可(举例来说)从存储器接口135a、135b中的一者向所述时钟端子供应外部时钟信号。
存储器控制器110的存储器映射器120可将存储器映射提供到存储器单元以用于存取存储器单元。举例来说,可基于经提供以存取存储器单元140a及/或存储器单元140b的存储器命令而选择存储器映射。举例来说,在处理器105上实施的过程或程序的读取或写入操作可为将读取或写入命令发送到存储器控制器110的存储器存取操作。存储器映射器120可基于与所述存储器存取操作相关联的存储器命令而检索或配置存储器映射。所述存储器映射可包含用以存取存储器单元(例如存储器单元140a及/或存储器单元140b)的一或多个特定存储器存取指令序列。举例来说,特定存储器存取指令序列可以对于执行张量及/或矩阵操作可为有利的特定型式存取存储器阵列的一或多个存储器胞元。每一存储器存取指令可包含用于所述多个存储器胞元中的存储器胞元的相应地址的指令。举例来说,存储器映射可经由存储器接口135a的地址端子到存储器单元140a的地址端子提供到存储器单元140a。
存储器映射器可将存储器映射产生、提供及/或选择成是存储器命令类型特有的。存储器命令可包含行存储器命令或列存储器命令,以便存取存储器阵列的相应行或列。存储器命令还可包含基于在处理器105上执行或实施操作的命令。张量操作可包含各种矩阵操作及/或计算。举例来说,张量操作可包含特定矩阵的对角线或特定矩阵的决定因素的计算;举例来说,后者为矩阵逆计算的一部分。
存储器映射器120可提供存储器映射使得存储器经存取,如由张量存储器命令的操作次序所定义。张量存储器命令可包含对角线存储器命令、决定性存储器命令或任何矩阵存储器命令。举例来说,用以存取存储器阵列的存储器胞元的特定存储器存取指令序列可包含由张量存储器命令的操作次序定义的存储器存取指令序列。在矩阵操作的对角线计算的一些实例中,作为在处理器105上执行的张量操作的一部分,根据由处理器105实施的对角线存储器命令,存储器存取指令序列可沿着存储器阵列的对角线存取各种存储器胞元。因此,在提供存储器命令的存储器映射中,存储器映射器120可识别一或多个存储器单元140a、140b的多个存储器地址以存取所述对应存储器地址;且因此根据存储器命令的操作次序将所述多个存储器地址分配到存储器映射中,使得特定指令序列以所述操作次序来执行。
存储器映射器120可为具有三维存储器阵列的存储器单元提供可基于张量存储器命令的存储器映射。所述存储器映射可规定根据相应张量处理层存储三维存储器阵列的每一层。可在三维结构上实行张量操作;且如本文中所描述,存储器映射可用于基于张量操作的所述三维结构而有效地存取存储器。对三维矩阵的张量操作可包含基于例如垂直列模式、行模式、管模式、垂直切片模式、横向切片模式及/或正面切片模式的模式的操作。每一模式可对应于三维操作的相应轴线的二维向量或平面;且因此,可存取存储器,例如以相似方式对存储器进行读取或写入。有利地,在一些实例中,在三个维度上存取存储器可允许张量的更高效处理;举例来说,在机器学习应用中。
有利地,在一些实例中,对于张量存储器命令,可在处理张量或执行张量操作(例如张量分解)时利用本文中所描述的系统及方法作为存储器存取方案。基于张量的处理可计算待处理的数个数据层,其中每一后续层基于先前层的结果的组合。在一些应用中,层可存储于存储器中使得可更有效地执行对层的后续处理。举例来说,可在二维存储器阵列或三维存储器装置中以对角线方式对层进行写入。存储器映射器120可提供经布置而以对角线方式存取此存储器单元的存储器映射,如由所述张量存储器命令中的操作次序所规定。在一些实例中,张量存储器命令可包含通过将每一层的结果最初写入于作为对角线的存储器单元中而处理每一先前层的结果。因此,还可存取存储器单元从而以其中根据张量存储器命令写入每一层的结果的方式处理所述对角线计算。以此方式,可根据张量存储器存取(如本文中所描述,其可为由张量处理的操作次序定义的对存储器的存取)来存取任何存储器单元或装置。
虽然存储器映射器120已在处理器105的实施方案的上下文中经描述为存储器控制器的一部分,但可预期在其它实施例中还可以不同方式实施存储器映射器120。举例来说,存储器映射器120可作为例如专用集成电路(ASIC)、实施为现场可编程门阵列(FPGA)的一部分的数字信号处理器(DSP)或芯片上系统(SoC)的单独电路耦合到处理器105。作为另一实例,存储器映射器120可耦合到存储器控制器110,存储器控制器110由处理器105实施为确定将在存储器单元140a、140b上执行的指令序列的一系列开关。所述开关可为多路复用器,举例来说,其中选定线耦合到存储器控制器110。
存储器控制器110的地址变换器130可基于用以存取存储器单元140a及/或存储器单元140b的存储器命令而变换用于存储器单元的存储器映射。当存储器命令的操作次序不同于经提供以在存储器单元140a及/或存储器单元140b处执行先前存储器存取操作的先前存储器命令的操作次序时可变换存储器映射。举例来说,存储器映射器120可先前已基于对角线命令而提供存储器映射,且随后,存储器映射器120从存储器控制器接收命令以为决定性存储器命令提供存储器映射。在此些实例中,地址变换器130可在用于对角线存储器命令的存储器映射中识别存储器胞元的地址。一旦经识别,地址变换器130便可将所识别地址分配到针对决定性存储器命令而配置的存储器映射中,使得决定性存储器命令以由决定性操作而非对角线存储器操作定义的操作次序存取所识别地址,存储器胞元先前已以所述次序被存取。一旦经分配,地址变换器130便完成存储器映射的变换以用于决定性存储器命令,且存储器映射器120可将经变换存储器映射提供到存储器单元140a及/或存储器单元140b。
虽然地址变换器130已在处理器105的实施方案的上下文中经描述为存储器控制器的一部分,但可预期还可在其它实施例中以不同方式实施地址变换器130。举例来说,地址变换器130可作为例如ASIC、实施为现场可编程门阵列(FPGA)的一部分的数字信号处理器(DSP)或芯片上系统(SoC)的单独电路耦合到处理器105。作为另一实例,地址变换器130可耦合到存储器控制器110,存储器控制器110由处理器105实施为识别存储器单元140a、140b的相应地址以变换不同存储器映射的所述所识别地址的一系列开关。所述开关可为多路复用器,举例来说,其中选定线耦合到存储器控制器110。
图2A到2C是根据本文中所描述的实例的存取存储器单元的示意性图解说明。图2A是作为执行对角线矩阵操作的张量操作的一部分而根据对角线存储器命令存取存储器单元240的示意性图解说明。包含标记为A1到A4、B1到B4、C1到C4及D1到D4的存储器胞元的存储器胞元250示意性地图解说明于存储器系统200的存储器单元240中。在图2A的实例中,存储器单元240可为包含存储器胞元250的存储器阵列。在图2A的实例中,存储器系统200接收对角线存储器命令以用于实施执行对角线矩阵操作的张量操作。例如图1的存储器控制器110的存储器控制器可实施存储器映射器120以为对角线矩阵操作提供存储器映射。所述存储器映射包含由对角线矩阵操作的操作次序定义的用以存取存储器胞元250的指令序列。在图2A中以虚线描绘对角线矩阵操作的操作次序260,从而根据对角线矩阵操作的操作次序存取存储器胞元250。如所描绘,操作次序260最初以存取存储器胞元A1来开始,通过存取存储器胞元B2及C3来继续进行,以存取存储器胞元D4来结束。因此,可基于提供到存储器单元以用于所述对角线存储器命令的存储器映射而根据对角线矩阵操作的操作次序存取存储器单元240的存储器胞元250。
图2B是作为执行矩阵操作的张量操作的一部分而根据张量存储器命令存取存储器单元240的示意性图解说明。包含标记为A1到A4、B1到B4、C1到C4及D1到D4的存储器胞元的存储器胞元250示意性地图解说明于存储器系统200的存储器单元240中。在实例中,存储器单元240可为包含存储器胞元250的存储器阵列。在图2B的实例中,存储器系统200接收张量存储器命令以用于实施执行矩阵操作的张量操作。例如图1的存储器控制器110的存储器控制器可实施存储器映射器120以为张量操作提供存储器映射。所述存储器映射可包含由矩阵操作的操作次序定义的用以存取存储器胞元250的指令序列。在图2B中以虚线描绘矩阵操作的操作次序270a到270i,从而根据矩阵操作的操作次序存取存储器胞元250。如所描绘,操作次序270a最初以依序存取存储器胞元A1及A2来开始。操作次序进一步包含操作次序270b,其中在A2之后依序存取存储器胞元B1。操作次序进一步包含操作次序270c,其中依序存取存储器胞元C1、B2及A3。操作次序进一步包含操作次序270d,其中在A3之后依序存取存储器胞元A4。操作次序进一步包含操作次序270e,其中在A4之后依序存取存储器胞元B3、C2及D1全部。操作次序进一步包含操作次序270e,其中存取存储器胞元D2。操作次序进一步包含操作次序270f,其中在D2之后依序存取存储器胞元C3及B4两者。操作次序进一步包含操作次序270g,其中存取存储器胞元C4。操作次序进一步包含操作次序270h,其中在C4之后存取存储器胞元D3。操作次序以操作次序270i来结束,其中存取存储器胞元D4。因此,可基于提供到存储器单元以用于所述张量存储器命令的存储器映射而根据矩阵操作的操作次序存取存储器单元240的存储器胞元250(例如由存储器控制器及/或本文中所描述的其它结构)。
图2C是作为执行矩阵操作的张量操作的一部分而根据张量存储器命令存取存储器单元240的示意性图解说明。在图2C的实例中,存储器系统200接收张量存储器命令以用于实施执行矩阵操作的张量操作。例如图1的存储器控制器110的存储器控制器可实施存储器映射器120以配置用于张量操作的存储器映射。所述存储器映射包含由矩阵操作的操作次序定义的用以存取存储器胞元250的指令序列。在图2C中以虚线描述矩阵操作的操作次序280a到280d,从而根据矩阵操作的操作次序存取存储器胞元250。如所描绘,操作次序280a最初以依序存取存储器胞元A1到A4来开始。操作次序进一步包含操作次序280b,其中依序存取存储器胞元B2到B4。操作次序进一步包含操作次序280c,其中依序存取存储器胞元C3及C4。操作次序以操作次序280d来结束,其中存取存储器胞元D4。因此,可基于提供到存储器单元以用于所述张量存储器命令的存储器映射而根据矩阵操作的操作次序存取存储器单元240的存储器胞元250。
虽然在图2A到2C中在二维存储器阵列的上下文中经描述,但可预期存储器存取命令可在三维或N维空间中经配置以用于存储器;举例来说,借助由张量操作定义的对应存储器命令在所述三维或N维空间中处理张量操作。
图3是根据本文中所描述的实例来布置的方法的流程图。实例性方法300可开始存储器存取方法。方法300可包含叙述“获得与存储器存取操作相关联的存储器命令”的框308。由例如处理器105的处理器执行的操作或过程可从所述操作或过程获得或接收存储器命令以对存储器单元进行读取或写入。举例来说,在处理器105上实施的过程或程序的读取或写入操作可为将读取或写入命令发送到存储器控制器110的存储器存取操作。因此,存储器控制器110可获得写入命令以将数据写入到存储器单元140a、140b。存储器控制器110还可获得读取命令以读取存储于存储器单元140a、140b处的数据。框308可后续接着叙述“至少基于存储器命令而检索存储器映射”的框312。存储器控制器的存储器映射器(例如存储器映射器120)可基于存取命令而从所存储存储器检索存储器映射。在一些实施例中,存储器映射器可通过提供所述存储器命令特有的存储器映射而检索存储器映射。在本文中所描述的实例中,存储器映射器可提供存储器映射,使得存储器经存取,如由张量存储器命令的操作次序定义。
框312可后续接着叙述“基于存储器映射而执行存储器存取操作”的框316。存储器单元可接收所检索存储器映射,且因而根据存储器映射执行存储器存取操作。举例来说,存储器单元可接收包含由对角线矩阵操作的操作次序基于由存储器控制器接收的对角线存储器命令而定义的用以存取存储器胞元的指令序列的存储器映射。因此,可根据所述操作次序存取存储器单元的每一存储器胞元。有利地,举例来说,关于处理此操作的速度,在处理器或计算装置中执行或实施操作可通过根据通过执行所述操作定义的存储器命令存取存储器来改进。框316可后续接着结束方法300的框320。
图4是根据本文中所描述的实例来布置的方法的流程图。实例性方法400可开始地址变换方法。方法400可包含叙述“获得与存储器存取操作相关联的存储器命令”的框408。由例如处理器105的处理器执行的操作或过程可从所述操作或过程获得或接收存储器命令以对存储器单元进行读取或写入。举例来说,在处理器105上实施的过程或程序的读取或写入操作可为将读取或写入命令发送到存储器控制器110的存储器存取操作。因此,存储器控制器110可获得写入命令以将数据写入到存储器单元140a、140b。存储器控制器110还可获得读取命令以读取存储于存储器单元140a、140b处的数据。框408可后续接着叙述“确定存储器存取操作与不同于先前存储器存取操作的存储器映射相关联”的框412。存储器控制器可将先前所提供的存储器命令与随后所接收的命令进行比较,以确定存储器命令基于不同操作次序。举例来说,每一存储器命令中的标头的比较可将每一存储器命令识别为不同于其它存储器命令。在此情形中,存储器控制器可确定先前所提供的存储器命令与不同于存储器映射以针对随后所接收的存储器命令而配置的存储器映射相关联。
框412可后续接着叙述“至少基于存储器存取操作及另一存储器存取操作而变换包含存储器地址的存储器映射”的框416。为变换所述存储器映射,存储器控制器的地址变换器可在用于先前所提供的存储器命令的存储器映射中识别存储器胞元的地址。一旦经识别,地址变换器便可在用于随后所接收的存储器命令的存储器映射中提供所识别地址,使得随后所接收的存储器命令以由随后所接收存储器命令的操作定义的操作次序存取所识别地址。一旦经分配,地址变换器便已变换存储器映射以用于随后所接收的命令。框416可后续接着叙述“提供经变换存储器映射以执行存储器存取操作”的框420。存储器映射器可将经变换存储器映射提供到存储器单元,且因而基于经变换存储器映射而执行存储器存取操作。因此,可根据随后所接收的存储器命令而非先前所提供的存储器命令的操作次序存取存储器单元的每一存储器胞元。框420可后续接着结束方法400的框424。
包含于所描述实例性方法300及400中的框是出于图解说明目的。在一些实施例中,可以不同次序执行所述框。在一些其它实施例中,可消除各种框。在又其它实施例中,各种框可划分成与其它框互补或共同组合成更少框的额外框。预计这些特定框的其它变化形式,包含框的次序的改变、经分裂或组合成其它框的框的内容的改变等。
图5是根据本文中所描述的实例来布置的计算系统的示意性图解说明。计算装置500可根据本文中所描述的任一实施例来操作。所述计算装置可为智能电话、可穿戴电子装置、服务器、计算机、电器、车辆或任何类型的电子装置。计算系统500包含存储器系统502、处理器505及I/O接口570以及耦合到网络595的网络接口590。存储器系统502包含具有存储器映射器520及地址变换器530的存储器控制器510,其中两者均根据本文中关于存储器映射器及地址变换器所描述的功能性来操作。图5的类似地经编号元件包含与图1的所述经编号元件相似的功能性。举例来说,存储器单元540可像图1的存储器单元140a、140b一样操作且配置。处理器505可包含任何类型的微处理器、中央处理单元(CPU)、专用集成电路(ASIC)、实施为现场可编程门阵列(FPGA)的一部分的数字信号处理器(DSP)、芯片上系统(SoC)或用以提供系统500的处理的其它硬件。
存储器系统502还包含存储器单元540及非暂时性硬件可读媒体550、560,含存储器单元540及非暂时性硬件可读媒体550、560包含分别用于存储器存取及地址变换的指令。处理器505可借助指示何时执行用于存储器存取550的指令及/或用于地址变换560的指令的控制指令控制存储器系统502。在接收到此些控制指令后,存储器映射器520即刻可执行用于存储器存取550的指令;及/或地址变换器530可执行用于地址变换560的指令。用于存储器存取550的指令可包含执行方法300的程序。用于地址变换560的指令可包含执行方法400的程序。处理器505、I/O接口570及网络接口590之间的通信经由处理器内部总线580来提供。处理器505可从I/O接口570或网络接口590接收控制指令,例如用以控制存储器存取或地址变换的执行的指令。
总线580可包含一或多个物理总线、通信线/接口及/或点对点连接,例如外围组件互连(PCI)总线。I/O接口570可包含各种用户接口,包含用于用户的视频及/或音频接口,例如具有麦克风的平板显示器。网络接口590经由网络595与其它计算装置(例如计算装置500或云计算服务器)通信。举例来说,网络接口590可为USB接口。
在本发明的方面中,一种设备包含:存储器阵列,其包括多个存储器胞元;及存储器控制器,其耦合到所述存储器阵列,所述存储器控制器包括经配置以基于与存储器存取操作相关联的存储器命令而配置存储器映射的存储器映射器。所述存储器映射包括用以存取所述存储器阵列的至少一个存储器胞元的特定存储器存取指令序列。
另外或替代地,所述存储器存取指令是存储器命令类型特有的。
另外或替代地,所述存储器命令类型包括行存储器命令、列存储器命令、对角线存储器命令、决定性存储器命令或任何矩阵存储器命令。
另外或替代地,所述特定存储器存取指令序列的每一存储器存取指令包括用于所述多个存储器胞元中的存储器胞元的相应地址的指令。
另外或替代地,所述存储器控制器实施于处理器中。
另外或替代地,所述存储器控制器经配置以经由耦合到网络接口的总线接收所述存储器命令,所述网络接口经配置以与云计算网络通信。
另外或替代地,所述设备进一步包含耦合到所述存储器控制器且经配置以与所述存储器阵列通信的存储器接口。
另外或替代地,所述存储器映射器经配置以经由所述存储器接口将所述存储器映射提供到所述存储器阵列。
另外或替代地,所述存储器接口包括多个端子。所述多个端子的至少一个端口经配置以接收存储器命令信号、地址信号、时钟信号或数据信号中的至少一者。
另外或替代地,所述存储器控制器进一步包含经配置以基于所述存储器存取操作及另一存储器存取操作而变换所述存储器映射的地址变换器。
另外或替代地,向所述另一存储器存取操作提供不同于所述存储器映射的存储器映射。
另外或替代地,所述设备进一步包含包括另外多个存储器胞元的另一存储器阵列,其中所述存储器控制器耦合到所述另一存储器阵列,其中所述特定存储器存取指令序列包括用以存取所述存储器阵列的至少一个存储器胞元及所述另一存储器阵列的至少一个存储器胞元的指令。
另外或替代地,所述存储器命令包括对角线存储器命令。用以存取所述存储器阵列的至少一个存储器胞元的所述特定存储器存取指令序列包含各自沿着所述存储器阵列的对角线存取存储器胞元的存储器存取指令序列。
另外或替代地,用以存取所述存储器阵列的至少一个存储器胞元的所述特定存储器存取指令序列包含由所述存储器命令的操作次序定义的存储器存取指令序列。
在本发明的另一方面中,一种方法包含:获得与存储器存取操作相关联的存储器命令;至少基于所述存储器命令而检索用于所述存储器存取操作的存储器映射;及基于所述存储器映射而执行所述存储器存取操作。
另外或替代地,所述存储器映射包含用以存取多个存储器胞元的特定存储器存取指令序列。
另外或替代地,基于所述存储器映射而执行所述存储器存取操作包含基于所述存储器映射而存取所述多个存储器胞元的相应地址。
另外或替代地,所述存储器映射基于所述存储器命令的操作次序。
在本发明的另一方面中,一种方法包含:获得与存储器存取操作相关联的存储器命令;确定所述存储器存取操作与不同于在另一存储器操作中所利用的另一存储器映射的存储器映射相关联;至少基于所述存储器映射及所述另一存储器映射而变换所述存储器映射;及提供经变换存储器映射以执行所述存储器存取操作。
另外或替代地,所述存储器映射基于所述存储器命令的操作次序,且其中所述另一存储器映射基于经提供以执行先前存储器存取操作的先前存储器命令的另一操作次序。
另外或替代地,至少基于所述存储器映射及所述另一存储器映射而变换所述存储器映射包含:识别所述存储器映射的多个存储器地址;及基于所述存储器命令的操作次序而将所述多个存储器地址分配到所述存储器映射中。
另外或替代地,所述方法进一步包含基于所述存储器映射而存取多个存储器胞元。
根据前述内容将预期,尽管本文中已出于图解说明目的描述本发明的特定实施例,但可在不背离本发明的精神及范围的情况下做出各种修改。

Claims (21)

1.一种设备,其包括:
存储器阵列,其包括多个存储器胞元;及
存储器控制器,其耦合到所述存储器阵列,所述存储器控制器经配置以基于具有第一矩阵操作次序且与第一存储器存取操作相关联的第一存储器命令而配置第一存储器映射,其中所述第一存储器映射包括用以存取所述存储器阵列的至少一个存储器胞元的特定存储器存取指令序列;
基于与第二存储器存取操作相关联的第二存储器命令的第二矩阵操作次序将所述第一存储器映射转换为第二存储器映射,其中所述第二矩阵操作次序不同于所述第一矩阵操作次序;
在所述第一存储器映射中,识别根据所述第一矩阵操作次序布置的所述第一存储器映射中的多个存储器地址,并根据所述第二存储器命令的所述第二矩阵操作次序将所识别的多个存储器地址分配到所述第二存储器映射中。
2.根据权利要求1所述的设备,其中所述存储器存取指令是存储器命令类型特有的。
3.根据权利要求1所述的设备,其中所述第一存储器命令包括对角线存储器命令,且所述第二存储器命令包括决定性存储器命令,其中所述第一矩阵操作次序对应于对角线操作次序,且其中所述第二矩阵操作次序对应于决定性操作次序。
4.根据权利要求1所述的设备,其中所述特定存储器存取指令序列的每一存储器存取指令包括用于所述多个存储器胞元中的存储器胞元的相应地址的指令。
5.根据权利要求1所述的设备,其中所述存储器控制器实施于处理器中。
6.根据权利要求1所述的设备,其中所述存储器控制器经配置以经由耦合到网络接口的总线接收所述存储器命令,所述网络接口经配置以与云计算网络通信。
7.根据权利要求1所述的设备,其进一步包括:
存储器接口,其耦合到所述存储器控制器且经配置以与所述存储器阵列通信。
8.根据权利要求7所述的设备,其中所述存储器控制器进一步经配置以经由所述存储器接口将所述第二存储器映射提供到所述存储器阵列。
9.根据权利要求7所述的设备,其中所述存储器接口包括多个端子,其中所述多个端子的至少一个端口经配置以接收存储器命令信号、地址信号、时钟信号或数据信号中的至少一者。
10.根据权利要求1所述的设备,其中向所述第二存储器存取操作由所述第二存储器映射提供。
11.根据权利要求1所述的设备,其进一步包括:
另一存储器阵列,其包括另外多个存储器胞元,其中所述存储器控制器耦合到所述另一存储器阵列,其中所述特定存储器存取指令序列包括用以存取所述存储器阵列的至少一个存储器胞元及所述另一存储器阵列的至少一个存储器胞元的指令。
12.根据权利要求1所述的设备,其中用以存取所述存储器阵列的至少一个存储器胞元的所述特定存储器存取指令序列包括各自沿着所述存储器阵列的对角线存取存储器胞元的存储器存取指令序列。
13.根据权利要求1所述的设备,其中用以存取所述存储器阵列的至少一个存储器胞元的所述特定存储器存取指令序列包括由所述第一存储器命令的所述第一矩阵操作次序定义的存储器存取指令序列。
14.根据权利要求1所述的设备,其中所述第一存储器命令的所述第一矩阵操作次序对应于由对角线存储器命令定义的矩阵操作次序,且其中所述第二存储器命令的所述第二矩阵操作次序对应于由决定性操作定义的矩阵操作次序。
15.一种方法,其包括:
获得与具有对角线操作次序的第一存储器存取操作相关联的第一存储器命令;
至少基于所述第一存储器命令而检索用于所述第一存储器存取操作的第一存储器映射;
基于所述第一存储器映射而执行所述第一存储器存取操作;
获得与第二存储器存取操作相关联的第二存储器命令;
根据具有决定性操作次序的所述第二存储器存取操作,将所述第一存储器映射转换为用于所述第二存储器存取操作的第二存储器映射;
在所述第一存储器映射中,识别根据所述对角线操作次序布置的所述第一存储器映射中的多个存储器地址;及
根据所述第二存储器命令的所述决定性操作次序,将所识别的多个存储器地址分配到所述第二存储器映射中。
16.根据权利要求15所述的方法,其中所述第一存储器映射包括用以存取多个存储器胞元的特定存储器存取指令序列。
17.根据权利要求16所述的方法,其中基于所述第一存储器映射而执行所述第一存储器存取操作包括基于所述第一存储器映射而存取所述多个存储器胞元的相应地址。
18.根据权利要求15所述的方法,其中所述第一存储器映射基于所述第一存储器存取操作的所述对角线操作次序。
19.一种方法,其包括:
获得与第一存储器存取操作相关联的第一存储器命令;
获得与第二存储器存取操作相关联的第二存储器命令;
确定所述第二存储器存取操作用于第二矩阵操作次序,所述第二矩阵操作次序不同于用于所述第一存储器存取操作的第一矩阵操作次序;
基于关于所述第二矩阵操作次序不同于所述第一矩阵操作次序的确定,将所述第一存储器命令的第一存储器映射转换为所述第二存储器命令的第二存储器映射,其中将所述第一存储器命令的所述第一存储器映射转换为所述第二存储器命令的所述第二存储器映射包括:
在所述第一存储器映射中,识别根据所述第一矩阵操作次序布置的所述第一存储器映射中的多个存储器地址;
根据所述第二存储器命令的所述第二矩阵操作次序,将所识别的多个存储器地址分配到所述第二存储器映射中;及
提供所述第二存储器映射以执行所述第二存储器存取操作。
20.根据权利要求19所述的方法,其中所述第一存储器映射基于被提供以执行所述第一存储器存取操作的所述第一存储器命令的所述第一矩阵操作次序。
21.根据权利要求19所述的方法,其进一步包括:
基于所述第二存储器映射而存取多个存储器胞元。
CN201880026411.4A 2017-04-21 2018-04-02 存储器装置及可促进张量存储器存取的方法 Active CN110582745B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/493,505 US10684955B2 (en) 2017-04-21 2017-04-21 Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
US15/493,505 2017-04-21
PCT/US2018/025660 WO2018194824A1 (en) 2017-04-21 2018-04-02 Memory devices and methods which may facilitate tensor memory access

Publications (2)

Publication Number Publication Date
CN110582745A CN110582745A (zh) 2019-12-17
CN110582745B true CN110582745B (zh) 2023-10-31

Family

ID=63854618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880026411.4A Active CN110582745B (zh) 2017-04-21 2018-04-02 存储器装置及可促进张量存储器存取的方法

Country Status (5)

Country Link
US (2) US10684955B2 (zh)
EP (1) EP3612923A4 (zh)
KR (1) KR102288830B1 (zh)
CN (1) CN110582745B (zh)
WO (1) WO2018194824A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684955B2 (en) 2017-04-21 2020-06-16 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
US11144316B1 (en) 2018-04-17 2021-10-12 Ali Tasdighi Far Current-mode mixed-signal SRAM based compute-in-memory for low power machine learning
US11132124B2 (en) * 2018-06-12 2021-09-28 Intel Corporation Memory subsystem operations with unaligned and scatter gather feature to support convolution and dimension shuffle
US10956315B2 (en) 2018-07-24 2021-03-23 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access
CN110537259A (zh) 2019-06-28 2019-12-03 长江存储科技有限责任公司 三维存储器件中的存储器内计算
WO2020258197A1 (en) 2019-06-28 2020-12-30 Yangtze Memory Technologies Co., Ltd. Computation-in-memory in three-dimensional memory device
US10915298B1 (en) 2019-10-08 2021-02-09 Ali Tasdighi Far Current mode multiply-accumulate for compute in memory binarized neural networks
US11615256B1 (en) 2019-12-30 2023-03-28 Ali Tasdighi Far Hybrid accumulation method in multiply-accumulate for machine learning
US11610104B1 (en) 2019-12-30 2023-03-21 Ali Tasdighi Far Asynchronous analog accelerator for fully connected artificial neural networks
US11522817B1 (en) * 2021-01-04 2022-12-06 Innovium, Inc. Spatial dispersion buffer
CN113342570B (zh) * 2021-06-17 2022-03-08 哈尔滨工业大学 一种适配3d tlc型nand闪存数据存储的双目标状态消除编解码方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102640226A (zh) * 2009-10-21 2012-08-15 美光科技公司 具有内部处理器的存储器及控制存储器存取的方法
US8621181B1 (en) * 2009-10-19 2013-12-31 Marvell International Ltd. System and method for accessing distinct regions of memory using multiple mapping modes, each of the mapping modes having a predetermined order of dimensions for a respective region of the memory

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870625A (en) 1995-12-11 1999-02-09 Industrial Technology Research Institute Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
EP1195719A3 (en) 2000-10-04 2004-12-01 TeraRecon, Inc. Rendering memory in a volume rendering system
TW594743B (en) * 2001-11-07 2004-06-21 Fujitsu Ltd Memory device and internal control method therefor
US6954822B2 (en) 2002-08-02 2005-10-11 Intel Corporation Techniques to map cache data to memory arrays
US7434119B2 (en) * 2005-03-07 2008-10-07 Arm Limited Method and apparatus for memory self testing
US7502909B2 (en) 2005-10-11 2009-03-10 Motorola, Inc. Memory address generation with non-harmonic indexing
US8135936B2 (en) 2009-12-23 2012-03-13 Intel Corporation Adaptive address mapping with dynamic runtime memory mapping selection
JP5415280B2 (ja) 2007-01-16 2014-02-12 コーニンクレッカ フィリップス エヌ ヴェ データビット又はシンボルをインタリーブするためのシステム、装置及び方法
US8332580B2 (en) * 2008-04-02 2012-12-11 Zikbit Ltd. System, method and apparatus for memory with embedded associative section for computations
JP2009276853A (ja) 2008-05-12 2009-11-26 Toshiba Corp フラッシュメモリ装置
KR101360812B1 (ko) 2008-06-05 2014-02-11 삼성전자주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
US9513695B2 (en) * 2008-06-24 2016-12-06 Virident Systems, Inc. Methods of managing power in network computer systems
KR101226394B1 (ko) * 2008-06-30 2013-01-24 후지쯔 세미컨덕터 가부시키가이샤 메모리 장치
TWI447646B (zh) 2011-11-18 2014-08-01 Asmedia Technology Inc 資料傳輸裝置及多個指令的整合方法
US9164676B2 (en) 2011-11-30 2015-10-20 International Business Machines Corporation Storing multi-stream non-linear access patterns in a flash based file-system
US20140181427A1 (en) 2012-12-21 2014-06-26 Advanced Micro Devices, Inc. Compound Memory Operations in a Logic Layer of a Stacked Memory
US20140188961A1 (en) 2012-12-27 2014-07-03 Mikhail Plotnikov Vectorization Of Collapsed Multi-Nested Loops
US9406362B2 (en) 2013-06-17 2016-08-02 Micron Technology, Inc. Memory tile access and selection patterns
US9396109B2 (en) * 2013-12-27 2016-07-19 Qualcomm Incorporated Method and apparatus for DRAM spatial coalescing within a single channel
US10146475B2 (en) * 2014-09-09 2018-12-04 Toshiba Memory Corporation Memory device performing control of discarding packet
US9934153B2 (en) * 2015-06-30 2018-04-03 Nvidia Corporation Patch memory system
US11170294B2 (en) 2016-01-07 2021-11-09 Intel Corporation Hardware accelerated machine learning
US9875104B2 (en) 2016-02-03 2018-01-23 Google Llc Accessing data in multi-dimensional tensors
US9959498B1 (en) 2016-10-27 2018-05-01 Google Llc Neural network instruction set architecture
US10684955B2 (en) 2017-04-21 2020-06-16 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
JP2019046042A (ja) 2017-08-31 2019-03-22 富士通株式会社 伝送装置および伝送方法
US10956315B2 (en) 2018-07-24 2021-03-23 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access
TWI682397B (zh) 2018-12-12 2020-01-11 新唐科技股份有限公司 資料處理系統與資料處理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621181B1 (en) * 2009-10-19 2013-12-31 Marvell International Ltd. System and method for accessing distinct regions of memory using multiple mapping modes, each of the mapping modes having a predetermined order of dimensions for a respective region of the memory
CN102640226A (zh) * 2009-10-21 2012-08-15 美光科技公司 具有内部处理器的存储器及控制存储器存取的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于微程序技术的存储控制器的研究和设计;徐允文等;《半导体技术》;20071103(第11期);全文 *

Also Published As

Publication number Publication date
US11573903B2 (en) 2023-02-07
US10684955B2 (en) 2020-06-16
CN110582745A (zh) 2019-12-17
EP3612923A4 (en) 2021-01-13
KR20190130664A (ko) 2019-11-22
US20200257633A1 (en) 2020-08-13
WO2018194824A1 (en) 2018-10-25
EP3612923A1 (en) 2020-02-26
US20180307614A1 (en) 2018-10-25
KR102288830B1 (ko) 2021-08-12

Similar Documents

Publication Publication Date Title
CN110582745B (zh) 存储器装置及可促进张量存储器存取的方法
US11494078B2 (en) Translation lookaside buffer in memory
US11663008B2 (en) Managing memory device with processor-in-memory circuit to perform memory or processing operation
US20160098209A1 (en) Multidimensional contiguous memory allocation
CN113126898A (zh) 存储器设备及其操作方法和存储器控制器的操作方法
KR20200108774A (ko) 순환 큐 기반의 명령어 메모리를 포함하는 메모리 장치 및 그 동작방법
US20210286551A1 (en) Data access ordering for writing-to or reading-from memory devices
US11392494B2 (en) Technologies for performant column read operations on clustered data in a dimm architecture
US20200293452A1 (en) Memory device and method including circular instruction memory queue
CN113227956B (zh) 计算瓦片
CN112908384A (zh) 可选择性操作的存储器装置
CN113994314A (zh) 扩展存储器接口
CN112445422A (zh) 存储器控制器、存储装置以及存储器控制器的操作方法
CN110574013A (zh) 存储器形状
US11016704B2 (en) Semiconductor system including various memory devices capable of processing data
CN113490915A (zh) 扩展存储器操作
WO2012115744A1 (en) Improved write bandwidth in a memory characterized by a variable write time
KR20210108487A (ko) 저장 디바이스 동작 오케스트레이션
CN114258534A (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
GR01 Patent grant
GR01 Patent grant