CN115440260A - 存储器装置、半导体系统和数据处理系统 - Google Patents
存储器装置、半导体系统和数据处理系统 Download PDFInfo
- Publication number
- CN115440260A CN115440260A CN202210335324.5A CN202210335324A CN115440260A CN 115440260 A CN115440260 A CN 115440260A CN 202210335324 A CN202210335324 A CN 202210335324A CN 115440260 A CN115440260 A CN 115440260A
- Authority
- CN
- China
- Prior art keywords
- address
- burst
- memory
- row
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1018—Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
本公开涉及一种存储器装置,该存储器装置包括存储器单元阵列和外围电路。存储器单元阵列包括多个存储器区域,每个存储器区域由行地址和列地址标识。外围电路通过基于从存储器控制器提供的地址、突发长度和突发地址间隙执行支持可变突发地址间隙的突发操作,来访问存储器单元阵列。突发地址间隙是待执行突发操作的相邻的列地址之间的数值差。
Description
相关申请的交叉引用
本申请要求于2021年6月1日提交的申请号为10-2021-0071108的韩国申请的优先权,该韩国申请如全文所述通过引用整体并入本文。
技术领域
本公开的各个实施例涉及一种集成电路技术,并且更特别地,涉及一种存储器装置、半导体系统和使用它们的数据处理系统。
背景技术
电子装置可以包括许多电子元件。此外,作为电子装置的计算机系统包括许多电子元件,每个电子元件由半导体构成。在构成计算机系统的半导体装置之中,诸如处理器或存储器控制器的主机可以执行与存储器装置的数据通信。存储器装置包括多个存储器单元,存储器单元中的每一个由字线和位线标识。存储器装置被配置为在其中存储数据。待存储在存储器装置中的数据包括矩阵。在人工智能(AI)训练操作期间,可以从待使用的存储器装置中读取矩阵作为原矩阵或转置矩阵。
发明内容
在本公开的实施例中,一种存储器装置可以包括存储器单元阵列和外围电路。存储器单元阵列可以包括多个存储器区域,每个存储器区域由相应行地址和相应列地址标识。外围电路可以通过基于从存储器控制器提供的地址、突发长度(burst length)和突发地址间隙(burst address gap)执行支持可变突发地址间隙的突发操作(burstoperation)来访问存储器单元阵列。突发地址间隙是待执行突发操作的相邻的列地址之间的数值差。
在实施例中,一种半导体系统可以包括存储器装置和存储器控制器。存储器装置可以包括存储器单元阵列和外围电路。存储器单元阵列可以包括多个存储器区域。外围电路可以通过执行支持可变突发地址间隙的突发操作来访问存储器单元阵列。存储器控制器可以向存储器装置提供地址、突发长度和突发地址间隙以控制突发操作。突发地址间隙是待执行突发操作的相邻的列地址之间的数值差。
在本公开的实施例中,一种半导体系统可以包括多个存储器装置和存储器控制器。存储器控制器可以通过多个装置线路组分别联接到多个存储器装置并且可以通过系统线路联接到主机装置。存储器控制器可以包括写入数据处理组件。写入数据处理组件可以从主机装置接收指示多个存储器装置之中的基础装置的基础装置信息、基于基础装置信息的映射、多个装置线路组和从系统线路划分的多个系统线路组,并且将通过多个系统线路组从主机装置提供的数据分别传送到被映射到多个系统线路组的多个装置线路组。
在本公开的实施例中,一种数据处理系统可以包括半导体系统和主机装置。半导体系统可以包括多个存储器装置和存储器控制器。存储器控制器可以通过多个装置线路组分别联接到多个存储器装置。主机装置可以通过系统线路联接到存储器控制器并且可以向存储器控制器提供指示多个存储器装置之中的基础装置的基础装置信息。为了将矩阵存储到半导体系统中,主机装置可以以并行方式将矩阵的多个元素传输到从系统线路划分的多个系统线路组。存储器控制器可以基于基础装置信息将多个系统线路组映射到多个装置线路组以将矩阵存储到多个存储器装置中。矩阵的精确度可以与多个装置线路组中的每一组的位宽相同。
在本公开的实施例中,一种数据处理系统的操作方法,该数据处理系统包括主机和存储器系统,该操作方法可以包括:由主机执行重复第一数量的向存储器系统第一次提供第一行地址、第一起始列地址和属于矩阵的行的第二数量的元素;并且由存储器系统响应于该第一次提供,执行将提供的元素分别顺序地存储到由第一行地址和第二数量的列地址指示的存储器区域中的写入操作,该第二数量的列地址从第一起始列地址开始并且在相邻的列地址之间具有第二数量的数值差。第一数量可以通过将构成行的元素的数量除以第二数量来获得。该第一次提供可以包括在各个重复中将第一行地址改变为从存储器区域的、待存储行的初始元素的行地址连续增加的行地址。第一起始列地址可以是存储器区域的、待存储该行的初始元素的列地址。
在本公开的实施例中,该数据处理系统的操作方法可以进一步包括:由主机执行重复第一数量的向存储器系统第二次提供第一行地址和第一起始列地址;并且由存储器系统响应于该第二次提供,执行从由第一行地址和第二数量的列地址指示的存储器区域顺序地和分别地读出属于行的第二数量的元素的读取操作。该第二次提供可以包括在各个重复中将第一行地址改变为连续增加的行地址。
在本公开的实施例中,该数据处理系统的操作方法可以进一步包括:由主机执行重复第三数量的向存储器系统第二次提供第二行地址和第二起始列地址;并且由存储器系统响应于该第二次提供,执行从由第二行地址和从第二起始列地址开始的第二数量的连续列地址指示的存储器区域顺序地和分别地读出属于矩阵列的第二数量的元素的读取操作。第三数量可以通过将构成列的元素的数量除以第二数量来获得。该第二次提供可以包括在各个重复中将第二行地址改变为从存储器区域的、其中存储列的初始元素的行地址增加多个第二数量的行地址。第二起始列地址可以是存储器区域的、其中存储列的初始元素的列地址。
附图说明
图1是示出根据本公开的实施例的包括支持可变突发地址间隙(BAG)的存储器装置的半导体系统的框图。
图2A和图2B是示出根据本公开的实施例的图1的存储器装置执行支持突发地址间隙的突发操作的过程的示图。
图3是示出根据本公开的实施例的将16×16矩阵存储到存储器装置中的过程的示图。
图4是示出根据本公开的实施例的当矩阵被根据行优先方案存储在存储器装置中时通过突发读取操作从存储器装置获得原矩阵的过程的示图。
图5是示出根据本公开的实施例的当矩阵被根据行优先方案存储在存储器装置中时通过突发读取操作从存储器装置获得转置矩阵的过程的示图。
图6是示出根据本公开的实施例的将16×16矩阵存储到支持可变突发地址间隙的存储器装置中的过程的示图。
图7是示出根据本公开的实施例的通过突发读取操作从存储器装置获得原矩阵的过程的示图。
图8是示出根据本公开的实施例的通过突发读取操作从存储器装置获得转置矩阵的过程的示图。
图9是示出根据本公开的实施例的包括半导体系统的数据处理系统的框图。
图10是示出根据本公开的实施例的图9的写入数据处理组件的框图。
图11和图12是示出根据本公开的实施例的图10的写入数据处理组件的线路映射操作的示图。
图13是示出根据本公开的实施例的图9的读取数据处理组件的框图。
图14和图15是示出根据本公开的实施例的图13的读取数据处理组件的线路映射操作的示图。
图16是示出根据本公开的实施例的图9的地址转换组件的框图。
图17是示出根据本公开的实施例的将16×16矩阵存储到图9的半导体系统中的过程的示图。
图18和图19是示出根据本公开的实施例的从图9的半导体系统获得矩阵的行的过程的示图。
图20和图21是示出根据本公开的实施例的从图9的半导体系统获得矩阵的列的过程的示图。
图22是示出根据本公开的实施例的将16×16矩阵存储到图9的半导体系统中的过程的示图。
图23和图24是示出根据本公开的实施例的从图9的半导体系统获得矩阵的行的过程的示图。
图25和图26是示出根据本公开的实施例的从图9的半导体系统获得矩阵的列的过程的示图。
具体实施方式
下面将参照附图更详细地描述本公开的各个实施例。然而,本公开可以以不同的形式实现并且不应被解释为限于本文中阐述的实施例。相反,提供这些实施例以便本公开将透彻且完整,并且将把本公开的范围充分传达给本领域技术人员。
附图不一定按比例绘制,并且在某些情况下,比例可以被放大以清楚地示出实施例的特征。在本文中使用的术语仅用于描述特定实施例,并非旨在限制本公开。
如本文使用的,术语“和/或”包括所列的相关联的项目中的至少一个。将理解的是,当元件被称为“连接到”或“联接到”另一元件时,该元件可以直接在另一元件之上、直接连接或联接到另一元件,或者可以存在一个或多个中间元件。如本文所使用的,除非上下文另外明确指出,否则单数形式旨在包括复数形式,反之亦然。将进一步理解的是,当在本说明书中使用术语“包含”、“包含有”、“包括”和“包括有”时,该术语指定所陈述元件的存在,并且不排除一个或多个其它元件的存在或添加。
在下文中,下面将参照附图描述本公开的实施例。
根据实施例,可以提供一种能够将矩阵有效地存储在其中并且能够以较低成本读取原矩阵或转置矩阵以使用所读取的矩阵的存储器装置、半导体系统和数据处理系统。
图1是示出根据本公开的实施例的包括支持可变突发地址间隙(BAG)的存储器装置120的半导体系统100的框图。
参照图1,半导体系统100可以包括存储器控制器110和存储器装置120。
存储器控制器110可以提供存储器装置120的操作所需的各种控制信号。存储器控制器110可以嵌入到各种类型的主机装置中。主机装置可以包括中央处理单元(CPU)、图形处理单元(GPU)、多媒体处理器(MMP)、数字信号处理器、应用处理器(AP)等。在实施例中,存储器控制器110可以与存储器装置120一起堆叠在待封装到单个封装中的单个衬底上。存储器装置120可以包括动态随机存取存储器(DRAM)。
存储器控制器110可以控制存储器装置120将数据DATA存储在存储器装置120中以及从存储器装置120中读取数据DATA。存储器控制器110可以向存储器装置120提供用于写入操作或读取操作的地址AD。
存储器装置120可以包括模式寄存器组121、外围电路122和存储器单元阵列123。
模式寄存器组121可以存储用于存储器装置120的操作的参数值。例如,模式寄存器组121可以存储由存储器控制器110设置的突发长度BL和突发地址间隙BAG。
当存储器控制器110命令突发操作时,外围电路122可以基于从存储器控制器110提供的地址AD以及模式寄存器组121中存储的突发长度BL和突发地址间隙BAG,通过执行支持可变突发地址间隙的突发操作,访问存储器单元阵列123。外围电路122可以访问存储器单元阵列123以将从存储器控制器110提供的数据DATA存储到存储器单元阵列123中,以及向存储器控制器110提供从存储器单元阵列123读取的数据DATA。
存储器单元阵列123可以包括被配置为存储数据DATA的多个存储器单元。在外围电路122的控制下,存储器单元阵列123可以将从存储器控制器110提供的数据DATA存储在存储器单元阵列123中,并且可以向外围电路122提供存储器单元阵列123中存储的数据DATA。
在本公开中,数据集DQ可以是通过联接到存储器装置120的DQ引脚一次输入到存储器装置120或一次从存储器装置120输出的数据DATA的组或单位。例如,当存储器装置120通过8个DQ引脚联接到存储器控制器110时,每个数据集DQ可以被配置为8位。
在本公开中,突发写入操作可以由存储器装置120执行并且可以是连续地接收其数量对应于突发长度BL的数据集DQ并且响应于从存储器控制器110提供的单个写入命令(例如,突发写入命令)将数据集DQ顺序地存储到存储器单元阵列123中的操作。在本公开中,突发读取操作可以由存储器装置120执行并且可以是从存储器单元阵列123连续地读出其数量对应突发长度BL的数据集DQ并且响应于从存储器控制器110提供的单个读取命令(例如,突发读取命令)向存储器控制器110顺序地提供所读出的数据集DQ的操作。突发长度BL可以表示待通过存储器装置120的突发写入操作或突发读取操作来写入存储器单元阵列123或从存储器单元阵列123中读取的数据集DQ的数量。突发长度BL可以由存储器控制器110选择。
在实施例中,突发操作可以支持可变突发地址间隙BAG。突发地址间隙BAG可以表示执行突发写入操作或突发读取操作的相邻的列地址之间的数值差。突发地址间隙BAG可以表示相邻的列地址之间的数值差,该数值差与由突发长度BL指示的待写入存储器区域或从存储器区域读取的数据集DQ的数量相对应。作为突发写入/读取操作的目标地址的列地址可以从起始列地址开始并且相邻的列地址之间的数值差可以为突发地址间隙BAG的量。作为突发写入/读取操作的目标地址的列地址的数量可以对应于突发长度BL。突发地址间隙BAG可以是大于一(1)的正数。突发地址间隙BAG可以由存储器控制器110选择。
图2A和图2B是示出根据本公开的实施例的图1的存储器装置120执行支持突发地址间隙BAG的突发操作的过程的示图。
参照图2A,图1的存储器单元阵列123可以包括共同与第一行地址RAD1相对应并且分别与连续的第一列地址CAD1至第十六列地址CAD16相对应的存储器区域M1至M16。存储器区域M1至M16中的每一个可以存储单个数据集DQ。存储器区域M1至M16可以包括在同一页面中。在实施例中,与页面相对应的连续列地址的数量可以大于或小于十六(16)。
存储器控制器110可以向存储器装置120命令突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的突发写入操作。突发地址间隙BAG的值为一(1)可以表示待执行突发写入操作的相邻的列地址之间的数值差为一(1)。对于突发写入操作,存储器控制器110可以向存储器装置120提供第一行地址RAD1、第一列地址CAD1和数据集DQ1至DQ4。第一列地址CAD1可以是待执行突发写入操作的起始列地址。第一行地址RAD1和第一列地址CAD1可以作为图1的地址AD被提供给存储器装置120。
因此,存储器装置120可以将数据集DQ1至DQ4分别存储到与第一行地址RAD1和连续的第一列地址CAD1至第四列地址CAD4相对应的存储器区域M1至M4中。由于突发地址间隙BAG的值为一(1),因此分别与存储各个数据集DQ1至DQ4的存储器区域M1至M4相对应的列地址CAD1至CAD4中的相邻的列地址之间的数值差可以为一(1)。
支持突发地址间隙BAG的值为一(1)的突发操作可以以与不支持突发地址间隙BAG的突发操作基本相同的方式存储数据。
参照图2B,存储器控制器110可以向存储器装置120命令突发长度BL的值为四(4)并且突发地址间隙BAG的值为四(4)的突发写入操作。突发地址间隙BAG的值为四(4)可以表示待执行突发写入操作的相邻的列地址之间的数值差为四(4)。对于突发写入操作,存储器控制器110可以向存储器装置120提供第一行地址RAD1、第一列地址CAD1和数据集DQ1至DQ4。第一列地址CAD1可以是待执行突发写入操作的起始列地址。
因此,存储器装置120可以将数据集DQ1至DQ4分别存储到与第一行地址RAD1以及第一列地址CAD1、第五列地址CAD5、第九列地址CAD9和第十三列地址CAD13相对应的存储器区域M1、M5、M9和M13中。由于突发地址间隙BAG的值为四(4),因此分别与存储各个数据集DQ1至DQ4的存储器区域M1、M5、M9和M13相对应的第一列地址CAD1、第五列地址CAD5、第九列地址CAD9和第十三列地址CAD13中的相邻的列地址之间的数值差可以为四(4)。
可以以类似于突发写入操作的方式将突发地址间隙BAG应用于突发读取操作。为了读取如图2A所示存储的数据集DQ1至DQ4,存储器控制器110可以向存储器装置120命令突发长度BL的值为四(4)、突发地址间隙BAG的值为一(1)并且以第一列地址CAD1作为起始列地址的突发读取操作。为了读取如图2B所示存储的数据集DQ1至DQ4,存储器控制器110可以向存储器装置120命令突发长度BL的值为四(4)、突发地址间隙BAG的值为四(4)并且以第一列地址CAD1作为起始列地址的突发读取操作。
图3是示出将16×16矩阵存储到存储器装置120中的过程的示图。在本公开中,N×N矩阵可以是数据集DQ的N×N阵列。矩阵内的元素可以是单个数据集DQ。可能需要N×N个存储器区域来在其中存储N×N矩阵。
参照图3,存储器装置120可以包括分别与连续的第一行地址RAD1至第十六行地址RAD16相对应的页面P1至P16。页面P1至P16中的每一个可以包括分别与连续列地址CAD1至CAD16相对应的存储器区域。存储器装置120中包括的存储器区域中的每一个可以由单个行地址和单个列地址标识。存储器区域中的每一个可以存储矩阵的每个元素。矩阵内的每个元素可以由矩阵的行号和列号表示。如图3所示,在元素EM内标记的两个数字之间,左边的十六(16)可以表示与矩阵内的元素EM相对应的第十六行RAD16,右边的一(1)可以表示与矩阵内的元素EM相对应的第一列CAD1。
构成矩阵的每个元素的位的数量或位宽,即数据集DQ的位大小可以表示矩阵的精确度。当矩阵的精确度与数据引脚的数量或存储器装置120的装置输入/输出位宽相同时,矩阵的元素可以存储在各个存储器区域中。
如图3所示,可以根据行优先(row major)方案将矩阵存储在存储器装置120中。即,矩阵的行可以存储在各个页面中。例如,矩阵的第一行可以存储在与第一行地址RAD1相对应的第一页面P1中,矩阵的第二行可以存储在与第二行地址RAD2相对应的第二页面P2中,并且矩阵的第十六行可以存储在与第十六行地址RAD16相对应的第十六页面P16中。
与图3的图示不同,可以根据列优先(column major)方案将矩阵存储在存储器装置120中。矩阵的列可以存储在各个页面中。例如,矩阵的第一列可以存储在与第一行地址RAD1相对应的第一页面P1中,矩阵的第二列可以存储在与第二行地址RAD2相对应的第二页面P2中并且矩阵的第十六列可以存储在与第十六行地址RAD16相对应的第十六页面P16中。也就是说,鉴于图3所示的存储器区域的阵列,可以根据行优先方案将矩阵存储为原矩阵,并且可以根据列优先方案将矩阵存储为转置矩阵。
在诸如人工智能(AI)系统的深度学习训练操作等数据处理操作中,可以使用矩阵的原矩阵和转置矩阵两者。然而,由于存储器装置120的存储容量有限,可能难以将原矩阵和转置矩阵都存储到存储器装置120中。因此,例如,可以根据行优先方案将矩阵作为原矩阵存储到存储器装置120中,并且可以通过将参照图4和图5描述的过程来获得矩阵的原矩阵和转置矩阵。
图4是示出根据本公开的实施例的当矩阵被根据行优先方案存储在存储器装置120中时通过突发读取操作从存储器装置120获得原矩阵的过程的示图。在图4的实施例中,存储器装置120不使用突发地址间隙BAG。
参照图4,如参照图3描述的,可以根据行优先方案将矩阵存储在存储器装置120中。存储器控制器110可以通过突发长度BL的值为四(4)的第一突发读取操作BR1至第四突发读取操作BR4获得矩阵的第一行。
具体地,存储器控制器110可以向存储器装置120提供用于第一突发读取操作BR1的第一行地址RAD1和第一列地址CAD1。存储器装置120可以以第一列地址CAD1作为起始列地址来执行第一突发读取操作BR1。因此,存储器控制器110可以从矩阵获得第一行的第一列至第四列的元素。
存储器控制器110可以向存储器装置120提供用于第二突发读取操作BR2的第一行地址RAD1和第五列地址CAD5。存储器装置120可以以第五列地址CAD5作为起始列地址来执行第二突发读取操作BR2。因此,存储器控制器110可以从矩阵获得第一行的第五列至第八列的元素。
存储器控制器110可以向存储器装置120提供用于第三突发读取操作BR3的第一行地址RAD1和第九列地址CAD9。存储器装置120可以以第九列地址CAD9作为起始列地址来执行第三突发读取操作BR3。因此,存储器控制器110可以从矩阵获得第一行的第九列至第十二列的元素。
存储器控制器110可以向存储器装置120提供用于第四突发读取操作BR4的第一行地址RAD1和第十三列地址CAD13。存储器装置120可以以第十三列地址CAD13作为起始列地址来执行第四突发读取操作BR4。因此,存储器控制器110可以从矩阵获得第一行的第十三列至第十六列的元素。
第二行至第十六行可以以类似于上述第一行的方式从矩阵中获得。即,第一行至第十六行可以通过采用第一行地址至第十六行地址的顺序突发读取操作来顺序地获得。因此,原矩阵可以以相对容易的方式获得。
图5是示出根据本公开的实施例的当矩阵被根据行优先方案存储在存储器装置120中时通过突发读取操作从存储器装置120获得转置矩阵的过程的示图。在图5的实施例中,存储器装置120不使用突发地址间隙BAG。
参照图5,如参照图3描述的,可以根据行优先方案将矩阵存储在存储器装置120中。存储器控制器110可以通过突发长度BL的值为四(4)的第一突发读取操作BR1至第十六突发读取操作BR16获得矩阵的第一列。
具体地,存储器控制器110可以向存储器装置120提供用于第一突发读取操作BR1的第一行地址RAD1和第一列地址CAD1。因此,存储器控制器110可以从矩阵获得第一行的第一列至第四列的元素。
存储器控制器110可以向存储器装置120提供用于第二突发读取操作BR2的第二行地址RAD2和第一列地址CAD1。因此,存储器控制器110可以从矩阵获得第二行的第一列至第四列的元素。
以类似的方式,可以分别通过第三突发读取操作BR3至第十六突发读取操作BR16从矩阵中获得第三行至第十六行中每一行的第一列至第四列的元素。
在完成所有的第一突发读取操作BR1至第十六突发读取操作BR16时,可以从矩阵读取第一列至第四列。在读取的第一列至第四列中,第一列可以用作转置矩阵的第一行,剩余的第二列至第四列可以临时存储在单独的存储器(例如,SRAM)中以用作转置矩阵的第二行至第四行。
综上所述,当根据行预先方案将矩阵存储在存储器装置120中时,获得转置矩阵可能会比获得原矩阵花费更多的时间量和更多的资源。在没有诸如SRAM的单独的存储器的情况下,读取操作的数量可能会显著增加。
在矩阵被根据列优先方案存储在存储器装置120中的情况下,可以以与上述相同的方式执行获得原矩阵和转置矩阵的过程。当矩阵被根据列优先方案存储在存储器装置120中时,可以按照参照图4描述的方式获得转置矩阵,并且可以按照参照图5描述的方式获得原矩阵。
在实施例中,通过可变突发地址间隙,可以将矩阵有效地存储在存储器装置120中,并且可以以更少的时间量和更少的资源从存储器装置120获得原矩阵和转置矩阵,下面将对此进行描述。
图6是示出根据本公开的实施例的将16×16矩阵存储到支持可变突发地址间隙的存储器装置120中的过程的示图。
参照图6,当矩阵的精确度与数据引脚的数量或存储器装置120的装置输入/输出位宽相同时,矩阵的元素可以存储在存储器装置120内的、由单个行地址和单个列地址标识的存储器区域中。
存储器控制器110可以通过突发长度BL的值为四(4)并且突发地址间隙BAG的值为四(4)的突发写入操作,将矩阵存储在存储器装置120中。图6示出当突发长度BL的值为四(4)时连续提供给存储器装置120的四个元素bl0、bl1、bl2和bl3。对于突发地址间隙BAG和突发长度BL,存储器控制器110可以使用相同的值。在实施例中,对于突发长度BL和突发地址间隙BAG,存储器控制器110可以使用除了四(4)之外的值。
具体地,存储器控制器110可以通过第一突发写入操作BW1至第四突发写入操作BW4将矩阵的第一行存储到存储器装置120中。
对于第一突发写入操作BW1,存储器控制器110可以向存储器装置120提供第一行地址RAD1、第一列地址CAD1以及矩阵第一行的第一列至第四列的元素bl0、bl1、bl2和bl3。存储器装置120可以从第一行地址RAD1的第一列地址CAD1开始执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为四(4)的第一突发写入操作BW1。
对于第二突发写入操作BW2,存储器控制器110可以向存储器装置120提供第二行地址RAD2、第一列地址CAD1以及矩阵第一行的第五列至第八列的元素bl0、bl1、bl2和bl3。存储器装置120可以从第二行地址RAD2的第一列地址CAD1开始执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为四(4)的第二突发写入操作BW2。
对于第三突发写入操作BW3,存储器控制器110可以向存储器装置120提供第三行地址RAD3、第一列地址CAD1以及矩阵第一行的第九列至第十二列的元素bl0、bl1、bl2和bl3。存储器装置120可以从第三行地址RAD3的第一列地址CAD1开始执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为四(4)的第三突发写入操作BW3。
对于第四突发写入操作BW4,存储器控制器110可以向存储器装置120提供第四行地址RAD4、第一列地址CAD1以及矩阵第一行的第十三列至第十六列的元素bl0、bl1、bl2和bl3。存储器装置120可以从第四行地址RAD4的第一列地址CAD1开始执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为四(4)的第四突发写入操作BW4。
可以通过将用作存储第一行的起始列地址的第一列地址CAD1之后的第二列地址CAD2用作存储第二行的起始列地址,以类似于如上所述的矩阵的第一行的方式,通过第五突发写入操作BW5至第八突发写入操作BW8将矩阵的第二行存储到存储器装置120中。可以通过将第三列地址CAD3用作存储第三行的起始列地址来将矩阵的第三行存储到存储器装置120中。可以通过将第四列地址CAD4用作存储第四行的起始列地址来将矩阵的第四行存储到存储器装置120中。
以类似的方式,可以将矩阵的剩余行存储在与每4行的4个行地址相对应的页面中。
在实施例中,可以根据下面的等式1确定的是支持可变突发地址间隙的存储器装置120内的、存储矩阵的第(i,j)个元素的存储器区域的地址。
等式1:
存储矩阵的第(i,j)个元素的存储器区域的地址=Baddr+(i–i%(bl+1))*Mcol+i%(bl+1)–1+(j-1)*bl
在等式1中,“Baddr”可以表示存储矩阵的第(1,1)个元素的存储器区域的地址。“Mcol”可以表示矩阵的列的数量。“%”可以表示取模运算。“bl”可以表示突发长度BL。突发地址间隙BAG可以被设置为具有与突发长度BL相同的值。
在实施例中,用于存储矩阵的每一行(例如,第一行)的突发写入操作(例如,第一突发写入操作BW1至第四突发写入操作BW4)可以被执行与通过将构成每一行的元素(例如,十六(16))的数量除以突发长度BL(例如,四(4))而获得的值一样多的次数。用于存储矩阵的每一行(例如,第一行)的突发写入操作(例如,第一突发写入操作BW1至第四突发写入操作BW4)的行地址可以是从由等式1确定的矩阵的每一行的初始元素的行地址(例如,第一行地址RAD1)开始的连续的行地址(例如,第一行地址RAD1至第四行地址RAD4)。用于存储矩阵的每一行(例如,第一行)的突发写入操作(例如,第一突发写入操作BW1至第四突发写入操作BW4)的起始列地址中的每一个可以是由等式1确定的矩阵的行的初始元素的列地址(例如,第一列地址CAD1)。矩阵的每一行的初始元素可以是矩阵的该行的第一列的元素。
图7是示出根据本公开的实施例的通过突发读取操作从存储器装置120获得原矩阵的过程的示图。
参照图7,如参照图6所述,矩阵可以存储在存储器装置120中。当需要原矩阵时,存储器控制器110可以通过第一突发读取操作BR1至第四突发读取操作BR4读取矩阵的第一行。突发长度BL的值可以为四(4)。即,在从存储器装置120读取矩阵时使用的突发长度BL的值可以与在将矩阵存储到存储器装置120中时使用的突发长度BL的值相同。突发地址间隙BAG的值可以为四(4)。即,在从存储器装置120读取矩阵的行时使用的突发地址间隙BAG的值可以与在将矩阵的行存储到存储器装置120中时使用的突发地址间隙BAG的值相同。即,突发地址间隙BAG的值可以与突发长度BL的值相同。
对于第一突发读取操作BR1,存储器控制器110可以向存储器装置120提供第一行地址RAD1和第一列地址CAD1。存储器装置120可以从第一行地址RAD1的第一列地址CAD1开始执行突发地址间隙BAG的值为四(4)的第一突发读取操作BR1。因此,存储器控制器110可以获得矩阵内第一行的第一列至第四列的元素。
对于第二突发读取操作BR2,存储器控制器110可以向存储器装置120提供第二行地址RAD2和第一列地址CAD1。存储器装置120可以从第二行地址RAD2的第一列地址CAD1开始执行突发地址间隙BAG的值为四(4)的第二突发读取操作BR2。因此,存储器控制器110可以获得矩阵内第一行的第五列至第八列的元素。
对于第三突发读取操作BR3,存储器控制器110可以向存储器装置120提供第三行地址RAD3和第一列地址CAD1。存储器装置120可以从第三行地址RAD3的第一列地址CAD1开始执行突发地址间隙BAG的值为四(4)的第三突发读取操作BR3。因此,存储器控制器110可以获得矩阵内第一行的第九列至第十二列的元素。
对于第四突发读取操作BR4,存储器控制器110可以向存储器装置120提供第四行地址RAD4和第一列地址CAD1。存储器装置120可以从第四行地址RAD4的第一列地址CAD1开始执行突发地址间隙BAG的值为四(4)的第四突发读取操作BR4。因此,存储器控制器110可以获得矩阵内第一行的第十三列至第十六列的元素。
可以通过将用作读取第一行的起始列地址的第一列地址CAD1之后的第二列地址CAD2用作读取第二行的起始列地址,以类似于如上所述的矩阵的第一行的方式,从存储器装置120中获得矩阵的第二行。即,矩阵的每一行可以通过与将该行存储到存储器装置120中的过程相反的过程从存储器装置120获得。
在实施例中,用于读取矩阵的每一行(例如,第一行)的突发读取操作(例如,第一突发读取操作BR1至第四突发读取操作BR4)可以被执行与通过将构成每一行的元素(例如,十六(16))的数量除以突发长度BL(例如,四(4))而获得的值一样多的次数。用于读取矩阵的每一行(例如,第一行)的突发读取操作(例如,第一突发读取操作BR1至第四突发读取操作BR4)的行地址可以是从由等式1确定的矩阵的每一行的初始元素的行地址(例如,第一行地址RAD1)开始的连续的行地址(例如,第一行地址RAD1至第四行地址RAD4)。用于读取矩阵的每一行(例如,第一行)的突发读取操作(例如,第一突发读取操作BR1至第四突发读取操作BR4)的起始列地址中的每一个可以是由等式1确定的矩阵的行的初始元素的列地址(例如,第一列地址CAD1)。矩阵的每一行的初始元素可以是矩阵的该行的第一列的元素。
图8是示出根据本公开的实施例的通过突发读取操作从存储器装置120获得转置矩阵的过程的示图。
参照图8,如参照图6所述,矩阵可以存储在存储器装置120中。当需要转置矩阵时,存储器控制器110可以通过第一突发读取操作BR1至第四突发读取操作BR4读取矩阵的第一列。突发长度BL的值可以为四(4)。即,在从存储器装置120读取矩阵时使用的突发长度BL的值可以与在将矩阵存储到存储器装置120中时使用的突发长度BL的值相同。突发地址间隙BAG的值可以为一(1)。即,在从存储器装置120读取矩阵的列时使用的突发地址间隙BAG的值可以与在将矩阵的行存储到存储器装置120中时使用的突发地址间隙BAG的值不同。
对于第一突发读取操作BR1,存储器控制器110可以向存储器装置120提供第一行地址RAD1和第一列地址CAD1。存储器装置120可以从第一行地址RAD1的第一列地址CAD1开始执行突发地址间隙BAG的值为一(1)的第一突发读取操作BR1。因此,存储器控制器110可以获得矩阵内第一行至第四行的第一列的元素。
对于第二突发读取操作BR2,存储器控制器110可以向存储器装置120提供第五行地址RAD5和第一列地址CAD1。存储器装置120可以从第五行地址RAD5的第一列地址CAD1开始执行突发地址间隙BAG的值为一(1)的第二突发读取操作BR2。因此,存储器控制器110可以获得矩阵内第五行至第八行的第一列的元素。
对于第三突发读取操作BR3,存储器控制器110可以向存储器装置120提供第九行地址RAD9和第一列地址CAD1。存储器装置120可以从第九行地址RAD9的第一列地址CAD1开始执行突发地址间隙BAG的值为一(1)的第三突发读取操作BR3。因此,存储器控制器110可以获得矩阵内第九行至第十二行的第一列的元素。
对于第四突发读取操作BR4,存储器控制器110可以向存储器装置120提供第十三行地址RAD13和第一列地址CAD1。存储器装置120可以从第十三行地址RAD13的第一列地址CAD1开始执行突发地址间隙BAG的值为一(1)的第四突发读取操作BR4。因此,存储器控制器110可以获得矩阵内第十三行至第十六行的第一列的元素。
可以通过将比用作读取第一列的起始列地址的第一列地址CAD1大突发长度BL的量的第五列地址CAD5用作读取第二列的起始列地址,以类似于如上所述的矩阵的第一列的方式,从存储器装置120中获得矩阵的第二列。
在实施例中,用于读取矩阵的每一列(例如,第一列)的突发读取操作(例如,第一突发读取操作BR1至第四突发读取操作BR4)可以被执行与通过将构成每一列的元素(例如,十六(16))的数量除以突发长度BL(例如,四(4))而获得的值一样多的次数。用于读取矩阵的每一列(例如,第一列)的突发读取操作(例如,第一突发读取操作BR1至第四突发读取操作BR4)的行地址可以是从由等式1确定的矩阵的列的初始元素的行地址(例如,第一行地址RAD1)开始并且相邻的行地址之间的数值差为突发长度BL的量(例如,四(4))的行地址(例如,第一行地址RAD1、第五行地址RAD5、第九行地址RAD9和第十三行地址RAD13)。用于读取矩阵的每一列(例如,第一列)的突发读取操作(例如,第一突发读取操作BR1至第四突发读取操作BR4)的起始列地址中的每一个可以是由等式1确定的矩阵的列的初始元素的列地址(例如,第一列地址CAD1)。矩阵的每一列的初始元素可以是矩阵的第一行的该列的元素。
当比较用于获得转置矩阵的图8的突发读取操作和图5的突发读取操作时,如图8所示的获得转置矩阵的过程可以大量减少执行突发读取操作的次数,从而可以提高运算速度并降低功耗。图8所示的获得转置矩阵的过程需要4个突发读取操作仅读取矩阵的第一列,不像图5所示的需要单独的存储器来在其中临时存储其他列,从而可以节省单独的存储器的成本。
在实施例中,可以根据参照图8描述的过程读取除了矩阵的转置矩阵之外的矩阵的任意一列。
图9是示出根据本公开的实施例的包括半导体系统200的数据处理系统2的框图。
参照图9,数据处理系统2可以包括主机装置20和半导体系统200。
为了将数据存储到半导体系统200中并且从半导体系统200读取数据,主机装置20可以控制半导体系统200。主机装置20可以通过多条系统线路SL联接到半导体系统200并且可以通过多条系统线路SL与半导体系统200交换数据。
半导体系统200可以包括存储器控制器210和第一存储器装置MEM1至第四存储器装置MEM4。
存储器控制器210可以在主机装置20的控制下控制第一存储器装置MEM1至第四存储器装置MEM4的写入操作和读取操作。
存储器控制器210可以通过多条系统线路SL联接到主机装置20。主机输入/输出位宽可以是通过多条系统线路SL一次在主机装置20与存储器控制器210之间并行传送的位的数量。
存储器控制器210可以通过第一装置线路组DLG1至第四装置线路组DLG4分别联接到第一存储器装置MEM1至第四存储器装置MEM4。第一装置线路组DLG1至第四装置线路组DLG4中的每一组可以由多条装置线路配置。装置输入/输出位宽可以是通过第一装置线路组DLG1至第四装置线路组DLG4中的相应一组在存储器控制器210与第一存储器装置MEM1至第四存储器装置MEM4中的任意一个之间一次并行传送的数据位的数量。即,装置输入/输出位宽可以是参照图3讨论的数据集DQ的位大小。装置输入/输出位宽可以表示第一存储器装置MEM1至第四存储器装置MEM4中的每一个的数据引脚或DQ引脚的数量。
因此,主机输入/输出位宽可以是装置输入/输出位宽的四(4)倍,四(4)是半导体系统200中包括的第一存储器装置MEM1至第四存储器装置MEM4的数量。例如,当第一存储器装置MEM1至第四存储器装置MEM4中的每一个的装置输入/输出位宽是8时,主机输入/输出位宽可以是32。
如稍后描述的,存储器控制器210可以将多条系统线路SL划分为第一系统线路组SLG1至第四系统线路组SLG4。第一系统线路组SLG1至第四系统线路组SLG4的数量可以与第一存储器装置MEM1至第四存储器装置MEM4的数量相同。第一系统线路组SLG1至第四系统线路组SLG4中的每一组可以具有与第一装置线路组DLG1至第四装置线路组DLG4中的每一组相同的位宽。位宽可以是一次传送的数据位的数量。例如,当多条系统线路SL传送[31:0]位时,第一系统线路组SLG1至第四系统线路组SLG4可以分别传送[7:0]位、[15:8]位、[23:16]位和[31:24]位。
存储器控制器210可以包括写入数据处理组件211、读取数据处理组件212和地址转换组件213。
写入数据处理组件211可以基于从主机装置20提供的基础装置信息,将第一系统线路组SLG1至第四系统线路组SLG4分别映射到第一装置线路组DLG1至第四装置线路组DLG4。写入数据处理组件211可以将通过每个系统线路组从主机装置20提供的数据传送到被映射到系统线路组的装置线路组。基础装置信息可以将第一存储器装置MEM1至第四存储器装置MEM4之中的一个指示为基础装置。基础装置可以由主机装置20选择。
读取数据处理组件212可以基于从主机装置20提供的基础装置信息,将第一系统线路组SLG1至第四系统线路组SLG4分别映射到第一装置线路组DLG1至第四装置线路组DLG4。读取数据处理组件212可以将通过相应的装置线路组从每个存储器装置提供的数据传送到被映射到该装置线路组的系统线路组。
对于第一存储器装置MEM1至第四存储器装置MEM4各自的读取操作,地址转换组件213可以基于从主机装置20提供的基础装置信息,将基础地址转换为第一装置地址至第四装置地址以分别提供给第一存储器装置MEM1至第四存储器装置MEM4。基础地址可以是与来自主机装置20的读取命令一起提供的地址。
第一存储器装置MEM1至第四存储器装置MEM4可以在存储器控制器210的控制下以并行方式执行各自的写入操作或读取操作。尽管图9示出包括4个存储器装置MEM1至MEM4的半导体系统200,但是根据实施例,半导体系统200中包括的存储器装置的数量将不限于此。
图10是示出根据本公开的实施例的图9的写入数据处理组件211的框图。
在本公开中,装置顺序可以是第一存储器装置MEM1至第四存储器装置MEM4的预定顺序。例如,装置顺序可以是从第一存储器装置MEM1到第四存储器装置MEM4的顺序。第一存储器装置MEM1至第四存储器装置MEM4可以根据装置顺序循环。例如,根据装置顺序,第一存储器装置MEM1可以在第四存储器装置MEM4之后。第一装置线路组DLG1至第四装置线路组DLG4的顺序可以与第一存储器装置MEM1至第四存储器装置MEM4的装置顺序相同。
参照图10,写入数据处理组件211可以基于基础装置信息BASEI执行将第一装置线路组DLG1至第四装置线路组DLG4分别映射到从多条系统线路SL划分的第一系统线路组SLG1至第四系统线路组SLG4的线路映射操作。写入数据处理组件211可以将分别从第一系统线路组SLG1至第四系统线路组SLG4提供的数据传送到分别映射到系统线路组的装置线路组。
写入数据处理组件211可以基于线路映射表LMT执行线路映射操作。根据由基础装置信息BASEI确定的基础装置BASE,线路映射表LMT可以表示第一装置线路组DLG1至第四装置线路组DLG4与第一系统线路组SLG1至第四系统线路组SLG4之间的映射关系。例如,线路映射表LMT可以包括根据基础装置BASE被分别映射到第一装置线路组DLG1至第四装置线路组DLG4的系统线路组的信息。
写入数据处理组件211可以根据从与基础装置BASE相对应的装置线路组开始的装置顺序将第一系统线路组SLG1至第四系统线路组SLG4顺序地映射到装置线路组。如图10所示的线路映射表LMT所示,当基础装置BASE是第一存储器装置MEM1时,第一系统线路组SLG1至第四系统线路组SLG4可以根据从第一装置线路组DLG1开始的装置顺序,顺序地映射到第一装置线路组DLG1至第四装置线路组DLG4。当基础装置BASE是第二存储器装置MEM2时,第一系统线路组SLG1至第四系统线路组SLG4可以根据从第二装置线路组DLG2开始的装置顺序,顺序地映射到第二装置线路组DLG2、第三装置线路组DLG3、第四装置线路组DLG4和第一装置线路组DLG1。当基础装置BASE是第三存储器装置MEM3时,第一系统线路组SLG1至第四系统线路组SLG4可以根据从第三装置线路组DLG3开始的装置顺序,顺序地映射到第三装置线路组DLG3、第四装置线路组DLG4、第一装置线路组DLG1和第二装置线路组DLG2。当基础装置BASE是第四存储器装置MEM4时,第一系统线路组SLG1至第四系统线路组SLG4可以根据从第四装置线路组DLG4开始的装置顺序,顺序地映射到第四装置线路组DLG4、第一装置线路组DLG1、第二装置线路组DLG2和第三装置线路组DLG3。
写入数据处理组件211可以包括写入映射信号生成组件221和分别与第一装置线路组DLG1至第四装置线路组DLG4相对应的第一写入多路复用器WM1至第四写入多路复用器WM4。第一写入多路复用器WM1至第四写入多路复用器WM4的数量可以与第一存储器装置MEM1至第四存储器装置MEM4的数量相同。
第一系统线路组SLG1至第四系统线路组SLG4可以联接到第一写入多路复用器WM1至第四写入多路复用器WM4中的每一个的输入节点。第一写入多路复用器WM1至第四写入多路复用器WM4中的每一个的输出节点可以联接到第一装置线路组DLG1至第四装置线路组DLG4中的相应一组。例如,第一写入多路复用器WM1至第四写入多路复用器WM4的输出节点可以分别联接到第一装置线路组DLG1至第四装置线路组DLG4。第一写入多路复用器WM1至第四写入多路复用器WM4中的每一个可以选择第一系统线路组SLG1至第四系统线路组SLG4中的一组,并且可以将数据从所选择的系统线路组传送到联接到该写入多路复用器的装置线路组。所选择的系统线路组可以映射到联接到该写入多路复用器的装置线路组。第一写入多路复用器WM1至第四写入多路复用器WM4可以分别响应于第一写入映射信号WMS1至第四写入映射信号WMS4来选择第一系统线路组SLG1至第四系统线路组SLG4中的一组。所选择的系统线路组可以分别映射到第一装置线路组DLG1至第四装置线路组DLG4之中联接到第一写入多路复用器WM1至第四写入多路复用器WM4的装置线路组。
写入映射信号生成组件221可以基于基础装置信息BASEI,生成分别与第一装置线路组DLG1至第四装置线路组DLG4相对应的第一写入映射信号WMS1至第四写入映射信号WMS4。基于由基础装置信息BASEI确定的基础装置BASE,写入映射信号生成组件221可以生成第一写入映射信号WMS1至第四写入映射信号WMS4以分别指示映射到与基础装置BASE相对应的装置线路组的系统线路组。例如,写入映射信号生成组件221可以参考线路映射表LMT来生成第一写入映射信号WMS1至第四写入映射信号WMS4。
例如,当基础装置BASE是第一存储器装置MEM1时,写入映射信号生成组件221可以生成第一写入映射信号WMS1至第四写入映射信号WMS4以分别指示第一系统线路组SLG1至第四系统线路组SLG4。当基础装置BASE是第二存储器装置MEM2时,写入映射信号生成组件221可以生成第一写入映射信号WMS1至第四写入映射信号WMS4以分别指示第四系统线路组SLG4、第一系统线路组SLG1、第二系统线路组SLG2和第三系统线路组SLG3。当基础装置BASE是第三存储器装置MEM3时,写入映射信号生成组件221可以生成第一写入映射信号WMS1至第四写入映射信号WMS4以分别指示第三系统线路组SLG3、第四系统线路组SLG4、第一系统线路组SLG1和第二系统线路组SLG2。当基础装置BASE是第四存储器装置MEM4时,写入映射信号生成组件221可以生成第一写入映射信号WMS1至第四写入映射信号WMS4以分别指示第二系统线路组SLG2、第三系统线路组SLG3、第四系统线路组SLG4和第一系统线路组SLG1。
图11和图12是示出根据本公开的实施例的图10的写入数据处理组件211的线路映射操作的示图。
参照图11,基础装置信息BASEI可以将第一存储器装置MEM1指示为基础装置BASE。在这种情况下,写入数据处理组件211可以进行如下操作。
写入映射信号生成组件221可以响应于基础装置信息BASEI,生成分别指示第一系统线路组SLG1至第四系统线路组SLG4的第一写入映射信号WMS1至第四写入映射信号WMS4。
响应于第一写入映射信号WMS1,第一写入多路复用器WM1可以将来自第一系统线路组SLG1至第四系统线路组SLG4之中的第一系统线路组SLG1的数据传送到第一装置线路组DLG1。
响应于第二写入映射信号WMS2,第二写入多路复用器WM2可以将来自第一系统线路组SLG1至第四系统线路组SLG4之中的第二系统线路组SLG2的数据传送到第二装置线路组DLG2。
响应于第三写入映射信号WMS3,第三写入多路复用器WM3可以将来自第一系统线路组SLG1至第四系统线路组SLG4之中的第三系统线路组SLG3的数据传送到第三装置线路组DLG3。
响应于第四写入映射信号WMS4,第四写入多路复用器WM4可以将来自第一系统线路组SLG1至第四系统线路组SLG4之中的第四系统线路组SLG4的数据传送到第四装置线路组DLG4。
参照图12,根据本公开的实施例,基础装置信息BASEI可以将第二存储器装置MEM2指示为基础装置BASE。在这种情况下,写入数据处理组件211可以进行如下操作。
写入映射信号生成组件221可以响应于基础装置信息BASEI,生成分别指示第四系统线路组SLG4、第一系统线路组SLG1、第二系统线路组SLG2和第三系统线路组SLG3的第一写入映射信号WMS1至第四写入映射信号WMS4。
响应于第一写入映射信号WMS1,第一写入多路复用器WM1可以将来自第一系统线路组SLG1至第四系统线路组SLG4之中的第四系统线路组SLG4的数据传送到第一装置线路组DLG1。
响应于第二写入映射信号WMS2,第二写入多路复用器WM2可以将来自第一系统线路组SLG1至第四系统线路组SLG4之中的第一系统线路组SLG1的数据传送到第二装置线路组DLG2。
响应于第三写入映射信号WMS3,第三写入多路复用器WM3可以将来自第一系统线路组SLG1至第四系统线路组SLG4之中的第二系统线路组SLG2的数据传送到第三装置线路组DLG3。
响应于第四写入映射信号WMS4,第四写入多路复用器WM4可以将来自第一系统线路组SLG1至第四系统线路组SLG4之中的第三系统线路组SLG3的数据传送到第四装置线路组DLG4。
图13是示出根据本公开的实施例的图9的读取数据处理组件212的框图。
参照图13,数据处理组件212可以基于基础装置信息BASEI执行将第一装置线路组DLG1至第四装置线路组DLG4分别映射到第一系统线路组SLG1至第四系统线路组SLG4的线路映射操作。读取数据处理组件212可以将分别从第一装置线路组DLG1至第四装置线路组DLG4提供的数据传送到被分别映射到装置线路组的系统线路组。
读取数据处理组件212可以基于线路映射表LMT’执行线路映射操作。线路映射表LMT’可以根据基础装置BASE表示第一装置线路组DLG1至第四装置线路组DLG4与第一系统线路组SLG1至第四系统线路组SLG4之间的映射关系。例如,线路映射表LMT’可以包括根据基础装置BASE被分别映射到第一系统线路组SLG1至第四系统线路组SLG4的装置线路组的信息。
线路映射表LMT’可以包括关于与写入数据处理组件211参考的线路映射表LMT基本相同的映射关系的信息。因此,由读取数据处理组件212执行的线路映射操作的结果可以与由写入数据处理组件211执行的线路映射操作的结果相同。读取数据处理组件212可以根据从与基础装置BASE相对应的装置线路组开始的装置顺序将第一系统线路组SLG1至第四系统线路组SLG4顺序地映射到装置线路组。
读取数据处理组件212可以包括读取映射信号生成组件222和分别与第一系统线路组SLG1至第四系统线路组SLG4相对应的第一读取多路复用器RM1至第四读取多路复用器RM4。第一读取多路复用器RM1至第四读取多路复用器RM4的数量可以与第一存储器装置MEM1至第四存储器装置MEM4的数量相同。
第一装置线路组DLG1至第四装置线路组DLG4可以联接到第一读取多路复用器RM1至第四读取多路复用器RM4中的每一个的输入节点。第一读取多路复用器RM1至第四读取多路复用器RM4中的每一个的输出节点可以联接到第一系统线路组SLG1至第四系统线路组SLG4中的相应一组。例如,第一读取多路复用器RM1至第四读取多路复用器RM4的输出节点可以分别联接到第一系统线路组SLG1至第四系统线路组SLG4。第一读取多路复用器RM1至第四读取多路复用器RM4中的每一个可以选择第一装置线路组DLG1至第四装置线路组DLG4中的一组,并且可以将数据从所选择的装置线路组传送到联接到该读取多路复用器的系统线路组。所选择的装置线路组可以被映射到联接到该读取多路复用器的系统线路组。第一读取多路复用器RM1至第四读取多路复用器RM4可以分别响应于第一读取映射信号RMS1至第四读取映射信号RMS4来选择第一装置线路组DLG1至第四装置线路组DLG4中的一组。所选择的装置线路组可以被分别映射到第一系统线路组SLG1至第四系统线路组SLG4之中联接到第一读取多路复用器RM1至第四读取多路复用器RM4的一组。
读取映射信号生成组件222可以基于基础装置信息BASEI,生成分别与第一系统线路组SLG1至第四系统线路组SLG4相对应的第一读取映射信号RMS1至第四读取映射信号RMS4。基于基础装置BASE,读取映射信号生成组件222可以生成第一读取映射信号RMS1至第四读取映射信号RMS4以分别指示映射到与基础装置BASE相对应的系统线路组的装置线路组。例如,读取映射信号生成组件222可以参考线路映射表LMT’以生成第一读取映射信号RMS1至第四读取映射信号RMS4。
例如,当基础装置BASE是第一存储器装置MEM1时,读取映射信号生成组件222可以生成第一读取映射信号RMS1至第四读取映射信号RMS4以分别指示第一装置线路组DLG1至第四装置线路组DLG4。当基础装置BASE是第二存储器装置MEM2时,读取映射信号生成组件222可以生成第一读取映射信号RMS1至第四读取映射信号RMS4以分别指示第二装置线路组DLG2、第三装置线路组DLG3、第四装置线路组DLG4和第一装置线路组DLG1。当基础装置BASE是第三存储器装置MEM3时,读取映射信号生成组件222可以生成第一读取映射信号RMS1至第四读取映射信号RMS4以分别指示第三装置线路组DLG3、第四装置线路组DLG4、第一装置线路组DLG1和第二装置线路组DLG2。当基础装置BASE是第四存储器装置MEM4时,读取映射信号生成组件222可以生成第一读取映射信号RMS1至第四读取映射信号RMS4以分别指示第四装置线路组DLG4、第一装置线路组DLG1、第二装置线路组DLG2和第三装置线路组DLG3。
图14和图15是示出根据本公开的实施例的图13的读取数据处理组件212的线路映射操作的示图。
参照图14,基础装置信息BASEI可以将第一存储器装置MEM1指示为基础装置BASE。在这种情况下,读取数据处理组件212可以进行如下操作。
读取映射信号生成组件222可以响应于基础装置信息BASEI,生成分别指示第一装置线路组DLG1至第四装置线路组DLG4的第一读取映射信号RMS1至第四读取映射信号RMS4。
响应于第一读取映射信号RMS1,第一读取多路复用器RM1可以将来自第一装置线路组DLG1至第四装置线路组DLG4之中的第一装置线路组DLG1的数据传送到第一系统线路组SLG1。
响应于第二读取映射信号RMS2,第二读取多路复用器RM2可以将来自第一装置线路组DLG1至第四装置线路组DLG4之中的第二装置线路组DLG2的数据传送到第二系统线路组SLG2。
响应于第三读取映射信号RMS3,第三读取多路复用器RM3可以将来自第一装置线路组DLG1至第四装置线路组DLG4之中的第三装置线路组DLG3的数据传送到第三系统线路组SLG3。
响应于第四读映射信号RMS4,第四读多路复用器RM4可以将来自第一装置线路组DLG1至第四装置线路组DLG4之中的第四装置线路组DLG4的数据传送到第四系统线路组SLG4。
参照图15,基础装置信息BASEI可以将第二存储器装置MEM2指示为基础装置BASE。在这种情况下,读取数据处理组件212可以进行如下操作。
读取映射信号生成组件222可以响应于基础装置信息BASEI,生成分别指示第二装置线路组DLG2、第三装置线路组DLG3、第四装置线路组DLG4和第一装置线路组DLG1的第一读取映射信号RMS1至第四读取映射信号RMS4。
响应于第一读取映射信号RMS1,第一读取多路复用器RM1可以将来自第一装置线路组DLG1至第四装置线路组DLG4之中的第二装置线路组DLG2的数据传送到第一系统线路组SLG1。
响应于第二读取映射信号RMS2,第二读取多路复用器RM2可以将来自第一装置线路组DLG1至第四装置线路组DLG4之中的第三装置线路组DLG3的数据传送到第二系统线路组SLG2。
响应于第三读取映射信号RMS3,第三读取多路复用器RM3可以将来自第一装置线路组DLG1至第四装置线路组DLG4之中的第四装置线路组DLG4的数据传送到第三系统线路组SLG3。
响应于第四读映射信号RMS4,第四读多路复用器RM4可以将来自第一装置线路组DLG1至第四装置线路组DLG4之中的第一装置线路组DLG1的数据传送到第四系统线路组SLG4。
图16是示出根据本公开的实施例的图9的地址转换组件213的框图。
对于第一存储器装置MEM1至第四存储器装置MEM4各自的读取操作,地址转换组件213可以基于从主机装置20提供的基础装置信息BASEI,将基础地址BAD转换为第一装置地址DAD1至第四装置地址DAD4以分别提供给第一存储器装置MEM1至第四存储器装置MEM4。基础地址BAD可以包括与来自主机装置20的读取命令一起提供的行地址RAD和列地址CAD。
例如,地址转换组件213可以基于地址转换表ATT,生成第一装置地址DAD1至第四装置地址DAD4。地址转换表ATT可以包括根据基础装置BASE生成的第一装置地址DAD1至第四装置地址DAD4。从图16所示的地址转换表ATT可以看出,基础装置BASE的装置地址可以是基础地址BAD。而且,第一装置地址DAD1至第四装置地址DAD4中剩余的装置地址可以分别包括从基础地址BAD的行地址RAD增加相应的量1、2和3的行地址,并且第一装置地址DAD1至第四装置地址DAD4中剩余的装置地址可以各自包括基础地址BAD的列地址CAD。
更具体地,当基础装置BASE是第一存储器装置MEM1时,地址转换组件213可以生成第一装置地址DAD1,第一装置地址DAD1为基础地址BAD。而且,地址转换组件213可以生成从基础地址BAD的行地址RAD增加相应的量1、2和3的行地址,作为第二装置地址DAD2、第三装置地址DAD3和第四装置地址DAD4各自的行地址。当基础装置BASE是第二存储器装置MEM2时,地址转换组件213可以生成第二装置地址DAD2,第二装置地址DAD2为基础地址BAD。而且,地址转换组件213可以生成从基础地址BAD的行地址RAD增加相应的量1、2和3的行地址,作为第三装置地址DAD3、第四装置地址DAD4和第一装置地址DAD1各自的行地址。当基础装置BASE是第三存储器装置MEM3时,地址转换组件213可以生成第三装置地址DAD3,第三装置地址DAD3为基础地址BAD。而且,地址转换组件213可以生成从基础地址BAD的行地址RAD增加相应的量1、2和3的行地址,作为第四装置地址DAD4、第一装置地址DAD1和第二装置地址DAD2各自的行地址。当基础装置BASE是第四存储器装置MEM4时,地址转换组件213可以生成第四装置地址DAD4,第四装置地址DAD4为基础地址BAD。而且,地址转换组件213可以生成从基础地址BAD的行地址RAD增加相应的量1、2和3的行地址,作为第一装置地址DAD1、第二装置地址DAD2和第三装置地址DAD3各自的行地址。
在实施例中,地址转换组件213可以在主机装置20的控制下选择性地操作。例如,如稍后描述的,地址转换组件213可以在主机装置20请求对矩阵的列读取操作时进行操作。
图17是示出根据本公开的实施例的将16×16矩阵存储到图9的半导体系统200中的过程的示图。在图17中,第一存储器装置MEM1至第四存储器装置MEM4不根据突发地址间隙BAG操作或根据值为一(1)的突发地址间隙BAG操作,这与图1的存储器装置120不同。
矩阵的精确度可以与半导体系统200中包括的每个存储器装置的装置输入/输出位宽相同。矩阵的精确度可以与第一装置线路组DLG1至第四装置线路组DLG4和第一系统线路组SLG1至第四系统线路组SLG4的每个位宽相同。因此,主机装置20可以一次向第一系统线路组SLG1至第四系统线路组SLG4中的每一组提供矩阵的四个元素。主机装置20可以同时向第一系统线路组SLG1至第四系统线路组SLG4分别提供各自具有矩阵的四个元素的四个数据组。四个数据组可以对应于系统线路组SLG1至SLG4的数量并且四个元素(即,四个数据集DQ)中的每一个可以对应于装置线路组DLG1至DLG4中的每一组的位宽。而且,主机装置20可以控制半导体系统200执行突发长度BL的值为例如四(4)的突发写入操作。当通过系统线路SL同时传送四个元素并且突发长度BL的值为四(4)时,主机装置20可以通过单个突发写入命令将矩阵的单个行存储到半导体系统200中。图17示出在突发长度BL的值为四(4)时各自具有四个元素bl0、bl1、bl2和bl3并且同时被分别传送到第一系统线路组SLG1至第四系统线路组SLG4的四个数据组。
主机装置20可以根据行优先方案向第一系统线路组SLG1至第四系统线路组SLG4提供矩阵元素。更具体地,对于第一突发写入操作BW1,主机装置20可以向第一系统线路组SLG1至第四系统线路组SLG4同时提供矩阵的第一行的第一列至第四列的元素、第一行的第五列至第八列的元素、第一行的第九列至第十二列的元素以及第一行的第十三列至第十六列的元素的相应四个数据组。如图17所示,对于第二突发写入操作BW2至第五突发写入操作BW5,主机装置20可以以类似的方式向第一系统线路组SLG1至第四系统线路组SLG4提供矩阵的第二行至第五行的元素。主机装置20可以以类似的方式向第一系统线路组SLG1至第四系统线路组SLG4提供矩阵的剩余行的元素。
主机装置20可以向存储器控制器210提供基础地址BAD。具体地,当向存储器控制器210提供矩阵的相应第一行至第十六行时,主机装置20可以向存储器控制器210提供相应的第一行地址RAD1至第十六行地址RAD16。例如,主机装置20可以在向存储器控制器210提供矩阵的第一行时向存储器控制器210提供第一行地址RAD1,并且可以在向存储器控制器210提供矩阵的第二行时向存储器控制器210提供第二行地址RAD2。当向存储器控制器210提供矩阵的相应第一行至第十六行时,主机装置20可以向存储器控制器210提供起始列地址CAD。
每当向半导体系统200提供矩阵的每一行时,主机装置20可以确定基础装置BASE并且可以向存储器控制器210提供基础装置信息BASEI。每当向半导体系统200顺序地提供从矩阵的第一行开始的行时,主机装置20可以根据装置顺序从第一存储器装置MEM1开始将第一存储器装置MEM1至第四存储器装置MEM4顺序地确定为基础装置BASE。例如,基础装置BASE在第一行被提供给存储器控制器210时可以是第一存储器装置MEM1,在第二行被提供给存储器控制器210时可以是第二存储器装置MEM2,在第三行被提供给存储器控制器210时可以是第三存储器装置MEM3,并且在第四行被提供给存储器控制器210时可以是第四存储器装置MEM4。在这种情况下,当第五行被提供给存储器控制器210时,基础装置BASE可以再次是第一存储器装置MEM1。
基于从主机装置20提供的基础地址BAD和基础装置信息BASEI,存储器控制器210可以分别控制第一存储器装置MEM1至第四存储器装置MEM4执行突发长度BL的值为四(4)的突发写入操作。
具体地,当从主机装置20提供矩阵的第一行时,基础装置BASE可以是第一存储器装置MEM1并且写入数据处理组件211可以通过线路映射操作将元素从第一系统线路组SLG1至第四系统线路组SLG4分别传送到第一装置线路组DLG1至第四装置线路组DLG4。因此,第一存储器装置MEM1至第四存储器装置MEM4可以通过第一突发写入操作BW1将从第一系统线路组SLG1至第四系统线路组SLG4传送的元素分别存储到与第一行地址RAD1相对应的页面中。
当从主机装置20提供矩阵的第二行时,基础装置BASE可以是第二存储器装置MEM2并且写入数据处理组件211可以通过线路映射操作将元素从第一系统线路组SLG1至第四系统线路组SLG4分别传送到第二装置线路组DLG2、第三装置线路组DLG3、第四装置线路组DLG4和第一装置线路组DLG1。因此,第二存储器装置MEM2、第三存储器装置MEM3、第四存储器装置MEM4和第一存储器装置MEM1可以通过第二突发写入操作BW2将从第一系统线路组SLG1至第四系统线路组SLG4传送的元素分别存储到与第二行地址RAD2相对应的页面中。
当从主机装置20提供矩阵的第三行时,基础装置BASE可以是第三存储器装置MEM3并且写入数据处理组件211可以通过线路映射操作将元素从第一系统线路组SLG1至第四系统线路组SLG4分别传送到第三装置线路组DLG3、第四装置线路组DLG4、第一装置线路组DLG1和第二装置线路组DLG2。因此,第三存储器装置MEM3、第四存储器装置MEM4、第一存储器装置MEM1和第二存储器装置MEM2可以通过第三突发写入操作BW3将从第一系统线路组SLG1至第四系统线路组SLG4传送的元素分别存储到与第三行地址RAD3相对应的页面中。
当从主机装置20提供矩阵的第四行时,基础装置BASE可以是第四存储器装置MEM4并且写入数据处理组件211可以通过线路映射操作将元素从第一系统线路组SLG1至第四系统线路组SLG4分别传送到第四装置线路组DLG4、第一装置线路组DLG1、第二装置线路组DLG2和第三装置线路组DLG3。因此,第四存储器装置MEM4、第一存储器装置MEM1、第二存储器装置MEM2和第三存储器装置MEM3可以通过第四突发写入操作BW4将从第一系统线路组SLG1至第四系统线路组SLG4传送的元素分别存储到与第四行地址RAD4相对应的页面中。
以类似于矩阵的第一行的方式,可以通过第五突发写入操作BW5将矩阵的第五行存储在半导体系统200中。可以以类似的方式将矩阵的剩余行存储在半导体系统200中。
在实施例中,可以根据下面的等式2确定的是指示存储矩阵的第(i,j)个元素的存储器装置的编号,并且可以根据下面的等式3确定的是矩阵的第(i,j)个元素存储在根据等式2确定的存储器装置内的存储器区域的地址。
等式2:
指示存储矩阵的第(i,j)个元素的存储器装置的编号=[(i-1)*Mcol+j–1+RoundDown(((i-1)*Mcol+j-1)/(bl*ChipNum))]%ChipNum
等式3:
存储矩阵的第(i,j)个元素的存储器区域的地址=Baddr+(i-1)*RoundUp(Mcol/bl)+RoundDown((j-1-(j-1)%bl)/bl)
在等式2和等式3中,指示存储矩阵的第(i,j)个元素的存储器装置的编号可以表示与装置顺序相对应的数字。“Baddr”可以表示存储矩阵的第(1,1)个元素的存储器区域的地址。“Mcol”可以表示矩阵的列的数量。“bl”可以表示突发长度BL。“RoundUp()”可以表示向上取整函数。“RoundDown()”可以表示向下取整函数。“ChipNum”可以表示存储器装置MEM1至MEM4的数量。
在实施例中,从主机装置20提供以存储矩阵的每一行的突发写入操作的基础装置信息BASEI可以指示根据等式2确定的在其中存储该行的初始元素的存储器装置。在实施例中,从主机装置20提供以存储矩阵的每一行的用于突发写入操作的行地址可以是根据等式3确定的矩阵的该行的初始元素的行地址。在实施例中,从主机装置20提供以存储矩阵的每一行的用于突发写入操作的起始列地址可以是根据等式3确定的矩阵的该行的初始元素的列地址。矩阵的每一行的初始元素可以是矩阵的行的第一列的元素。
图18和图19是示出根据本公开的实施例的从图9的半导体系统200获得矩阵的行的过程的示图。参照图18和图19,矩阵以参照图17描述的方式存储在半导体系统200中。而且,第一存储器装置MEM1至第四存储器装置MEM4不根据突发地址间隙BAG操作或者根据值为一(1)的突发地址间隙BAG操作,这与图1的存储器装置120不同。
当需要原矩阵时,主机装置20可以执行行读取操作。当从半导体系统200读取矩阵的每一行时,主机装置20可以使用与在将行存储到半导体系统200中时使用的相同的行地址。即,由于矩阵的第一行至第十六行分别存储在第一行地址RAD1至第十六行地址RAD16的页面中,因此主机装置20可以向存储器控制器210提供第i行地址作为基础地址BAD的一部分以读取所存储的矩阵的第i行。主机装置20可以向存储器控制器210提供与在将矩阵存储到半导体系统200中时使用的相同的起始列地址CAD作为基础地址BAD的剩余部分。
每当从半导体系统200读取每一行时,主机装置20可以确定基础装置BASE并且向存储器控制器210提供基础装置信息BASEI。当从半导体系统200读取矩阵的每一行时,主机装置20可以向半导体系统200提供与在将行存储到半导体系统200中时提供给半导体系统200的相同的基础装置信息BASEI。
具体地,每当从矩阵的第一行开始顺序地读取行时,主机装置20可以根据装置顺序从第一存储器装置MEM1开始将第一存储器装置MEM1至第四存储器装置MEM4顺序地确定为基础装置BASE。例如,基础装置BASE在即将读取第一行时可以是第一存储器装置MEM1,在即将读取第二行时可以是第二存储器装置MEM2,在即将读取第三行时可以是第三存储器装置MEM3并且在即将读取第四行时可以是第四存储器装置MEM4。在这种情况下,当即将读取第五行时,基础装置BASE可以再次是第一存储器装置MEM1。
参照图18,主机装置20可以通过突发长度BL的值为四(4)的第一突发读取操作BR1,从半导体系统200读取矩阵的第一行。对于第一突发读取操作BR1,主机装置20可以向存储器控制器210提供包括第一行地址RAD1和起始列地址CAD的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第一存储器装置MEM1为基础装置BASE的基础装置信息BASEI。
在存储器控制器210的控制下,第一存储器装置MEM1至第四存储器装置MEM4可以以并行的方式对第一行地址RAD1和起始列地址CAD执行突发长度BL的值为四(4)的第一突发读取操作BR1。图18示出在突发长度BL的值为四(4)时各自具有四个元素bl0、bl1、bl2和bl3并且同时分别从第一存储器装置MEM1至第四存储器装置MEM4被输出的四个数据组。
此时,由于基础装置BASE是第一存储器装置MEM1,因此读取数据处理组件212可以通过线路映射操作将元素从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第一系统线路组SLG1至第四系统线路组SLG4。因此,主机装置20可以获得矩阵的第一行。
参照图19,主机装置20可以通过突发长度BL的值为四(4)的第二突发读取操作BR2,从半导体系统200读取矩阵的第二行。对于第二突发读取操作BR2,主机装置20可以向存储器控制器210提供包括第二行地址RAD2和起始列地址CAD的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第二存储器装置MEM2为基础装置BASE的基础装置信息BASEI。
在存储器控制器210的控制下,第一存储器装置MEM1至第四存储器装置MEM4可以以并行的方式对第二行地址RAD2和起始列地址CAD执行突发长度BL的值为四(4)的第二突发读取操作BR2。
由于基础装置BASE是第二存储器装置MEM2,因此读取数据处理组件212可以通过线路映射操作将元素从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第四系统线路组SLG4、第一系统线路组SLG1、第二系统线路组SLG2和第三系统线路组SLG3。因此,主机装置20可以获得矩阵的第二行。
以与上述相同的方式,主机装置20可以获得矩阵的剩余行以获得原矩阵。
在实施例中,从主机装置20提供以读取矩阵的每一行的突发读取操作的基础装置信息BASEI可以指示根据等式2确定的并且存储该行的初始元素的存储器装置。在实施例中,从主机装置20提供以读取矩阵的每一行的用于突发读取操作的行地址可以是矩阵的该行的初始元素的根据等式3确定的行地址。在实施例中,从主机装置20提供以读取矩阵的每一行的用于突发读取操作的起始列地址可以是根据等式3确定的矩阵的该行的初始元素的列地址。矩阵的每一行的初始元素可以是矩阵的该行的第一列的元素。
图20和图21是示出根据本公开的实施例的从图9的半导体系统200获得矩阵的列的过程的示图。参照图20和图21,矩阵以参照图17描述的方式存储在半导体系统200中。而且,第一存储器装置MEM1至第四存储器装置MEM4不根据突发地址间隙BAG操作或者根据值为一(1)的突发地址间隙BAG操作,这与图1的存储器装置120不同。
当需要转置矩阵时,主机装置20可以执行列读取操作。
通过四个突发长度BL的值为四(4)的突发读取操作,主机装置20可以从半导体系统200读取包括矩阵的四个列的一组列(以下称为列集)。例如,第一列集可以包括矩阵的第一列、第五列、第九列和第十三列(将参照图20进行描述),并且第二列集可以包括矩阵的第二列、第六列、第十列和第十四列(将参照图21进行描述)。而且,尽管没有示出,第三列集可以包括矩阵的第三列、第七列、第十一列和第十五列,并且第四列集可以包括矩阵的第四列、第八列、第十二列和第十六列。
为了读取矩阵的每个列集,每个存储器装置将执行的突发读取操作的数量可以是通过将矩阵的总行数除以半导体系统200中包括的存储器装置MEM1至MEM4的数量而获得的值。在图20的示例中,四(4)是为了读取每个列集,每个存储器装置将执行的突发读取操作的数量。
每当从半导体系统200读取矩阵的每一列集时,主机装置20可以向存储器控制器210提供从第一行地址RAD1开始的并且相邻的行地址之间的数值差为存储器装置的总数量(例如,图20的示例中为四(4)个)的行地址。例如,每当从半导体系统200读取每一列集时,主机装置20可以向存储器控制器210提供第一行地址RAD1、第五行地址RAD5、第九行地址RAD9及第十三行地址RAD13。当从半导体系统200读取后续的列集时,主机装置20可以向存储器控制器210提供相同的第一行地址RAD1、第五行地址RAD5、第九行地址RAD9及第十三行地址RAD13。主机装置20可以向存储器控制器210提供与在将矩阵存储到半导体系统200中时使用的相同的起始列地址CAD。
每当从半导体系统200读取矩阵的每一列集时,主机装置20可以确定基础装置BASE并且向存储器控制器210提供基础装置信息BASEI。具体地,每当从矩阵的第一列集开始顺序地读取列集时,主机装置20可以根据装置顺序从第一存储器装置MEM1开始将第一存储器装置MEM1至第四存储器装置MEM4顺序地确定为基础装置BASE。例如,基础装置BASE在即将读取第一列集时,可以是第一存储器装置MEM1,在即将读取第二列集时可以是第二存储器装置MEM2,在即将读取第三列集时可以是第三存储器装置MEM3并且在即将读取第四列集时可以是第四存储器装置MEM4。
在列读取操作期间,主机装置20可以控制存储器控制器210的地址转换组件213进行操作。
参照图20,主机装置20可以通过第一突发读取操作BR1至第四突发读取操作BR4从半导体系统200读取包括矩阵的第一列、第五列、第九列和第十三列的第一列集。
对于突发长度BL的值为四(4)的第一突发读取操作BR1,主机装置20可以向存储器控制器210提供包括第一行地址RAD1和起始列地址CAD的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第一存储器装置MEM1为基础装置BASE的基础装置信息BASEI。
在列读取操作期间,地址转换组件213可以在主机装置20的控制下操作,这与行读取操作不同。由于基础装置BASE是第一存储器装置MEM1,因此地址转换组件213可以通过转换从主机装置20提供的基础地址BAD,生成待提供给第一存储器装置MEM1的第一装置地址DAD1。而且,地址转换组件213可以生成从基础地址BAD的行地址,即从第一行地址RAD1增加相应的量1、2和3的地址,作为待分别提供给第二存储器装置MEM2至第四存储器装置MEM4的第二装置地址DAD2至第四装置地址DAD4。
因此,第一存储器装置MEM1可以对第一行地址RAD1执行突发长度BL的值为四(4)的第一突发读取操作BR1,第二存储器装置MEM2可以对第二行地址RAD2执行突发长度BL的值为四(4)的第一突发读取操作BR1,第三存储器装置MEM3可以对第三行地址RAD3执行突发长度BL的值为四(4)的第一突发读取操作BR1,并且第四存储器装置MEM4可以对第四行地址RAD4执行突发长度BL的值为四(4)的第一突发读取操作BR1。第一存储器装置MEM1至第四存储器装置MEM4可以并行执行第一突发读取操作BR1。
由于基础装置BASE是第一存储器装置MEM1,因此读取数据处理组件212可以通过线路映射操作将元素BRD1从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第一系统线路组SLG1至第四系统线路组SLG4。
对于突发长度BL的值为四(4)的第二突发读取操作BR2,主机装置20可以向存储器控制器210提供包括第五行地址RAD5和起始列地址CAD的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第一存储器装置MEM1为基础装置BASE的基础装置信息BASEI。
由于基础装置BASE是第一存储器装置MEM1,因此地址转换组件213可以通过转换从主机装置20提供的基础地址BAD,生成待提供给第一存储器装置MEM1的第一装置地址DAD1。而且,地址转换组件213可以生成从基础地址BAD的行地址,即从第五行地址RAD5增加相应的量1、2和3的地址,作为待分别提供给第二存储器装置MEM2至第四存储器装置MEM4的第二装置地址DAD2至第四装置地址DAD4。
因此,第一存储器装置MEM1可以对第五行地址RAD5执行突发长度BL的值为四(4)的第二突发读取操作BR2,第二存储器装置MEM2可以对第六行地址RAD6执行突发长度BL的值为四(4)的第二突发读取操作BR2,第三存储器装置MEM3可以对第七行地址RAD7执行突发长度BL的值为四(4)的第二突发读取操作BR2,存储器装置MEM4可以对第八行地址RAD8执行突发长度BL的值为四(4)的第二突发读取操作BR2。第一存储器装置MEM1至第四存储器装置MEM4可以并行执行第二突发读取操作BR2。
由于基础装置BASE是第一存储器装置MEM1,因此读取数据处理组件212可以通过线路映射操作将元素BRD2从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第一系统线路组SLG1至第四系统线路组SLG4。
以类似的方式,主机装置20和半导体系统200可以对第九行地址RAD9和第十三行地址RAD13执行第三突发读取操作BR3和第四突发读取操作BR4。因此,主机装置20可以获得包括矩阵的第一列、第五列、第九列和第十三列的第一列集。在第一列集内,主机装置20可以首先使用第一列并且可以将剩余的第五列、第九列和第十三列保存在单独的存储器中。
参照图21,主机装置20可以通过第五突发读取操作BR5至第八突发读取操作BR8从半导体系统200读取包括矩阵的第二列、第六列、第十列和第十四列的第二列集。
对于突发长度BL的值为四(4)的第五突发读取操作BR5,主机装置20可以向存储器控制器210提供包括第一行地址RAD1和起始列地址CAD的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第二存储器装置MEM2为基础装置BASE的基础装置信息BASEI。
由于基础装置BASE是第二存储器装置MEM2,因此地址转换组件213可以通过转换从主机装置20提供的基础地址BAD,生成待提供给第二存储器装置MEM2的第二装置地址DAD2。而且,地址转换组件213可以生成从基础地址BAD的行地址,即从第一行地址RAD1增加相应的量1、2和3的地址,作为待分别提供给第三存储器装置MEM3、第四存储器装置MEM4和第一存储器装置MEM1的第三装置地址DAD3、第四装置地址DAD4和第一装置地址DAD1。
因此,第二存储器装置MEM2可以对第一行地址RAD1执行突发长度BL的值为四(4)的第五突发读取操作BR5,第三存储器装置MEM3可以对第二行地址RAD2执行突发长度BL的值为四(4)的第五突发读取操作BR5,第四存储器装置MEM4可以对第三行地址RAD3执行突发长度BL的值为四(4)的第五突发读取操作BR5并且第一存储器装置MEM1可以对第四行地址RAD4执行突发长度BL的值为四(4)的第五突发读取操作BR5。第一存储器装置MEM1至第四存储器装置MEM4可以并行执行第五突发读取操作BR5。
由于基础装置BASE是第二存储器装置MEM2,因此读取数据处理组件212可以通过线路映射操作将元素BRD5从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第四系统线路组SLG4、第一系统线路组SLG1、第二系统线路组SLG2和第三系统线路组SLG3。
以类似的方式,主机装置20和半导体系统200可以对第五行地址RAD5、第九行地址RAD9和第十三行地址RAD13执行第六突发读取操作BR6至第八突发读取操作BR8。因此,主机装置20可以获得包括矩阵的第二列、第六列、第十列和第十四列的第二列集。在第二列集内,主机装置20可以首先使用第二列并且可以将剩余的第六列、第十列和第十四列保存在单独的存储器中。
在实施例中,为了读取矩阵的每个列集每个存储器装置将执行的突发读取操作的数量可以是通过将矩阵的总行数除以半导体系统200中包括的存储器装置MEM1至MEM4的数量而获得的值。在实施例中,从主机装置20提供以读取矩阵的每一列集的突发读取操作的基础装置信息BASEI可以指示根据等式2确定的并且存储列集的初始元素的存储器装置。在实施例中,从主机装置20提供以读取矩阵的每个列集的用于突发读取操作的行地址可以是从根据等式3确定的列集的初始元素的行地址开始并且相邻的行地址之间的数值差为突发长度BL的量的行地址。在实施例中,从主机装置20提供以读取矩阵的每一列集的用于突发读取操作的起始列地址可以是根据等式3确定的列集的初始元素的列地址。每个列集的初始元素可以是该列集中包括的列之中在最前面的列的第一行的元素。
综上所述,半导体系统200可以包括每个具有与矩阵的精确度相同的装置输入/输出位宽的多个存储器装置,并且可以在上述过程中在其中存储矩阵,使得行读取操作和列读取操作可以有效地被执行。
当存储图17中矩阵时,第一存储器装置MEM1至第四存储器装置MEM4不根据突发地址间隙BAG操作或者根据值为一(1)的突发地址间隙BAG操作。在下文中,当存储矩阵时,第一存储器装置MEM1至第四存储器装置MEM4根据与突发长度BL相同值的突发地址间隙BAG进行操作,这与图1的存储器装置120相同。
图22是示出根据本公开的实施例的将16×16矩阵存储到图9的半导体系统200中的过程的示图。第一存储器装置MEM1至第四存储器装置MEM4中的每一个都可以支持突发地址间隙BAG。
为了存储矩阵,主机装置20可以控制半导体系统200执行突发地址间隙BAG的值与突发长度BL的值相同的例如为值四(4)的突发写入操作。
主机装置20可以通过第一系统线路组SLG1至第四系统线路组SLG4向半导体系统200提供矩阵的元素,这类似于参照图17描述的过程。
当提供从矩阵的第一行开始的行时,主机装置20可以提供从第一行地址RAD1至第四行地址RAD4的行地址。例如,主机装置20可以在向存储器控制器210提供矩阵的第一行时向存储器控制器210提供第一行地址RAD1,可以在向存储器控制器210提供矩阵的第二行时向存储器控制器210提供第二行地址RAD2,可以在向存储器控制器210提供矩阵的第三行时向存储器控制器210提供第三行地址RAD3并且可以在向存储器控制器210提供矩阵的第四行时向存储器控制器210提供第四行地址RAD4。在这种情况下,主机装置20可以在向存储器控制器210提供矩阵的第五行时再次向存储器控制器210提供第一行地址RAD1。重复的行地址(例如,第一行地址RAD1至第四行地址RAD4)的数量可以与半导体系统200中包括的存储器装置MEM1至MEM4的数量相同。而且,为了将矩阵的第一行至第四行存储到半导体系统200中,主机装置20可以向存储器控制器210提供相同的起始列地址CAD1。进一步,为了将矩阵的第五行至第八行存储到半导体系统200中,主机装置20可以向存储器控制器210提供作为第一行至第四行的起始列地址的列地址CAD1之后的列地址CAD2作为第五行至第八行的起始列地址。即,每当第一行地址RAD1至第四行地址RAD4重复时,起始列地址就可以移位。
每当向半导体系统200提供矩阵的每一行时,主机装置20可以确定基础装置BASE并且可以向存储器控制器210提供基础装置信息BASEI,这与参照图17描述的相同。每当向半导体系统200顺序地提供从矩阵的第一行开始的行时,主机装置20可以根据装置顺序从第一存储器装置MEM1开始将第一存储器装置MEM1至第四存储器装置MEM4顺序地确定为基础装置BASE。
基于从主机装置20提供的基础地址BAD和基础装置信息BASEI,存储器控制器210可以分别控制第一存储器装置MEM1至第四存储器装置MEM4执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为四(4)的突发写入操作。因此,矩阵可以存储在图22所示的半导体系统200中。该过程的细节可以与以上描述的相同,因此将被省略。
图23和图24是示出根据本公开的实施例的从图9的半导体系统200获得矩阵的行的过程的示图。参照图23和图24,矩阵以参照图22描述的方式存储在半导体系统200中。第一存储器装置MEM1至第四存储器装置MEM4中的每一个都可以支持突发地址间隙BAG。
当需要原矩阵时,主机装置20可以执行行读取操作。
主机装置20可以通过突发长度BL和突发地址间隙BAG的值都为四(4)的突发读取操作,从半导体系统200获得矩阵的每一行。
当从半导体系统200读取矩阵的每一行时,主机装置20可以使用与在将该行存储到半导体系统200中时使用的相同的行地址和相同的起始列地址CAD1。
当从半导体系统200读取矩阵的每一行时,主机装置20可以向半导体系统200提供与在将该行存储到半导体系统200中时提供给半导体系统200的相同的基础装置信息BASEI。
参照图23,主机装置20可以通过突发长度BL和突发地址间隙BAG的值都为四(4)的第一突发读取操作BR1,从半导体系统200读取矩阵的第一行。对于第一突发读取操作BR1,主机装置20可以向存储器控制器210提供包括第一行地址RAD1和起始列地址CAD1的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第一存储器装置MEM1为基础装置BASE的基础装置信息BASEI。
在存储器控制器210的控制下,第一存储器装置MEM1至第四存储器装置MEM4可以以并行的方式对第一行地址RAD1执行突发长度BL和突发地址间隙BAG的值都为四(4)的第一突发读取操作BR1。
由于基础装置BASE是第一存储器装置MEM1,因此读取数据处理组件212可以通过线路映射操作将元素从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第一系统线路组SLG1至第四系统线路组SLG4。因此,主机装置20可以获得矩阵的第一行。
参照图24,主机装置20可以通过突发长度BL和突发地址间隙BAG的值都为四(4)的第二突发读取操作BR2,从半导体系统200读取矩阵的第二行。对于第二突发读取操作BR2,主机装置20可以向存储器控制器210提供包括第二行地址RAD2和起始列地址CAD1的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第二存储器装置MEM2为基础装置BASE的基础装置信息BASEI。
在存储器控制器210的控制下,第一存储器装置MEM1至第四存储器装置MEM4可以以并行的方式对第二行地址RAD2执行突发长度BL和突发地址间隙BAG的值都为四(4)的第二突发读取操作BR2。
由于基础装置BASE是第二存储器装置MEM2,因此读取数据处理组件212可以通过线路映射操作将元素从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第四系统线路组SLG4、第一系统线路组SLG1、第二系统线路组SLG2和第三系统线路组SLG3。因此,主机装置20可以获得矩阵的第二行。
以与上述相同的方式,主机装置20可以获得矩阵的剩余行以获得原矩阵。
图25和图26是示出根据本公开的实施例的从图9的半导体系统200获得矩阵的列的过程的示图。参照图25和图26,矩阵以参照图22描述的方式存储在半导体系统200中。第一存储器装置MEM1至第四存储器装置MEM4中的每一个都可以支持突发地址间隙BAG。
当需要转置矩阵时,主机装置20可以执行列读取操作。
通过突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的突发读取操作,主机装置20可以从半导体系统200读取矩阵的每一列集。
每当从半导体系统200读取矩阵的每一列时,主机装置20可以向存储器控制器210提供第一行地址RAD1。
每当从半导体系统200读取其数量对应于突发长度BL(即,在这种情况下第一列至第四列为4)的列中的每一列时,主机装置20可以向存储器控制器210提供在将矩阵存储到半导体系统200时使用的起始列地址CAD1。每当读取第一列至第四列的四列之后的第五列至第八列的四列中的每一列时,主机装置20可以向存储器控制器210提供从初始的起始列地址CAD1增加四(4)的列地址CAD5。每当读取第五列至第八列的四列之后的第九列至第十二列的四列中的每一列时,主机装置20可以向存储器控制器210提供从初始的起始列地址CAD1增加八(8)的列地址CAD9。每当读取第九列至第十二列的四列之后的第十三列至第十六列的四列中的每一列时,主机装置20可以向存储器控制器210提供从初始的起始列地址CAD1增加十二(12)的列地址CAD13。
每当从半导体系统200读取矩阵的每一列时,主机装置20可以确定基础装置BASE并且向存储器控制器210提供基础装置信息BASEI。每当从矩阵的第一列集开始顺序地读取列时,主机装置20可以根据装置顺序从第一存储器装置MEM1开始将第一存储器装置MEM1至第四存储器装置MEM4顺序地确定为基础装置BASE。
在列读取操作期间,主机装置20可以控制存储器控制器210的地址转换组件213进行操作。
参照图25,主机装置20可以通过突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第一突发读取操作BR1,从半导体系统200读取矩阵的第一列。对于突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第一突发读取操作BR1,主机装置20可以向存储器控制器210提供包括第一行地址RAD1和起始列地址CAD1的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第一存储器装置MEM1为基础装置BASE的基础装置信息BASEI。
在列读取操作期间,地址转换组件213可以在主机装置20的控制下操作,这与行读取操作不同。由于基础装置BASE是第一存储器装置MEM1,因此地址转换组件213可以通过转换从主机装置20提供的基础地址BAD,生成待提供给第一存储器装置MEM1的第一装置地址DAD1。而且,地址转换组件213可以生成从基础地址BAD的行地址,即从第一行地址RAD1增加相应的量1、2和3的地址,作为待分别提供给第二存储器装置MEM2至第四存储器装置MEM4的第二装置地址DAD2至第四装置地址DAD4。
因此,第一存储器装置MEM1可以对第一行地址RAD1执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第一突发读取操作BR1,第二存储器装置MEM2可以对第二行地址RAD2执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第一突发读取操作BR1,第三存储器装置MEM3可以对第三行地址RAD3执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第一突发读取操作BR1,并且第四存储器装置MEM4可以对第四行地址RAD4执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第一突发读取操作BR1。第一存储器装置MEM1至第四存储器装置MEM4可以并行执行第一突发读取操作BR1。
由于基础装置BASE是第一存储器装置MEM1,因此读取数据处理组件212可以通过线路映射操作将元素从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第一系统线路组SLG1至第四系统线路组SLG4。因此,主机装置20可以获得矩阵的第一列。
参照图26,主机装置20可以通过突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第二突发读取操作BR2,从半导体系统200读取矩阵的第二列。对于突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第二突发读取操作BR2,主机装置20可以向存储器控制器210提供包括第一行地址RAD1和起始列地址CAD1的基础地址BAD。而且,主机装置20可以向存储器控制器210提供指示第二存储器装置MEM2为基础装置BASE的基础装置信息BASEI。
在列读取操作期间,地址转换组件213可以在主机装置20的控制下操作,这与行读取操作不同。由于基础装置BASE是第二存储器装置MEM2,因此地址转换组件213可以通过转换从主机装置20提供的基础地址BAD,生成待提供给第二存储器装置MEM2的第二装置地址DAD2。而且,地址转换组件213可以生成从基础地址BAD的行地址,即从第一行地址RAD1增加相应的量1、2和3的地址,作为待分别提供给第三存储器装置MEM3、第四存储器装置MEM4和第一存储器装置MEM1的第三装置地址DAD3、第四装置地址DAD4和第一装置地址DAD1。
因此,第一存储器装置MEM1可以对第四行地址RAD4执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第二突发读取操作BR2,第二存储器装置MEM2可以对第一行地址RAD1执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第二突发读取操作BR2,第三存储器装置MEM3可以对第二行地址RAD2执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第二突发读取操作BR2,并且第四存储器装置MEM4可以对第三行地址RAD3执行突发长度BL的值为四(4)并且突发地址间隙BAG的值为一(1)的第二突发读取操作BR2。第一存储器装置MEM1至第四存储器装置MEM4可以并行执行第二突发读取操作BR2。
由于基础装置BASE是第二存储器装置MEM2,因此读取数据处理组件212可以通过线路映射操作将元素从第一装置线路组DLG1至第四装置线路组DLG4分别传送到第四系统线路组SLG4、第一系统线路组SLG1、第二系统线路组SLG2和第三系统线路组SLG3。因此,主机装置20可以获得矩阵的第二列。
综上所述,半导体系统200可以被设计为包括每个具有与矩阵的精确度相同的装置输入/输出位宽并且每个被配置为支持突发地址间隙BAG的多个存储器装置,并且被设计为在上述过程中在其中存储矩阵,使得行读取操作和列读取操作可以有效地被执行。
根据实施例,该存储器装置、半导体系统和数据处理系统可以有效地存储矩阵并且可以以较低的成本读取原矩阵或转置矩阵以使用它们。
虽然上面已经描述了特定实施例,但是本领域技术人员将理解的是,所描述的实施例仅仅作为示例。因此,不应基于所描述的实施例来限制该存储器装置、半导体系统和数据处理系统。相反,当结合以上描述和附图时,仅应根据所附权利要求书来限制本文中描述的存储器装置、半导体系统和数据处理系统。此外,可以组合实施例以形成额外的实施例。
Claims (32)
1.一种存储器装置,包括:
存储器单元阵列,包括多个存储器区域,每个存储器区域由行地址和列地址标识;以及
外围电路,通过基于从存储器控制器提供的地址、突发长度和突发地址间隙执行突发操作来访问所述存储器单元阵列,所述突发操作支持可变突发地址间隙;
其中所述突发地址间隙是待执行所述突发操作的相邻的列地址之间的数值差。
2.根据权利要求1所述的存储器装置,
其中所述地址包括行地址和起始列地址,并且
其中待执行所述突发操作的列地址从所述起始列地址开始,并且具有所述突发地址间隙的量的相邻的列地址之间的数值差,以及对应于所述突发长度的列地址的数量。
3.根据权利要求1所述的存储器装置,其中所述外围电路执行所述突发地址间隙的值与所述突发长度的值相同的突发写入操作,以将矩阵的第(i,j)个元素存储到具有由下面的等式1确定的地址的存储器区域中,
等式1:
地址=Baddr+(i–i%(bl+1))*Mcol+i%(bl+1)–1+(j-1)*bl
其中“Baddr”表示存储所述矩阵的第(1,1)个元素的存储区域的地址,“Mcol”表示所述矩阵的列的数量,“%”表示取模运算,并且“bl”表示所述突发长度。
4.一种半导体系统,包括:
存储器装置,包括:
存储器单元阵列,包括多个存储器区域;以及
外围电路,通过执行突发操作来访问所述存储器单元阵列,所述突发操作支持可变突发地址间隙;以及
存储器控制器,向所述存储器装置提供地址、突发长度和突发地址间隙以便控制所述突发操作,
其中所述突发地址间隙是待执行所述突发操作的相邻的列地址之间的数值差。
5.根据权利要求4所述的半导体系统,
其中所述地址包括行地址和起始列地址,并且
其中待执行所述突发操作的列地址从所述起始列地址开始并且具有所述突发地址间隙的量的相邻的列地址之间的数值差,以及对应于所述突发长度的列地址的数量。
6.根据权利要求4所述的半导体系统,其中所述存储器控制器控制所述存储器装置执行所述突发地址间隙的值与所述突发长度的值相同的突发写入操作,以将矩阵存储到所述存储器装置中。
7.根据权利要求6所述的半导体系统,其中所述存储器控制器在所述矩阵的精确度与所述存储器装置的装置输入/输出位宽相同时,将所述矩阵的第(i,j)个元素存储到具有由下面的等式1确定的地址的存储器区域中,
等式1:
地址=Baddr+(i–i%(bl+1))*Mcol+i%(bl+1)–1+(j-1)*bl
其中“Baddr”表示存储所述矩阵的第(1,1)个元素的存储区域的地址,“Mcol”表示所述矩阵的列的数量,“%”表示取模运算,并且“bl”表示所述突发长度。
8.根据权利要求7所述的半导体系统,其中为了将所述矩阵的每一行存储到所述存储器装置中,所述存储器控制器向所述存储器装置提供:
连续的行地址,作为用于所述突发写入操作的行地址,所述连续的行地址从由等式1确定的行的初始元素的行地址开始,以及
由等式1确定的所述行的初始元素的列地址,作为用于所述突发写入操作的起始列地址。
9.根据权利要求7所述的半导体系统,其中所述存储器控制器控制所述存储器装置执行所述突发地址间隙的值与所述突发长度的值相同的突发读取操作,以从所述存储器装置中读取所述矩阵的每一行。
10.根据权利要求9所述的半导体系统,其中为了从所述存储器装置中读取所述矩阵的行,所述存储器控制器向所述存储器装置提供:
连续的行地址,作为用于所述突发读取操作的行地址,所述连续的行地址从由等式1确定的所述行的初始元素的行地址开始,并且
由等式1确定的所述行的初始元素的列地址,作为用于所述突发读取操作的起始列地址。
11.根据权利要求7所述的半导体系统,其中所述存储器控制器控制所述存储器装置执行所述突发地址间隙的值为一即1的突发读取操作,以从所述存储器装置中读取所述矩阵的每一列。
12.根据权利要求11所述的半导体系统,其中为了从所述存储器装置中读取所述矩阵的列,所述存储器控制器向所述存储器装置提供:
用于所述突发读取操作的行地址,所述行地址从由等式1确定的所述列的初始元素的行地址开始并且相邻的行地址之间的数值差为所述突发长度的量,以及
由等式1确定的所述列的初始元素的列地址,作为用于所述突发读取操作的起始列地址。
13.一种半导体系统,包括:
多个存储器装置;以及
存储器控制器,通过多个装置线路组分别联接到所述多个存储器装置并且通过系统线路联接到主机装置,
其中所述存储器控制器包括写入数据处理组件,所述写入数据处理组件:
从所述主机装置接收基础装置信息,所述基础装置信息指示所述多个存储器装置之中的基础装置,
基于所述基础装置信息,映射所述多个装置线路组和从所述系统线路划分的多个系统线路组,以及
将通过所述多个系统线路组从所述主机装置提供的数据分别传送到被映射到所述多个系统线路组的所述多个装置线路组。
14.根据权利要求13所述的半导体系统,其中所述写入数据处理组件根据从与所述基础装置相对应的装置线路组开始的装置顺序将所述多个系统线路组顺序地映射到所述多个装置线路组。
15.根据权利要求13所述的半导体系统,其中所述存储器控制器进一步包括读取数据处理组件,所述读取数据处理组件:
基于所述基础装置信息,映射所述多个装置线路组和所述多个系统线路组,以及
将通过所述多个装置线路组从所述多个存储器装置提供的数据分别传送到被映射到所述多个装置线路组的所述多个系统线路组。
16.根据权利要求15所述的半导体系统,其中所述读取数据处理组件根据从与所述基础装置相对应的装置线路组开始的装置顺序将所述多个系统线路组顺序地映射到所述多个装置线路组。
17.根据权利要求13所述的半导体系统,其中所述存储器控制器进一步包括地址转换组件,所述地址转换组件:
从所述主机装置接收基础地址,以及
基于所述基础装置信息,将所述基础地址转换为待分别提供给所述多个存储器装置的多个装置地址。
18.根据权利要求17所述的半导体系统,
其中所述基础装置的装置地址是所述基础地址,并且
其中所述多个存储器装置之中的剩余存储器装置的装置地址分别包括分别从所述基础地址的行地址增加一即1的量的连续的行地址,并且各自包括所述基础地址的列地址。
19.一种数据处理系统,包括:
半导体系统,包括:
多个存储器装置;以及
存储器控制器,通过多个装置线路组分别联接到所述多个存储器装置;以及
主机装置,通过系统线路联接到所述存储器控制器并且向所述存储器控制器提供基础装置信息,所述基础装置信息指示所述多个存储器装置之中的基础装置,
其中为了将矩阵存储到所述半导体系统中,所述主机装置以并行的方式将所述矩阵的多个元素传输到从所述系统线路划分的多个系统线路组,
其中所述存储器控制器基于所述基础装置信息将所述多个系统线路组映射到所述多个装置线路组,以将所述矩阵存储到所述多个存储器装置中,并且
其中所述矩阵的精确度与所述多个装置线路组中的每一组的位宽相同。
20.根据权利要求19所述的数据处理系统,其中所述主机装置将所述矩阵的第(i,j)个元素存储到根据下面的等式2确定的存储器装置内的具有根据下面的等式3确定的地址的存储器区域中,
等式2:
指示存储所述矩阵的第(i,j)个元素的存储器装置的编号=[(i-1)*Mcol+j–1+RoundDown(((i-1)*Mcol+j-1)/(bl*ChipNum))]%ChipNum
等式3:
地址=Baddr+(i-1)*RoundUp(Mcol/bl)+RoundDown((j-1-(j-1)%bl)/bl)
其中“Baddr”表示存储所述矩阵的第(1,1)个元素的存储器区域的地址,“Mcol”表示所述矩阵的列的数量,“bl”表示突发长度,“%”表示取模运算,“RoundUp()”表示向上取整函数,“RoundDown()”表示向下取整函数,并且“ChipNum”表示所述存储器装置的数量。
21.根据权利要求20所述的数据处理系统,其中为了将所述矩阵的每一行存储到所述半导体系统中,所述主机装置:
将根据等式2确定的在其中存储行的初始元素的存储器装置确定为所述基础装置,
向所述半导体系统提供根据等式3确定的所述行的初始元素的行地址作为用于突发写入操作的行地址,以及
向所述半导体系统提供根据等式3确定的所述行的初始元素的列地址作为用于所述突发写入操作的起始列地址。
22.根据权利要求20所述的数据处理系统,其中为了从所述半导体系统中读取所述矩阵的每一行,所述主机装置:
向所述半导体系统提供根据等式3确定的所述行的初始元素的行地址作为用于突发读取操作的行地址,以及
向所述半导体系统提供根据等式3确定的所述行的初始元素的列地址作为用于所述突发读取操作的起始列地址。
23.根据权利要求20所述的数据处理系统,其中为了从所述半导体系统中读取包括所述矩阵的多个列的每个列集,所述主机装置:
向所述半导体系统提供从根据等式3确定的所述列集的初始元素的行地址开始并且相邻的行地址之间的数值差为所述多个存储器装置的数量的行地址,作为突发读取操作的行地址,并且
向所述半导体系统提供根据等式3确定的所述列集的初始元素的列地址作为用于所述突发读取操作的起始列地址。
24.根据权利要求19所述的数据处理系统,其中所述存储器控制器包括写入数据处理组件,所述写入数据处理组件:
基于所述基础装置信息,映射所述多个装置线路组和所述多个系统线路组,以及
将通过所述多个系统线路组从所述主机装置提供的数据分别传送到被映射到所述多个系统线路组的所述多个装置线路组。
25.根据权利要求19所述的数据处理系统,其中所述存储器控制器包括读取数据处理组件,所述读取数据处理组件:
基于所述基础装置信息,映射所述多个装置线路组和所述多个系统线路组,以及
将通过所述多个装置线路组从所述多个存储器装置提供的数据分别传送到被映射到所述多个装置线路组的所述多个系统线路组。
26.根据权利要求19所述的数据处理系统,其中所述存储器控制器包括地址转换组件,所述地址转换组件:
从所述主机装置接收基础地址,以及
基于所述基础装置信息,将所述基础地址转换为待分别提供给所述多个存储器装置的多个装置地址。
27.根据权利要求26所述的数据处理系统,
其中所述基础装置的装置地址是所述基础地址,并且
其中所述多个存储器装置之中的剩余存储器装置的装置地址分别包括分别从所述基础地址的行地址增加一即1的量的连续的行地址,并且各自包括所述基础地址的列地址。
28.根据权利要求19所述的数据处理系统,
其中所述多个存储器装置中的每一个基于所述存储器控制器提供的地址、突发长度和突发地址间隙,执行支持可变突发地址间隙的突发操作,并且
其中所述突发地址间隙是待执行所述突发操作的相邻的列地址之间的数值差。
29.根据权利要求28所述的数据处理系统,
其中所述地址包括行地址和起始列地址,并且
其中待执行所述突发操作的列地址从所述起始列地址开始,并且具有所述突发地址间隙的量的相邻的列地址之间的数值差,以及对应于所述突发长度的列地址的数量。
30.根据权利要求28所述的数据处理系统,其中所述主机装置控制所述半导体系统执行所述突发地址间隙的值与所述突发长度的值相同的突发写入操作,以将矩阵存储到所述半导体系统中。
31.根据权利要求30所述的数据处理系统,其中所述主机装置控制所述半导体系统执行所述突发地址间隙的值与所述突发长度值的相同的突发读取操作,以从所述半导体系统中读取所述矩阵的每一行。
32.根据权利要求30所述的数据处理系统,其中所述主机装置控制所述半导体系统执行所述突发地址间隙的值为一即1的突发读取操作,以从所述半导体系统中读取所述矩阵的每一列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0071108 | 2021-06-01 | ||
KR1020210071108A KR20220162543A (ko) | 2021-06-01 | 2021-06-01 | 메모리 장치, 반도체 시스템 및 데이터 처리 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115440260A true CN115440260A (zh) | 2022-12-06 |
Family
ID=84194233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210335324.5A Pending CN115440260A (zh) | 2021-06-01 | 2022-03-31 | 存储器装置、半导体系统和数据处理系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11699468B2 (zh) |
KR (1) | KR20220162543A (zh) |
CN (1) | CN115440260A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5131083A (en) * | 1989-04-05 | 1992-07-14 | Intel Corporation | Method of transferring burst data in a microprocessor |
US6081853A (en) * | 1998-03-03 | 2000-06-27 | Ip First, Llc | Method for transferring burst data in a microprocessor |
US8539201B2 (en) | 2009-11-04 | 2013-09-17 | International Business Machines Corporation | Transposing array data on SIMD multi-core processor architectures |
KR20130081388A (ko) | 2012-01-09 | 2013-07-17 | 삼성전자주식회사 | 메모리 장치와 이의 동작 방법 |
-
2021
- 2021-06-01 KR KR1020210071108A patent/KR20220162543A/ko active Search and Examination
- 2021-11-16 US US17/527,719 patent/US11699468B2/en active Active
-
2022
- 2022-03-31 CN CN202210335324.5A patent/CN115440260A/zh active Pending
-
2023
- 2023-06-12 US US18/333,220 patent/US20230326500A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11699468B2 (en) | 2023-07-11 |
US20230326500A1 (en) | 2023-10-12 |
US20220383916A1 (en) | 2022-12-01 |
KR20220162543A (ko) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7979757B2 (en) | Method and apparatus for testing high capacity/high bandwidth memory devices | |
US4964078A (en) | Combined multiple memories | |
US5283877A (en) | Single in-line DRAM memory module including a memory controller and cross bar switches | |
US6144604A (en) | Simultaneous addressing using single-port RAMs | |
KR100220000B1 (ko) | 데이타와 패리티 비트용으로 정렬된 메모리 모듈 | |
KR100280566B1 (ko) | 반도체 기억 장치 | |
US20210173647A1 (en) | Orthogonal data transposition system and method during data transfers to/from a processing array | |
US8923089B2 (en) | Single-port read multiple-port write storage device using single-port memory cells | |
US5809557A (en) | Memory array comprised of multiple FIFO devices | |
KR970705810A (ko) | 개선된 메모리 구조, 장치, 시스템 및 이를 사용하는 방법(an improved memory architecture and devices, systems and methods utilizing the same) | |
US10998015B2 (en) | Semiconductor storage device | |
US20200278923A1 (en) | Multi-dimensional accesses in memory | |
US4811305A (en) | Semiconductor memory having high-speed serial access scheme | |
KR960012026A (ko) | 반도체 기억장치 | |
CN1653435B (zh) | 用于在硬件中映射数据掩码的装置、方法和系统 | |
US6448602B1 (en) | Semiconductor memory device with improved arrangement of memory blocks and peripheral circuits | |
CN115440260A (zh) | 存储器装置、半导体系统和数据处理系统 | |
US6601197B1 (en) | Semiconductor memory device | |
CN106126815B (zh) | 一种电路仿真方法及装置 | |
CN101383184A (zh) | 半导体存储器件和数据存储方法 | |
US5363337A (en) | Integrated circuit memory with variable addressing of memory cells | |
US6834334B2 (en) | Method and apparatus for address decoding of embedded DRAM devices | |
US6999375B2 (en) | Synchronous semiconductor device and method of preventing coupling between data buses | |
JPH0581940B2 (zh) | ||
CN112802513A (zh) | 一种动态可重构的ram读写方式 |
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 |