CN105389274B - 半导体装置、半导体系统和片上系统 - Google Patents
半导体装置、半导体系统和片上系统 Download PDFInfo
- Publication number
- CN105389274B CN105389274B CN201510536967.6A CN201510536967A CN105389274B CN 105389274 B CN105389274 B CN 105389274B CN 201510536967 A CN201510536967 A CN 201510536967A CN 105389274 B CN105389274 B CN 105389274B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- cache
- processor
- address
- 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
Links
Images
Classifications
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
Abstract
公开了一种半导体装置、半导体系统和片上系统。至少一个示例性实施例公开了一种半导体装置,包括:直接存储器存取(DMA)系统,被构造为直接访问存储器以将第一数据写入到存储器的地址,其中,DMA系统包括:初始化器,被构造为在处理器将第二数据从高速缓冲存储器冲洗到所述地址的冲洗时间段期间设置用于将第一数据写入到存储器的数据传输参数;创建器,被构造为基于设置的数据传输参数来创建第一数据;传输器,被构造为基于数据传输参数在冲洗时间段之后将第一数据写入到存储器的所述地址。
Description
本申请要求于2014年8月29日提交的第62/043,595号临时申请和于2014年10月22日提交的第10-2014-0143553号韩国专利申请的优先权和所有权益,所述申请的全部内容通过引用包含于此。
技术领域
至少一些示例性实施例涉及一种半导体装置、半导体系统和片上系统。
背景技术
直接存储器存取(DMA)方法是一种输入/输出(I/O)装置在不使用中央处理单元(CPU)来执行程序的情况下控制从外围装置至主存储器的数据传输的数据传输方法。DMA方法可以增加数据输入/输出速度且可以减小CPU和外围装置之间的速度差异。如果输入/输出装置请求DMA,则CPU移交主存储器的控制。每当CPU的循环结束时,CPU可以允许这样的操作。
然而,当将要使用具有内建DMA的外围装置处理单元将更新的数据传输到系统存储器的特定地址时,从系统存储器的特定地址接收并存储在高速缓冲存储器(cache)中的现有的数据不是有效的,从而首先使高速缓冲存储器无效(例如,冲洗(flush))以开始DMA功能。
发明内容
至少一些示例性实施例提供了一种可通过在无效(即,冲洗)高速缓冲存储器的同时执行DMA功能来改善总体性能的半导体装置。
至少一些示例性实施例提供了一种可通过在无效(即,冲洗)高速缓冲存储器的同时执行DMA功能来改善总体性能的半导体系统。
至少一些示例性实施例提供了一种可以通过在无效(即,冲洗)高速缓冲存储器的同时执行DMA功能来改善总体性能的片上系统。
示例性实施例的这些和其他优点将在下面的至少一些示例性实施例的描述中进行描述,或者通过下面的至少一些示例性实施例的描述而变得清楚。
根据至少一个示例性实施例,提供了一种半导体装置,包括:直接存储器存取(DMA)系统,被构造为直接访问存储器以将第一数据写入到存储器的地址,其中,DMA系统包括:初始化器,被构造为在处理器将第二数据从高速缓冲存储器冲洗到所述地址的冲洗时间段期间设置用于将第一数据写入到存储器的数据传输参数;创建器,被构造为基于设置的数据传输参数来创建第一数据;传输器,被构造为基于数据传输参数在冲洗时间段之后将第一数据写入到存储器的所述地址。
第一数据与第二数据不同。
创建器被构造为从外部装置接收第一数据或直接创建第一数据。
创建器被构造为执行对外部装置的读取操作和写入操作中的至少一种。
所述半导体装置还包括:缓冲器,被构造为存储第一数据。
创建器被构造为将第一数据存储在缓冲器中。
传输器被构造为将存储在缓冲器中的第一数据传输到存储器。
数据传输参数包括第一数据的大小、缓冲器的存储第一数据的地址、以及存储器的所述地址。
初始化器被构造为从处理器接收与数据传输参数相关的信息和与高速缓冲存储器的冲洗相关的信息。
传输器被构造为从初始化器接收与高速缓冲存储器的冲洗相关的信息并在冲洗时间段期间被停用。
传输器被构造为在冲洗时间段之后进行操作。
传输器被构造为从处理器接收与高速缓冲存储器的冲洗相关的信息。
传输器被构造为从高速缓冲存储器接收与高速缓冲存储器的冲洗相关的信息。
处理器包括中央处理单元(CPU)。
存储器包括DRAM。
创建器被构造为在初始化器设置数据传输参数之后创建第一数据。
创建器被构造为在冲洗时间段期间创建第一数据。
传输器被构造为在创建器创建第一数据之后将第一数据传输到存储器的所述地址。
创建器被构造为执行对存储器的读取操作和写入操作中的至少一种。
所述半导体装置还包括:缓冲器,被构造为存储第一数据,其中,第一数据包括第三数据和第四数据。
存储器的所述地址包括第一地址和第二地址,传输器被构造为执行将第三数据传输到第一地址的第一传输和在第一传输之后将第四数据传输到第二地址的第二传输,第一传输在创建器创建第四数据的同时执行。
创建器被构造为在冲洗时间段期间创建第三数据并在冲洗时间段之后创建第四数据。
根据至少一个示例性实施例,提供了一种半导体装置,包括:直接存储器存取(DMA)系统,被构造为直接访问存储器;缓冲器,被构造为存储将被传输到存储器的第一数据和第二数据,DMA系统包括:初始化器,被构造为在将第三数据从高速缓冲存储器冲洗到存储器的第一地址的冲洗时间段期间设置用于将第一数据和第二数据传输到存储器的数据传输参数;创建器,被构造为顺序执行第一创建和第二创建,创建器被构造为通过基于数据传输参数来创建第一数据并在冲洗时间段期间将第一数据存储在缓冲器中来执行第一创建,且创建器被构造为通过创建第二数据并将第二数据存储在缓冲器中来执行第二创建;传输器,被构造为顺序执行第一传输和第二传输,传输器被构造为执行第一传输从而基于数据传输参数在冲洗时间段之后并在第二创建期间将存储在缓冲器中的第一数据传输到存储器的第一地址,且传输器被构造为执行第二传输从而将存储在缓冲器中的第二数据传输到存储器的第二地址。
创建器被构造为在初始化器设置数据传输参数之后执行第一创建。
传输器被构造为在第二创建之后执行第二传输。
根据至少一个示例性实施例,提供了一种半导体系统,包括:高速缓冲存储器,通过总线连接到存储器;第一处理器,被构造为在冲洗时间段期间将存储在高速缓冲存储器中的第一数据冲洗到存储器的地址;第二处理器,被构造为创建与第一数据不同的第二数据并将第二数据传输到存储器的所述地址,其中,第二处理器包括:缓冲器,被构造为存储第二数据;直接存储器存取DMA系统,被构造为在冲洗时间段期间设置用于将第二数据传输到存储器并在冲洗时间段之后将存储在缓冲器中的第二数据传输到存储器的所述地址的数据传输参数。
第一处理器被构造为执行对高速缓冲存储器的读取操作和写入操作中的至少一种。
DMA系统包括:初始化器,被构造为设置将第二数据写入到存储器的数据传输参数;创建器,被构造为基于数据传输参数来创建将被传输到存储器的第二数据;传输器,被构造为基于数据传输参数来将第二数据传输到存储器的所述地址。
初始化器被构造为从处理器接收与数据传输参数相关的信息和与高速缓冲存储器的冲洗相关的信息。
第一处理器和第二处理器通过总线彼此连接。
根据至少一个示例性实施例,提供了一种半导体系统,包括:高速缓冲存储器,通过总线连接到存储器;第一处理器,被构造为在冲洗时间段期间将存储在高速缓冲存储器中的第一数据冲洗到存储器的地址;第二处理器,被构造为创建与第一数据不同的第二数据并通过总线将第二数据传输到存储器的所述地址,其中,第二处理器包括:缓冲器,被构造为存储第二数据;直接存储器存取(DMA)系统,被构造为将存储在第二缓冲器中的第二数据传输到存储器的所述地址,DMA系统包括:初始化器,被构造为在冲洗时间段期间设置用于将第二数据传输到存储器的数据传输参数并从第一处理器接收与数据传输参数相关的信息和与高速缓冲存储器的冲洗相关的信息;创建器,被构造为基于数据传输参数来创建将被传输到存储器的第二数据并将第二数据存储在缓冲器中;传输器,被构造为基于数据传输参数在冲洗时间段之后将存储在缓冲器中的第二数据传输到存储器的所述地址。
根据至少一个示例性实施例,提供了一种半导体系统,包括:高速缓冲存储器,通过总线连接到存储器;第一处理器,被构造为在冲洗时间段期间将存储在高速缓冲存储器中的第一数据冲洗到存储器的地址;第二处理器,包括被构造为存储与第一数据不同的第二数据的第一缓冲器;第三处理器,包括被构造为直接访问存储器的直接存储器存取(DMA)系统,其中,第二处理器被构造为创建第二数据并将第二数据存储在第一缓冲器中,DMA系统包括:初始化器,被构造为设置用于在冲洗时间段期间将第二数据传输到存储器的数据传输参数;创建器,被构造为基于数据传输参数来接收存储在第一缓冲器中的第二数据;传输器,被构造为基于数据传输参数在冲洗时间段之后将第二数据传输到存储器的所述地址。
初始化器被构造为从第一处理器接收与数据传输参数相关的信息和与高速缓冲存储器的冲洗相关的信息。
第三处理器还包括:第二缓冲器,被构造为存储接收的第二数据。
创建器被构造为将从第一缓冲器接收的第二数据存储在第二缓冲器中。
传输器被构造为将存储在第二缓冲器中的第二数据传输到存储器的所述地址。
创建器被构造为在数据传输参数的设置之后接收第二数据。
第二处理器被构造为在冲洗时间段期间创建第二数据并将第二数据存储在第一缓冲器中。
创建器被构造为在冲洗时间段期间接收第二数据。
传输器被构造为在创建器接收第二数据之后将第二数据传输到所述地址。
第一处理器、第二处理器和第三处理器通过总线彼此连接。
第三处理器被构造为从初始化器接收数据传输参数并基于数据传输参数来创建第二数据。
根据至少一个示例性实施例,提供了一种片上系统,包括:存储器;高速缓冲存储器,连接到存储器;第一处理器,被构造为在冲洗时间段期间将存储在高速缓冲存储器中的第一数据冲洗到存储器的地址;第二处理器,包括被构造为存储与第一数据不同的第二数据的第一缓冲器;第三处理器,包括被构造为直接访问存储器的直接存储器存取(DMA)系统,其中,存储器、第一处理器、第二处理器和第三处理器通过符合AMBA AXI(advancedeXtensible interface)协议的总线彼此连接,第二处理器被构造为创建第二数据并将第二数据存储在第一缓冲器中,DMA系统包括:初始化器,被构造为在冲洗时间段期间设置用于将第二数据传输到存储器的数据传输参数;创建器,被构造为基于数据传输参数来接收存储在第一缓冲器中的第二数据;传输器,被构造为基于数据传输参数在冲洗时间段之后将第二数据传输到存储器的所述地址。
至少一个示例性实施例公开了一种存储器系统,包括:存储器;处理器,被构造为在冲洗时间段期间将高速缓冲存储器中的第一数据冲洗到存储器的地址;直接存储器存取系统,直接存储器存取系统包括:初始化器,被构造为在冲洗时间段期间操作并创建第二数据,传输器,被构造为在冲洗时间段之外将第二数据传输到存储器的所述地址。
在示例性实施例中,初始化器被构造为在冲洗时间段期间产生数据传输参数,传输器被构造为基于数据传输参数来传输第二数据。
在示例性实施例中,传输器被构造为在冲洗时间段之后将第二数据传输到所述地址。
在示例性实施例中,所述存储器系统被构造为在冲洗时间段之前停用传输器。
在示例性实施例中,所述存储器系统被构造为在冲洗时间段结束时启用传输器。
在示例性实施例中,存储器包括三维存储器阵列。
在示例性实施例中,三维存储器包括单片式形成在具有设置在硅基底上方的有源区域的存储器单元的一个或多个物理层级中的非易失性存储器。
在示例性实施例中,三维存储器阵列包括多个存储器单元,每个存储器单元包括电荷捕获层。
在示例性实施例中,在层级之间分享三维存储器阵列中的位线和字线中的至少一种。
附图说明
通过参照附图详细描述示例性实施例中的至少一些示例性实施例,示例性实施例的上述和其他特征和优点将变得更清楚,在附图中:
图1是根据实施例的半导体装置的框图;
图2是图1中示出的DMA模块的框图;
图3和图4是用于解释图1中示出的半导体装置的操作的示意图;
图5是根据实施例的半导体系统的框图;
图6是图5中示出的第二处理器的框图;
图7是根据另一实施例的半导体系统的框图;
图8是图7中示出的第二处理器和第三处理器的框图;
图9是示出被实施为片上系统的图7中示出的半导体系统的示图;
图10至图12示出根据至少一些示例性实施例的可以应用半导体系统的电子系统;
图13和图14是示出图1中示出的半导体装置的操作方法的示图;
图15和图16是示出图5中示出的半导体系统的操作方法的示图;
图17和图18是示出图7中示出的半导体系统的操作方法的示图。
具体实施方式
通过参照下面对示例性实施例的详细描述和附图,可以更容易地理解发明构思和实现发明构思的方法的优点和特征。然而,发明构思可以以许多不同的形式来实现,且不应被解释为受限于这里阐述的实施例。相反,提供了示例性实施例使得本公开将是彻底和完整的,并将把发明构思充分地传达给本领域技术人员,且发明构思将仅由权利要求来限定。贯穿说明书,相同的附图标记指示相同的元件。
这里使用的术语仅出于描述具体实施例的目的,且不意在限制发明构思。如这里所使用的,除非上下文另外清楚地指出,否则单数形式也意在包括复数形式。还将理解的是,当在本说明书中使用术语“包括”时,其指示存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他的特征、整体、步骤、操作、元件、组件和/或它们的组。
将理解的是,当将元件或层称为“在”另一元件或层“上”、“连接到”另一元件或层或“结合到”另一元件或层时,其可以直接在另一元件或层上、直接连接到另一元件或层或直接结合到另一元件或层,或者可以存在中间元件或层。相反,当将元件或层称为“直接在”另一元件或层“上”、“直接连接到”另一元件或层或“直接结合到”另一元件或层时,不存在中间元件或层。如这里所使用的,术语“和/或”包括一个或多个相关所列项目的任何和所有组合。
应该理解的是,虽然这里可以使用术语第一、第二等来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受这些术语限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一区域、层或部分区分开来。因此,在不脱离本发明构思的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可被命名为第二元件、组件、区域、层或部分。
为了便于描述,这里可以使用诸如“在……下方”、“在……之下”、“下面的”、“在……上方”和“上面的”等空间相对术语来描述如图中所示的一个元件或特征与其他的元件或特征的关系。应该理解的是,除了附图中绘示的方位之外,空间相对术语还意在包括装置在使用或操作中的不同方位。例如,如果附图中的装置被翻转,则被描述为“在”其他元件或特征“下方”或“在”其他元件或特征“之下”的元件将被随后定位为“在”其他元件或特征“上方”。因此,示例性术语“在……下方”可以包括上方和下方两个方位。装置可以被另外地定位(旋转90度或处于其他方位)并可以相应地解释这里使用的空间相对描述符。
除非进行另外定义,否则这里使用的术语(包括技术术语和科学术语)具有与发明构思所述的技术领域的普通技术人员所通常理解的含义相同的含义。还应该理解的是,诸如在通用字典中进行了定义的那些术语的术语应被解释为具有与它们在现有技术和本说明书的上下文中的含义一致的含义,并应不以理想化或过度正式性地进行解释,除非在这里进行了如此定义。
在下文中,将参照图1至图4来描述根据示例性实施例的半导体装置。
图1是根据至少一个示例实施例的半导体装置的框图,图2是图1中示出的DMA模块的框图;图3和图4是用于解释图1中示出的半导体装置的操作的示意图。
如这里所使用的,“单元”或“模块”指被构造为由诸如处理器的硬件元件执行的软件元件或执行预定和/或期望的功能的诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)的硬件元件。然而,单元或模块不总是具有限于软件或硬件的含义。模块可以被构造为被存储在可寻址的存储介质中或执行一个或多个处理器。因此,模块包括例如软件元件、面向对象的软件元件、类元件或任务元件、进程、功能、属性、过程、子例程、程序代码的代码段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、阵列和参数。由模块提供的元件或功能可以结合到数量较少的元件或模块中,或可以被分为数量较大的元件或模块中。
当模块是硬件时,这样的存在的硬件可以包括被构造为执行模块的功能的专用机的一个或多个中央处理单元(CPU)、数据信号处理器(DSP)、专用集成电路(ASIC)或现场可编程门阵列(FPGA)计算机等。如上所述,CPU、DSP、ASIC或FPGA通常可以称为处理装置。
在模块是执行软件的处理器的情况下,处理器被构造为执行存储在存储介质中的软件的专用机,以执行模块的功能。
参照图1,半导体装置100可以包括DMA模块110和高速缓冲存储器(buffer)160。
DMA模块110可以直接访问存储器200。
详细地讲,DMA模块110可直接创建数据或可从外部装置接收数据以将其存储在缓冲器160中,并可以将存储在缓冲器160中的数据传输到存储器200。
另外,DMA模块110可对存储器200执行读取操作或写入操作。
缓冲器160可存储从DMA模块110接收的数据。这里,当DMA模块110传输数据时,可以不占用总线(未示出)。因此,缓冲器160可具有大小大到足以在性能不劣化的情况下允许DMA模块110操作。
具体地讲,缓冲器160可具有大于可以一次性从DMA模块110传输到存储器200的数据的最大的量的保留区域。
另外,存储器200可包括例如DRAM,但是示例性实施例不限于此。另外,存储器200可包括存储普通数据所处的数据区域和空闲区域。存储器200的各个区域可以包括多个存储块。
非易失性存储器可以为二维(2D)或三维(3D)存储器阵列。3D存储器阵列单片式地形成在存储器单元的阵列的物理层级中,存储单元的阵列具有设置在硅基底上方的有源区和与这些存储单元的操作相关的电路,而这样的相关的电路在这样的基底上方或在这样的基底内。术语“单片式(monolithic)”的含义为阵列的每个层级的层直接沉积在阵列的下面的每个层级的层上。
3D存储器阵列可以包括被垂直定向从而至少一个存储器单元位于另一存储器单元上方的垂直NAND串。至少一个存储器单元可以包括电荷捕获层。
通过引用包含于此的下面的专利文献中描述了用于三维存储器阵列的合适的构造,其中,三维存储器阵列被构造为具有多个层级,在层级之间分享字线和/或位线:第7,679,133、8,553,466、8,654,587、8,559,235号美国专利和第2011/0233648号美国专利申请公开。
本领域技术人员将获知存储器200的更详细地构造,并因此将不给出其详细描述。
参照图2,DMA模块110可包括设置单元(初始化器)115、创建单元(创建器)120和传输单元(传输器)125。
设置单元115可设置用于将第一数据写入到存储器200的数据传输参数DP。
具体地讲,设置单元115可以从处理器250接收与数据传输参数DP相关的信息(DP.I),并可设置数据传输参数DP。这里,数据传输参数DP可包括例如将被传输到存储器200的第一数据的大小、缓冲器160的存储将被传输到存储器200的第一数据的地址、以及存储器200的第一数据将被传输到的预定的和/或选择的地址,但是示例实施例不限于此。第一数据是将被传输到存储器200的数据。
这里,处理器250可包括例如中央处理单元(CPU),但是示例实施例不限于此。另外,第一数据可包括将被存储在存储器200的预定的和/或选择的地址中的更新的数据。
设置单元115可从处理器250接收数据传输参数相关信息(DP.I)和高速缓冲存储器无效(将被称为冲洗)相关信息(CI.I),并可基于接收的高速缓冲存储器冲洗相关信息(CI.I)来开始设置数据传输参数DP。即,可基于从处理器250接收的数据传输参数相关信息(DP.I)来设置数据传输参数DP,可基于从处理器250接收的高速缓冲存储器冲洗相关信息(CI.I)来确定设置操作的开始时间。
在示出的示例实施例中,高速缓冲存储器冲洗相关信息(CI.I)从处理器250提供到设置单元115,但是示例实施例不限于此。更具体地讲,示出了首先从处理器250提供到设置单元115、然后从设置单元115提供到传输单元125的高速缓冲存储器冲洗相关信息(CI.I),但是示例实施例不限于此。即,也可以从处理器250将高速缓冲存储器冲洗相关信息(CI.I)直接提供到传输单元125而不经过设置单元115,且一旦高速缓冲存储器300的冲洗开始,则高速缓冲存储器300可自己创建高速缓冲存储器冲洗相关信息(CI.I),并可将高速缓冲存储器冲洗相关信息(CI.I)提供到传输单元125。然而,为了方便起见,在下面的描述中,以示例的方式假定高速缓冲存储器冲洗相关信息(CI.I)从存储器250提供到设置单元115。
在处理器250将存储在高速缓冲存储器300中的第二数据冲洗到存储器200的预定的和/或选择的地址的同时,执行设置单元115对于数据传输参数DP的设置。这里,第二数据是与作为更新的数据的第一数据不同的现有数据(即,未更新的数据)。另外,处理器250除了冲洗高速缓冲存储器300之外还可以对高速缓冲存储器300执行读取操作或写入操作。
设置单元115可将设置的数据传输参数DP提供到创建单元120和传输单元125。另外,设置单元115可以将高速缓冲存储器冲洗相关信息(CI.I)提供到传输单元125,这将在后面进行更详细地描述。
创建单元120可基于设置的数据传输参数DP来创建将被传输到存储器200的第一数据。
具体地讲,创建单元120可从设置单元115接收数据传输参数DP,并可基于数据传输参数DP来创建第一数据。这里,“创建单元120创建数据”的表述可指示:创建单元120可从外部装置350接收(读取)数据或可直接在其自身中创建数据。另外,创建单元120可以在缓冲器160中存储(写入)创建的第一数据。
这里,外部装置350可以包括例如多媒体卡(MMC),但是示例实施例不限于此。
换言之,创建单元120根据由数据传输参数DP指定的数据大小来创建第一数据,并可将创建的第一数据存储在由数据传输参数DP指定的缓冲器160的地址中。
创建单元120可对外部装置350执行读取操作或写入操作。如上所述,创建单元120可从外部装置350接收(读取)第一数据以创建第一数据。除了读取操作之外,创建单元120还可对外部装置350执行数据写入操作。
传输单元125可基于数据传输参数DP将第一数据写入到存储器200的预定的和/或选择的地址。
具体地讲,传输单元125可从设置单元155接收数据传输参数DP或可以基于数据传输参数DP将第一数据传输到存储器200的预定的和/或选择的地址。这里,传输单元125可将存储在缓冲器160中的第一数据传输到存储器200。
换言之,传输单元125可读取存储在由数据传输参数DP指定的缓冲器160的地址中的第一数据,并可将第一数据传输(写入)到由数据传输参数DP指定的存储器200的预定的和/或选择的地址。
在高速缓冲存储器300的冲洗完成之后,传输单元125可以将第一数据传输到存储器200的预定的和/或选择的地址。
另外,传输单元125可以从设置单元115接收高速缓冲存储器300的冲洗相关信息(CI.I)(例如,信号通知冲洗高速缓冲存储器300开始的信息),从而然后在高速缓冲存储器300的冲洗的同时被停用。这里,传输单元125可以在高速缓冲存储器300的冲洗开始之前、在高速缓冲存储器300的冲洗开始的同时或在高速缓冲存储器300的冲洗开始之后的所有情况下被停用。
在高速缓冲存储器300的冲洗完成之后,传输单元125可从设置单元115接收高速缓冲存储器300的冲洗相关信息(CI.I)(例如,信号通知冲洗高速缓冲存储器300完成的信息),从而然后被启用。
传输单元125可对存储器200执行读取操作或写入操作。如上所述,传输单元125可将第一数据传输(写入)到存储器200的预定的和/或选择的地址。除了写入操作之外,传输单元125还可执行从存储器200的数据读取操作。
参照图2和图3,DMA模块的操作在高速缓冲存储器的无效操作(即,冲洗)完成之后开始。具体地讲,图3示出了未应用根据示例实施例的半导体装置100的情况。
即,在处理器冲洗高速缓冲存储器的高速缓冲存储器无效时间段(与范围在t1至t2的时间段对应)中,可以阻止DMA模块的操作。如果在高速缓冲存储器冲洗时间段(t1至t2)期间DMA模块的操作没有被阻止,则在存储器的高速缓冲存储器将被冲洗到的地址与存储器的DMA模块意在将数据传输到的地址彼此相同的情况下,被高速缓冲存储器冲洗的数据(即,未更新的数据或现有数据)可以覆写在将被DMA模块传输的更新的数据的顶部上。
相应地,可以在高速缓冲存储器冲洗时间段(t1至t2)期间阻挡DMA功能,且可从高速缓冲存储器的冲洗完成的时间t2开始DMA模块的初始设置操作(即,设置单元设置数据传输参数的操作)。
如果DMA模块的初始设置操作在时间t3完成,则第一数据创建操作(数据创建1)(即,创建单元创建第一数据的操作)可从时间t3开始。
另外,如果第一数据创建操作(数据创建1)在时间t4完成,则可以在时间t4同时开始第二数据创建操作(数据创建2)(即,创建单元创建作为与第一数据不同的升级的数据的第二数据的操作)和第一数据传输操作(数据传输1)(即,传输单元将第一数据传输到存储器的操作)。即,可按流水线(pipeline)方式执行DMA模块的传输单元和创建单元的操作。
下一步,如果在在时间t5完成第二数据创建操作(数据创建2)和第一数据传输操作(数据传输1),则可以在时间t5开始第二数据传输操作(数据传输2)(传输单元将第二数据传输到存储器的操作)。
这里,第二数据被传输到的存储器的地址和第一数据被传输到的存储器的地址可彼此不同。
如图3中所示,可防止被高速缓冲存储器冲洗的数据(即,未更新数据或现有数据)被覆写在更新的数据的顶部上,但是DMA模块的执行时间可能因高速缓冲存储器的冲洗时间而延长(高速缓冲存储器无效),因此降低总体性能。
同时,参照图2和图4,DMA模块的操作和高速缓冲存储器的无效操作(即,冲洗)同时开始。具体地讲,图4示出了应用了半导体装置100的情况。
下面的描述将集中于图3和图4中示出的情况的区别。
即,与图3不同,在与范围从t1至t2的时间段对应的处理器冲洗高速缓冲存储器的高速缓冲存储器无效操作(高速缓冲存储器无效)期间,不阻挡DMA模块的操作。
具体地讲,在高速缓冲存储器的冲洗在时间t1’开始时的同时,DMA模块的传输单元停用(数据传输停用)。如上所述,在高速缓冲存储器的冲洗开始之前、在高速缓冲存储器的冲洗开始的同时或在高速缓冲存储器的冲洗开始之后,DMA模块的传输单元可被停用。然而,为了方便起见,将参照图4的情况来进行下面的描述,其中,DMA模块的传输单元在高速缓冲存储器的冲洗开始的同时被停用。
这里,传输单元的停用时间段可持续至时间t4’,即,持续至高速缓冲存储器的冲洗完成的时间。这是为了防止被高速缓冲存储器冲洗的数据(即,未更新的数据或现有数据)覆写在更新的数据的顶部上。
DMA模块的初始设置操作(即,设置单元设置数据传输参数DP的操作)可以在比高速缓冲存储器的冲洗开始所处的时间t1’稍晚的时间t2’开始。
即,可以在冲洗高速缓冲存储器300的时间段期间执行DMA模块110的操作。相应地,与图3中不同,DMA模块的执行时间可以因高速缓冲存储器300的冲洗时间(高速缓冲存储器冲洗)而延长。
如果DMA模块110的初始设置操作在时间t3’完成,则第一数据创建操作(数据创建1)(即,创建单元创建第一数据的操作)可从时间t3’开始。这里,第一数据创建操作(数据创建1)和高速缓冲存储器300的冲洗时间可以是流水线式的。
详细地讲,第一数据创建操作(数据创建1)在高速缓冲存储器300的冲洗时间期间(即,在t1’和t4’之间)开始,并可在高速缓冲存储器300的冲洗完成之前、在高速缓冲存储器300的冲洗完成的同时或在高速缓冲存储器300的冲洗完成之后完成。
另外,如果高速缓冲存储器的冲洗在时间t4’完成,则DMA模块的传输单元可在时间t4’之后被启用(数据传输启用)。因此,如果第一数据创建操作(数据创建1)在时间t5’完成,则第二数据创建操作(数据创建2)(即,创建单元创建与作为更新的数据的第一数据不同的第二数据的操作)和第一数据传输操作(数据传输1)(即,传输单元将第一数据传输到存储器的操作)可同时从时间t5’开始。
即,DMA模块110的传输单元125和创建单元120的操作可按流水线方式执行。
下面,如果第二数据创建操作(数据创建2)和第一数据传输操作(数据传输1)在时间t6’完成,则第二数据传输操作(数据传输2)(即,传输单元将第二数据传输到存储器的操作)可在时间t6’开始。
在半导体装置100中,传输单元120的停用时间段持续到高速缓冲存储器300的冲洗完成的时间,从而防止被高速缓冲存储器冲洗的数据(即,未更新的数据或现有数据)覆写在更新的数据的顶部上并因高速缓冲存储器300的冲洗时间而加快DMA模块110的执行时间以最终改善总体性能。
另外,在至少一些示例实施例中,设置单元115、创建单元120和传输单元125以硬件方式实现,但是示例实施例不限于此。即,设置单元115、创建单元120和传输单元125还可以实现在被构造为执行在DMA模块110中以代码的形式存储的软件的处理器中。
下文中,将参照图5和图6来描述根据示例实施例的半导体系统。在下面的描述中,将不重复与前面的示例实施例相同的内容。
图5是根据示例实施例的半导体系统的框图,图6是在图5中示出的第二处理器的框图。
参照图5,半导体系统400可包括第一处理器410、高速缓冲存储器420、第二处理器430和总线470。
第一处理器410可将存储在高速缓冲存储器420中的数据(例如,现有数据,即,未更新的数据)冲洗到存储器200的预定的和/或可选的地址。
具体地讲,除了高速缓冲存储器240的冲洗之外,第一处理器410还可以对高速缓冲存储器240执行读取操作或写入操作。另外,第一处理器410可以将与数据传输参数DP相关的信息和与高速缓冲存储器420的无效或冲洗相关的信息提供到第二处理器430。
这里,第一处理器410可以包括例如中央处理单元(CPU),存储器200可以包括例如DRAM,但是示例实施例不限于此。
高速缓冲存储器420可被第一处理器410冲洗。
详细地讲,高速缓冲存储器420可被第一处理器410冲洗到存储器200的预定的和/或选择的地址。另外,高速缓冲存储器420可通过总线470连接到存储器200。
第二处理器430可创建与存储在高速缓冲存储器420中的数据不同的数据(更新的数据),并可将创建的数据传输到存储器200的预定的和/或选择的地址。
这里,第二存储器430可在其自身中直接创建数据或者可从外部装置350接收数据。
总线470可将第一处理器410、第二处理器430和高速缓冲存储器420彼此连接,并可将半导体系统400和存储器200彼此连接。
详细地讲,第一处理器410将与数据传输参数DP相关的信息和与高速缓冲存储器420的无效或冲洗相关的信息提供到第二处理器430、高速缓冲存储器420被冲洗到存储器200的预定的和/或选择的地址、以及第二存储器430将数据传输到存储器200的预定的和/或选择的地址可全部经由总线470来执行。
另外,在图5中示出了半导体系统400包括第一处理器410、高速缓冲存储器420、第二处理器430和总线470,但是示例实施例不限于此。即,半导体系统400还可以包括存储器200和外部装置350。
参照图6,第二处理器430可包括DMA模块440和缓冲器450。这里,第二处理器430可以为图2中示出的半导体装置100。
因此,DMA模块440可通过总线470直接存取存储器200。
详细地讲,DMA模块440可以设置用于将数据传输到存储器200的数据传输参数DP,并可基于数据传输参数DP来创建将被传输到存储器200的数据以然后将其存储在缓冲器450中。另外,DMA模块440可将存储在缓冲器450中的数据传输到存储器200的预定的和/或选择的地址。这里,DMA模块440可直接在自身中创建将被传输到存储器200的数据,或可接收来自外部装置350的数据。
另外,DMA模块440可包括设置单元442、创建单元445和传输单元447,这与上面描述的是相同,因此将不给出详细的描述。
另外,在示出的示例实施例中,高速缓冲存储器冲洗相关信息(CI.I)从第一处理器410提供到第二处理器430(例如,第二处理器430的设置单元442),但是示例实施例不限于此。更详细地讲,示出了高速缓冲存储器冲洗相关信息(CI.I)首先从第一处理器410提供到设置单元442然后从设置单元442提供到传输单元447,但是示例实施例不限于此。即,高速缓冲存储器冲洗相关信息(CI.I)还可从第一处理器410通过总线470而不经过设置单元442而直接提供到传输单元447,且一旦高速缓冲存储器420的冲洗开始,则高速缓冲存储器420就可在其自身中创建高速缓冲存储器冲洗相关信息(CI.I)并可通过总线470将其提供到高速缓冲存储器单元447。
下文中,将参照图7和图8来描述根据另一示例实施例的半导体系统。在下面的描述中,与前面的实施例相同的内容不再重复描述。
图7是根据另一示例实施例的半导体系统的框图,图8是图7中示出的第二处理器和第三处理器的框图。
参照图7,半导体系统500可以包括第一处理器510、高速缓冲存储器520、第二处理器530、第三处理器580和总线595。
第一处理器510可将存储在高速缓冲存储器520中的数据(例如,现有数据,即,未更新的数据)冲洗到存储器200的预定的和/或选择的地址。
详细地讲,除了冲洗高速缓冲存储器520之外,第一处理器510还可对高速缓冲存储器520执行读取操作或写入操作。另外,第一处理器510可将与数据传输参数DP相关的信息和与高速缓冲存储器520的无效或冲洗相关的信息提供到第二处理器530。
这里,第一处理器510可以包括例如中央处理单元(CPU),存储器200可以包括例如DRAM,但是示例实施例不限于此。
高速缓冲存储器520可被第一处理器510冲洗。
详细地讲,高速缓冲存储器520可被第一处理器510冲洗到存储器200的预定的和/或选择的地址。另外,高速缓冲存储器520可通过总线595连接到存储器200。
第二处理器530可将与存储在高速缓冲存储器520中的数据不同的数据(更新的数据)传输到存储器200的预定的和/或选择的地址。
这里,第二处理器530可接收(即,读取)存储在第三存储器580中的数据,并可将接收的数据传输到存储器200。
第三处理器580可从外部装置350接收将被传输到存储器200的数据,并可存储接收的数据。
总线595可将第一存储器510、第二存储器530、第三存储器580和高速缓冲存储器520彼此连接,并可将半导体系统500和存储器200彼此连接。
详细地讲,第一存储器510将与数据传输参数DP相关的信息和与高速缓冲存储器520的无效或冲洗相关的信息提供到第二处理器530、第二处理器510将数据传输参数DP提供到第三处理器580、第二处理器530接收存储在第三处理器580中的数据、高速缓冲存储器520被冲洗到存储器200的预定的和/或选择的地址、以及第二处理器530将数据传输到存储器200的预定的和/或选择的地址可全部通过总线595来执行。
参照图8,第二处理器530可包括DMA模块540和第一缓冲器560。
详细地讲,DMA模块540块可以包括设置单元542、创建单元545和传输单元547。
设置单元542可设置用于将第一数据写入到存储器200的数据传输参数DP。
详细地讲,设置单元542可通过总线595从第一处理器510接收与数据传输参数DP相关的信息,并可设置数据传输参数DP。这里,数据传输参数DP可包括例如将被传输到存储器200的第一数据的大小、第一缓冲器560的存储将被传输到处理器200的第一数据的地址、第二缓冲器590的存储将被传输到处理器200的第一数据的地址、以及存储器200的第一数据将被传输到的预定的和/或选的地址,但是示例实施例不限于此。另外,第一数据可包括将被传输到存储器200的更新的数据。
设置单元542可从处理器250接收数据传输参数相关信息(DP.I)和高速缓冲存储器无效(还被称为冲洗)相关信息(CI.I),并可基于接收的高速缓冲存储器冲洗相关信息(CI.I)开始设置数据传输参数DP。即,可基于从第一处理器510接收的数据传输参数相关信息(DP.I)来设置数据传输参数DP,可基于从第一处理器510接收的高速缓冲存储器冲洗相关信息(CI.I)来确定设置操作的开始时间。
在示出的示例实施例中,高速缓冲存储器冲洗相关信息(CI.I)从第一处理器510提供到第二处理器530(例如,第二处理器530的设置单元542),但是示例实施例不限于此。更详细地讲,高速缓冲存储器冲洗相关信息(CI.I)首先从第一处理器510提供到设置单元542、然后从设置单元542提供到传输单元547的,但是示例实施例不限于此。即,高速缓冲存储器冲洗相关信息(CI.I)也可从第一处理器510通过总线595被直接提供到传输单元547而不经过设置单元542,且一旦高速缓冲存储器520的冲洗开始,则高速缓冲存储器530可在自身中创建高速缓冲存储器冲洗相关信息(CI.I),并可通过总线595将高速缓冲存储器冲洗相关信息(CI.I)提供到传输单元547。然而,为了方便起见,在下面的描述中,以示例的方式假定高速缓冲存储器冲洗相关信息(CI.I)从第一存储器510提供到设置单元542。
在第一存储器510将存储在高速缓冲存储器520中的第二数据冲洗到存储器200的预定的和/或选择的地址的同时,执行设置单元542对于数据传输参数DP的设置。这里,第二数据是与作为更新的数据的第一数据不同的现有数据(即,未更新的数据)。
设置单元542可将设置的数据传输参数DP提供到创建单元545和传输单元547。另外,设置单元542可将高速缓冲存储器冲洗相关信息(CI.I)提供到传输单元547。
创建单元545可基于设置的数据传输参数DP来创建将被传输到存储器200的第一数据。
详细地讲,创建单元545可从设置单元542接收数据传输参数DP,或可基于数据传输参数DP来接收存储在第三存储器589的第二缓冲器590中的第一数据。另外,在高速缓冲存储器520被冲洗的同时,可执行创建单元545对于第一数据的接收。
这里,创建单元545可通过总线595从第三处理器580的第二缓冲器590接收数据,或者可直接在自身中创建数据。
另外,创建单元545可将第一数据存储在第一缓冲器560的由数据传输参数DP指定的地址中。
传输单元547可基于数据传输参数DP将第一数据写入到存储器200的预定的和/或选择的地址。
详细地讲,传输单元547可从设置单元542接收数据传输参数DP并可基于数据传输参数DP将第一数据传输到存储器200的预定的和/或选择的地址。这里,传输单元547可将存储在第一缓冲器560中的第一数据传输到存储器200。
即,传输单元547可读取存储在第一缓冲器560的由数据传输参数DP指定的地址中的第一数据,并可将第一数据传输(写入)到存储器200的由数据传输参数DP指定的预定的和/或选择的地址。
在高速缓冲存储器520的冲洗完成之后,可执行传输单元547将第一数据传输到存储器200的预定的和/或选择的地址。
另外,传输单元547可从设置单元542接收高速缓冲存储器520的冲洗相关信息(CI.I)(例如,信号通知高速缓冲存储器520的冲洗开始的信息),从而然后在高速缓冲存储器520冲洗的同时被停用。这里,传输单元547可以在高速缓冲存储器520的冲洗开始之前、在高速缓冲存储器520的冲洗开始的同时或在高速缓冲存储器520的冲洗开始之后的所有情况下停用。
在高速缓冲存储器520的冲洗完成之后,传输单元547可从设置单元542接收高速缓冲存储器520的冲洗相关信息(CI.I)(例如,信号通知高速缓冲存储器520的冲洗完成的信息),从而然后被启用。
传输单元547可对存储器200执行读取操作或写入操作。如上所述,传输单元547可将第一数据传输(写入)到存储器200的预定的和/或选择的地址。除了写入操作之外,传输单元547还可执行从存储器200的数据读取操作。
第三存储器580可以包括第二缓冲器590。
详细地讲,第三处理器580可创建第一数据,并可以将创建的第一数据存储在第二缓冲器590中。即,第三处理器580可从设置单元542接收数据传输参数DP,并可基于接收的数据传输参数DP来从外部装置350接收第一数据或可在自身中创建第一数据。
即,在图8中示出的半导体系统500中,与在图6中示出的半导体系统400不同,可分开地提供从外部装置350接收数据的处理器(即,第三处理器580)和将从外部装置350接收的数据传输到存储器200的处理器(即,第二处理器530)。
另外,在图6和图8中示出的半导体系统400和500可与存储器200集成到一个系统中。在示例实施例中,半导体系统400或500和存储器200可集成到系统中以构成存储器卡。半导体系统400或500和存储器200可集成到一个系统中且其示例可包括诸如个人计算机存储器卡国际联合会(PCMCIA)卡的PC卡、紧凑型闪存(CF)卡、智能媒体卡(例如,SM或SMC)、存储器棒、多媒体卡(例如,MMC、RS-MMC或MMCmicor)、SD卡(例如,SD、miniSD、microSD和SDHC)或通用闪速存储(UFS)。
半导体系统400或500和存储器200可集成到一个系统中以构成固态驱动器或固态盘(SSD)。
图9是示出实现为片上系统的图7中的半导体系统的示图。
参照图9,根据另一示例实施例的半导体系统500可包括可被实现为片上系统(SoC)并可通过包括到SoC中的内部总线(例如,符合AMBA AXI(advanced eXtensibleinterface)协议的总线)彼此连接的第一处理器510、高速缓冲存储器520、第二处理器530和第三处理器580。另外,在至少一些示例实施例中,SoC可被实现为安装在移动终端上的应用处理器。在至少一些示例实施例中,SoC还可包括存储器200和外部存储器550。
图5中示出的半导体系统400以及图7中示出的半导体系统500也可被实现为片上系统(SoC),且将不给出其详细的描述。
另外,根据至少一些示例实施例的半导体系统400和500可以多种类型的封装件进行安装。例如,半导体系统400和500可以以诸如(但不限于)封装件上封装件(PoP)、球栅阵列(BGA)、芯片级封装件(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插封装件(PDIP)、窝伏尔封装件中裸片、晶片形式中裸片、板上芯片(COB)、陶瓷双列直插封装件(CERDIP)、塑料公制四方扁平封装件(MQFP)、薄四方扁平封装件(TQFP)、小外形(SOIC)、多芯片封装件(MCP)、晶片级制造封装件(WFP)、晶片级处理堆叠封装件(WSP)的多种类型的封装件进行安装。
图10至图12示出了根据至少一些示例实施例的可应用半导体系统的电子系统。
具体地讲,图10示出了平板型PC 1200,图11示出了笔记本型计算机1300、图12示出了智能电话1400。半导体系统400和500中的至少一种可以与平板型PC 1200,笔记本型计算机1300和智能电话1400一起使用。
另外,对于本领域技术人员来说明显的是,半导体系统400和500中的至少一种可以为这里没有示出的另外的集成电路。即,在上述示例实施例中,仅将平板型PC 1200,笔记本型计算机1300和智能电话1400作为电子系统的至少一种进行了举例,但是示例实施例不限于此。在至少一些示例实施例中,电子系统可被实现为计算机、超级移动个人计算机(UMPC)、工作站、网络本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书(e-book)、便携式多媒体播放器(PMP)、便携式娱乐控制台、导航装置、黑盒子、数码相机、3维电视、数字音频记录器、数字音频播放器、数字视频记录器和数字视频播放器等。
在下文中,将参照图13和图14来描述在图1中示出的半导体装置的操作方法。在下面的描述中,将不再重复与图1中示出的示例实施例的内容相同的内容。
图13和图14是示出图1中示出的半导体装置的操作方法的示图。
参照图2、图13和图14,首先,提供数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)(S100)。
详细地讲,设置单元115可从处理器250接收数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)。
将冲洗开始信号提供到高速缓冲存储器300(S105)。
详细地讲,处理器250可将无效(即,冲洗)开始信号提供到高速缓冲存储器300。
停用DMA模块110的数据传输操作(S107)。
详细地讲,设置单元115可将高速缓冲存储器冲洗相关信息(CI.I)提供到传输单元125。另外,传输单元125可以接收高速缓冲存储器冲洗相关信息(CI.I)(例如,信号通知高速缓冲存储器300的冲洗开始的信息)从而然后被停用。
开始高速缓冲存储器300的冲洗(S110)。
详细地讲,高速缓冲存储器300中存储的第二数据(现有数据,即,未更新的数据)可被冲洗到存储器200的预定的和/或选择的地址。
在示出的示例实施例中,顺序执行操作S100、S105、S107和S110,但是示例实施例不限于此。即,在处理器250将冲洗开始信号提供到高速缓冲存储器300(S105)之后,可将数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)提供到设置单元115(S100)。
因此,传输单元125可在高速缓冲存储器300的冲洗开始之前、在高速缓冲存储器300的冲洗开始的同时或在高速缓冲存储器300的冲洗开始之后的所有情况下被停用(S107)。
在高速缓冲存储器300的冲洗开始之后,设置单元115可基于从处理器250接收的数据传输参数相关信息(DP.I)来设置数据传输参数DP。另外,设置单元115可设置数据传输参数DP并可将其提供到创建单元120(S113)。
然后,创建数据(S115)。
详细地讲,创建单元120可基于接收的数据传输参数DP来创建第一数据(即,将被传输到存储器200的预定的和/或选择的地址的更新的数据)。创建单元120可在自身中直接创建第一数据或者可从外部装置350接收第一数据。
将数据存储在缓冲器160中(S117)。
详细地讲,创建单元120可将第一数据存储在缓冲器160的由数据传输参数DP指定的地址中。
如果高速缓冲存储器300的冲洗完成(S120),则处理器250可将高速缓冲存储器冲洗相关信息(CI.I)(例如,信号通知高速缓冲存储器300的冲洗完成的信息)提供到设置单元115。然而,如果高速缓冲存储器300的冲洗没有完成,则可保持传输单元125的停用状态(即,保持DMA模块110的数据传输停用状态)(S122)。
启用DMA模块110的数据传输操作(S125)。
详细地讲,如果从处理器250接收信号通知高速缓冲存储器300的冲洗完成的信息,则设置单元115可将接收的信息提供到传输单元125。
传输单元125可接收信号通知高速缓冲存储器300的冲洗完成的信息从而然后被启用。
读取存储在缓冲器160中存储的数据(S127)。
详细地讲,传输单元125可基于数据传输参数DP来读取存储在缓冲器160中的第一数据。
将数据发送到存储器200(S130)。
详细地讲,传输单元125可基于数据传输参数DP来将第一数据传输到存储器200的预定的和/或选择的地址。
下文中,将参照图15和图16来描述在图5中示出的半导体系统的操作方法。在下面的描述中,将不再重复与图5中示出的示例实施例的内容相同的内容。
图15和图16是示出图5中示出的半导体装置的操作方法的示图。
参照图6、图15和图16,首先,提供数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)(S200)。
详细地讲,第二处理器430的DMA模块440的设置单元442可从第一处理器410接收数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)。
将冲洗开始信号提供到高速缓冲存储器420(S205)。
详细地讲,第一处理器410可将无效(即,冲洗)开始信号提供到高速缓冲存储器420。
停用DMA模块440的数据传输操作(S207)。
详细地讲,设置单元442可将高速缓冲存储器冲洗相关信息(CI.I)提供到传输单元447。另外,传输单元447可接收高速缓冲存储器冲洗相关信息(CI.I)(例如,信号通知高速缓冲存储器420的冲洗开始的信息)从而然后被停用。
开始高速缓冲存储器420的冲洗(S210)。
详细地讲,高速缓冲存储器420中存储的第二数据(现有数据,即,未更新的数据)可被冲洗到存储器200的预定的和/或选择的地址。
在示出的示例实施例中,顺序执行操作S200、S205、S207和S210,但是示例实施例不限于此。即,在第一处理器410将冲洗开始信号提供到高速缓冲存储器420(S205)之后,可将数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)提供到设置单元442(S200)。
因此,传输单元447可在高速缓冲存储器420的冲洗开始之前、在高速缓冲存储器420的冲洗开始的同时或在高速缓冲存储器420的冲洗开始之后的所有情况下被停用(S207)。
在高速缓冲存储器420的冲洗开始之后,设置单元442可基于从第一处理器410接收的数据传输参数相关信息(DP.I)来设置数据传输参数DP。另外,设置单元442可设置数据传输参数DP并可将其提供到创建单元440(S213)。
然后,创建数据(S215)。
详细地讲,创建单元445可基于接收的数据传输参数DP来创建第一数据(即,将被传输到存储器200的预定的和/或选择的地址的更新的数据)。创建单元445可在自身中直接创建第一数据或者可从外部装置350接收第一数据。
在缓冲器450中存储数据(S217)。
详细地讲,创建单元445可将第一数据存储在缓冲器450的由数据传输参数DP指定的地址中。
如果高速缓冲存储器420的冲洗完成(S220),则第一处理器410可将高速缓冲存储器冲洗相关信息(CI.I)(例如,信号通知高速缓冲存储器420的冲洗完成的信息)提供到设置单元442。然而,如果高速缓冲存储器420的冲洗没有完成,则可保持传输单元447的停用状态(即,保持DMA模块440的数据传输停用状态)(S222)。
启用DMA模块440的数据传输操作(S225)。
详细地讲,如果从第一处理器447接收信号通知高速缓冲存储器420的冲洗完成的信息,则设置单元442可将接收的信息提供到传输单元447。
传输单元447可接收信号通知高速缓冲存储器420的冲洗完成的信息从而然后被启用。
读取存储在缓冲器450中存储的数据(S227)。
详细地讲,传输单元447可基于数据传输参数DP来读取存储在缓冲器450中的第一数据。
将数据发送到存储器200(S230)。
详细地讲,传输单元447可基于数据传输参数DP来将第一数据传输到存储器200的预定的和/或选择的地址。
下文中,将参照图17和图18来描述在图7中示出的半导体系统的操作方法。在下面的描述中,将不再重复与前面的示例实施例的内容相同的内容。
图17和图18是示出图7中示出的半导体装置的操作方法的示图。
参照图7、图17和图18,首先,提供数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)(S300)。
详细地讲,第二处理器530的DMA模块540的设置单元542可从第一处理器510接收数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)。
将冲洗开始信号提供到高速缓冲存储器520(S305)。
详细地讲,第一处理器510可将无效(即,冲洗)开始信号提供到高速缓冲存储器520。
停用DMA模块540的数据传输操作(S307)。
详细地讲,设置单元542可将高速缓冲存储器冲洗相关信息(CI.I)提供到传输单元547。另外,传输单元547可接收高速缓冲存储器冲洗相关信息(CI.I)(例如,信号通知高速缓冲存储器520的冲洗开始的信息)从而然后被停用。
开始高速缓冲存储器520的冲洗(S310)。
详细地讲,高速缓冲存储器520中存储的第二数据(现有数据,即,未更新的数据)可被冲洗到存储器200的预定的和/或选择的地址。
在示出的示例实施例中,顺序执行操作S300、S305、S307和S310,但是示例实施例不限于此。即,在第一处理器510将冲洗开始信号提供到高速缓冲存储器520(S305)之后,可将数据传输参数相关信息(DP.I)和高速缓冲存储器冲洗相关信息(CI.I)提供到设置单元542(S300)。
因此,传输单元547可在高速缓冲存储器520的冲洗开始之前、在高速缓冲存储器520的冲洗开始的同时或在高速缓冲存储器520的冲洗开始之后的所有情况下被停用(S307)。
在高速缓冲存储器520的冲洗开始之后,设置单元542可基于从第一处理器510接收的数据传输参数相关信息(DP.I)来设置数据传输参数DP。虽然没有示出,但是第三处理器580可从设置单元542接收数据传输参数,并可基于接收的数据传输参数来从外部装置350接收第一数据或可直接创建第一数据(S313)。
设置单元542可设置数据传输参数DP并可将其提供到创建单元545(S314)。
在图18中,可在创建单元545从设置单元542接收数据传输参数DP(S314)之前执行第三处理器580从设置单元542接收数据传输参数并创建第一数据(S313),但是示例实施例不限于此。
即,可在第三处理器580从设置单元542接收数据传输参数DP之前、在第三处理器580从设置单元542接收数据传输参数DP的同时、或者在第三处理器580从设置单元542接收数据传输参数DP之后执行创建单元545从设置单元542接收数据传输参数DP。
从第二缓冲器590读取数据(S315)。
详细地讲,创建单元545可基于接收的数据传输参数DP来从第二缓冲器590读取第一数据(即,将被传输到存储器200的预定的和/或选择的地址的更新的数据)。创建单元545可直接在自身中创建第一数据。然而,为了方便起见,在下面的描述中,以示例的方式假定创建单元545接收存储在第二缓冲器590中的第一数据。
在第一缓冲器560中存储数据(S317)。
详细地讲,创建单元545可将第一数据存储在第一缓冲器560的由数据传输参数DP指定的地址中。
如果高速缓冲存储器520的冲洗完成(S320),则第一处理器510可将高速缓冲存储器冲洗相关信息(CI.I)(例如,信号通知高速缓冲存储器520的冲洗完成的信息)提供到设置单元542。然而,如果高速缓冲存储器520的冲洗没有完成,则可保持传输单元547的停用状态(即,保持DMA模块540的数据传输停用状态)(S322)。
启用DMA模块540的数据传输操作(S325)。
详细地讲,如果从第一处理器510接收信号通知高速缓冲存储器520的冲洗完成的信息,则设置单元542可将接收的信息提供到传输单元547。
传输单元547可接收信号通知高速缓冲存储器520的冲洗完成的信息从而然后启用。
读取存储在第一缓冲器560中存储的数据(S327)。
详细地讲,传输单元547可基于数据传输参数DP来读取存储在第一缓冲器560中的第一数据。
将数据发送到存储器200(S330)。
详细地讲,传输单元547可基于数据传输参数DP来将第一数据传输到存储器200的预定的和/或选择的地址。
虽然已经具体示出和描述了至少一些示例实施例,但是本领域普通技术人员将理解的是,在不脱离如权利要求限定的示例实施例的精神和范围的情况下,可以对此进行形式和细节方面的多种改变。因此,期望的是,参照指示示例实施例的范围的权利要求而非前面的描述、以作为示例的而非限制性的所有方面来考虑示例实施例。
Claims (19)
1.一种半导体装置,包括:
直接存储器存取系统,被构造为直接访问存储器以将第一数据写入到存储器的地址,所述直接存储器存取系统包括:
初始化器,被构造为在将第二数据从高速缓冲存储器冲洗到存储器的所述地址的冲洗时间段期间设置用于将第一数据写入到存储器的数据传输参数;
创建器,被构造为基于设置的数据传输参数来创建第一数据;
传输器,被构造为基于数据传输参数在冲洗时间段之后将第一数据写入到存储器的所述地址,
其中,创建器被构造为在冲洗时间段期间创建第一数据的至少一部分。
2.如权利要求1所述的半导体装置,其中,第一数据与第二数据不同。
3.如权利要求1所述的半导体装置,其中,创建器被构造为从外部装置接收第一数据或直接创建第一数据。
4.如权利要求3所述的半导体装置,其中,创建器被构造为执行对外部装置的读取操作和写入操作中的至少一种。
5.如权利要求1所述的半导体装置,所述半导体装置还包括:
缓冲器,被构造为存储第一数据。
6.如权利要求5所述的半导体装置,其中,创建器被构造为将第一数据存储在缓冲器中。
7.如权利要求6所述的半导体装置,其中,传输器被构造为将存储在缓冲器中的第一数据传输到存储器。
8.如权利要求5所述的半导体装置,其中,数据传输参数包括第一数据的大小、缓冲器的存储第一数据的地址、以及存储器的所述地址。
9.如权利要求1所述的半导体装置,其中,初始化器被构造为从被构造为将第二数据从高速缓冲存储器冲洗到存储器的所述地址的处理器接收与数据传输参数相关的信息和与高速缓冲存储器的冲洗相关的信息。
10.如权利要求9所述的半导体装置,其中,传输器被构造为从初始化器接收与高速缓冲存储器的冲洗相关的信息并在冲洗时间段期间被停用。
11.如权利要求10所述的半导体装置,其中,传输器被构造为在冲洗时间段之后进行操作。
12.如权利要求1所述的半导体装置,其中,传输器被构造为从被构造为将第二数据从高速缓冲存储器冲洗到存储器的所述地址的处理器接收与高速缓冲存储器的冲洗相关的信息。
13.如权利要求1所述的半导体装置,其中,传输器被构造为从高速缓冲存储器接收与高速缓冲存储器的冲洗相关的信息。
14.如权利要求1所述的半导体装置,其中,创建器被构造为在初始化器设置数据传输参数之后创建第一数据。
15.如权利要求1所述的半导体装置,其中,传输器被构造为在创建器创建第一数据之后将第一数据传输到存储器的所述地址。
16.如权利要求1所述的半导体装置,其中,传输器被构造为执行对存储器的读取操作和写入操作中的至少一种。
17.如权利要求1所述的半导体装置,所述半导体装置还包括:
缓冲器,被构造为存储第一数据,其中,第一数据包括第三数据和第四数据。
18.如权利要求17所述的半导体装置,其中,存储器的所述地址包括第一地址和第二地址,传输器被构造为执行将第三数据传输到第一地址的第一传输和在第一传输之后将第四数据传输到第二地址的第二传输,第一传输在创建器创建第四数据的同时执行。
19.如权利要求17所述的半导体装置,其中,创建器被构造为在冲洗时间段期间创建第三数据并在冲洗时间段之后创建第四数据。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462043595P | 2014-08-29 | 2014-08-29 | |
US62/043,595 | 2014-08-29 | ||
KR10-2014-0143553 | 2014-10-22 | ||
KR1020140143553A KR102261591B1 (ko) | 2014-08-29 | 2014-10-22 | 반도체 장치, 반도체 시스템 및 시스템 온 칩 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105389274A CN105389274A (zh) | 2016-03-09 |
CN105389274B true CN105389274B (zh) | 2020-09-11 |
Family
ID=55312291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510536967.6A Active CN105389274B (zh) | 2014-08-29 | 2015-08-27 | 半导体装置、半导体系统和片上系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9904626B2 (zh) |
CN (1) | CN105389274B (zh) |
DE (1) | DE102015112598A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10248563B2 (en) * | 2017-06-27 | 2019-04-02 | International Business Machines Corporation | Efficient cache memory having an expiration timer |
KR102276895B1 (ko) * | 2017-08-17 | 2021-07-12 | 삼성전자주식회사 | 반도체 장치 및 그 이벤트 프로파일링 방법 |
KR20190123984A (ko) * | 2018-04-25 | 2019-11-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200046495A (ko) * | 2018-10-24 | 2020-05-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
JP7257772B2 (ja) * | 2018-10-31 | 2023-04-14 | ルネサスエレクトロニクス株式会社 | 半導体装置を用いるシステム |
JP2022144314A (ja) * | 2021-03-18 | 2022-10-03 | キオクシア株式会社 | メモリシステム及びストレージ装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004258935A (ja) * | 2003-02-26 | 2004-09-16 | Matsushita Electric Ind Co Ltd | 半導体装置 |
CN1673980A (zh) * | 2004-03-25 | 2005-09-28 | 国际商业机器公司 | 为dma控制器提供高速缓存管理命令的系统和方法 |
US20080005465A1 (en) * | 2006-06-30 | 2008-01-03 | Matthews Jeanna N | Write ordering on disk cached platforms |
CN101218571A (zh) * | 2005-06-27 | 2008-07-09 | 达西系统股份有限公司 | 主动到主动磁盘阵列控制器间经验证的存储器到存储器数据转送 |
CN101819554A (zh) * | 2009-02-27 | 2010-09-01 | 京瓷美达株式会社 | 存储器管理装置、图像形成装置以及图像形成方法 |
CN103119564A (zh) * | 2010-07-16 | 2013-05-22 | 西门子公司 | 用于检查处理器的主存储器的方法和装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05307518A (ja) | 1992-05-01 | 1993-11-19 | Nec Corp | マイクロプロセッサ用バスインタフェースバッファ |
JP2001282764A (ja) | 2000-03-30 | 2001-10-12 | Hitachi Ltd | マルチプロセッサシステム |
US7636815B1 (en) | 2003-04-09 | 2009-12-22 | Klaiber Alexander C | System and method for handling direct memory accesses |
CN1332319C (zh) | 2003-12-22 | 2007-08-15 | 松下电器产业株式会社 | 存储系统控制方法 |
US7451248B2 (en) | 2005-02-09 | 2008-11-11 | International Business Machines Corporation | Method and apparatus for invalidating cache lines during direct memory access (DMA) write operations |
JP2008009857A (ja) | 2006-06-30 | 2008-01-17 | Toshiba Corp | キャッシュ制御回路およびプロセッサシステム |
JP4304676B2 (ja) | 2006-10-31 | 2009-07-29 | 日本電気株式会社 | データ転送装置、データ転送方法、及びコンピュータ装置 |
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
US8949569B2 (en) | 2008-04-30 | 2015-02-03 | International Business Machines Corporation | Enhanced direct memory access |
US8443263B2 (en) * | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
KR101682666B1 (ko) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
KR101667772B1 (ko) | 2012-08-18 | 2016-10-19 | 퀄컴 테크놀로지스, 인크. | 프리페칭을 갖는 변환 색인 버퍼 |
US9372796B2 (en) | 2012-10-24 | 2016-06-21 | Texas Instruments Incorporated | Optimum cache access scheme for multi endpoint atomic access in a multicore system |
KR20140143553A (ko) | 2013-06-07 | 2014-12-17 | 홍숙자 | 개인 위생장치 |
-
2015
- 2015-07-06 US US14/792,156 patent/US9904626B2/en active Active
- 2015-07-31 DE DE102015112598.6A patent/DE102015112598A1/de active Pending
- 2015-08-27 CN CN201510536967.6A patent/CN105389274B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004258935A (ja) * | 2003-02-26 | 2004-09-16 | Matsushita Electric Ind Co Ltd | 半導体装置 |
CN1673980A (zh) * | 2004-03-25 | 2005-09-28 | 国际商业机器公司 | 为dma控制器提供高速缓存管理命令的系统和方法 |
CN101218571A (zh) * | 2005-06-27 | 2008-07-09 | 达西系统股份有限公司 | 主动到主动磁盘阵列控制器间经验证的存储器到存储器数据转送 |
US20080005465A1 (en) * | 2006-06-30 | 2008-01-03 | Matthews Jeanna N | Write ordering on disk cached platforms |
CN101819554A (zh) * | 2009-02-27 | 2010-09-01 | 京瓷美达株式会社 | 存储器管理装置、图像形成装置以及图像形成方法 |
CN103119564A (zh) * | 2010-07-16 | 2013-05-22 | 西门子公司 | 用于检查处理器的主存储器的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
DE102015112598A1 (de) | 2016-03-03 |
US20160062913A1 (en) | 2016-03-03 |
CN105389274A (zh) | 2016-03-09 |
US9904626B2 (en) | 2018-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389274B (zh) | 半导体装置、半导体系统和片上系统 | |
TWI317482B (en) | Wide-port context cache apparatus, systems and methods, and machine-accessible medium having associated information | |
US10229050B2 (en) | Method for operating storage controller and method for operating storage device including the same wherein garbage collection is performed responsive to free block unavailable during reuse | |
US20130166824A1 (en) | Block management for nonvolatile memory device | |
US10860231B2 (en) | Memory system for adjusting map segment based on pattern and operating method thereof | |
US20160358657A1 (en) | Nonvolatile memory device and program method thereof | |
US20190171392A1 (en) | Method of operating storage device capable of reducing write latency | |
CN108304334B (zh) | 应用处理器和包括中断控制器的集成电路 | |
US11360711B2 (en) | Storage device temporarily suspending internal operation to provide short read response time for read request from host | |
US10795594B2 (en) | Storage device | |
US10466938B2 (en) | Non-volatile memory system using a plurality of mapping units and operating method thereof | |
US10705746B2 (en) | Memory system and operating method thereof | |
TWI682280B (zh) | 半導體裝置、半導體系統以及系統晶片 | |
US10606488B2 (en) | Selective data flush in a storage device | |
US9971549B2 (en) | Method of operating a memory device | |
US20230169022A1 (en) | Operating method of an electronic device | |
US20160364330A1 (en) | Techniques for avoiding cache victim based deadlocks in coherent interconnects | |
US11593123B2 (en) | Methods and apparatus for boot time reduction in a processor and programmable logic device environment | |
US20210020252A1 (en) | Memory system and method of operating the same | |
US9465747B2 (en) | Controller for controlling non-volatile memory and semiconductor device including the same | |
US11321254B2 (en) | Computing system for transmitting completion early between serially connected electronic devices | |
US20240126450A1 (en) | Memory system and operation thereof | |
US20150095557A1 (en) | Semiconductor apparatus and system | |
US8971135B2 (en) | Semiconductor memory device receiving data in response to data strobe signal, memory system including the same and operating method thereof | |
KR20160144557A (ko) | 읽기 데이터를 전송 단위로 전송하는 불휘발성 메모리 모듈, 스토리지 장치, 및 전자 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |