TWI682280B - Semiconductor device, semiconductor system and system on chip - Google Patents
Semiconductor device, semiconductor system and system on chip Download PDFInfo
- Publication number
- TWI682280B TWI682280B TW104127599A TW104127599A TWI682280B TW I682280 B TWI682280 B TW I682280B TW 104127599 A TW104127599 A TW 104127599A TW 104127599 A TW104127599 A TW 104127599A TW I682280 B TWI682280 B TW I682280B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- cache memory
- semiconductor device
- processor
- Prior art date
Links
Images
Classifications
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Abstract
Description
本申請案主張2014年8月29日申請的臨時申請案第62/043,595號以及來自2014年10月22日在韓國智慧財產局申請的韓國專利申請案第10-2014-0143553號的優先權,以及依據35U.S.C.§119自其產生的所有權益,所述申請案的內容全部被以引用的方式併入本文中。 This application claims the priority of Provisional Application No. 62/043,595 filed on August 29, 2014 and Korean Patent Application No. 10-2014-0143553 filed with the Korean Intellectual Property Office on October 22, 2014, As well as all rights and interests arising from 35U.SC §119, the contents of the application are incorporated herein by reference.
至少一些實例實施例是關於一種半導體裝置、一種半導體系統以及一種系統晶片。 At least some example embodiments relate to a semiconductor device, a semiconductor system, and a system wafer.
直接記憶體存取(direct memory access;DMA)方法為輸入/輸出(I/O)裝置的控制器控制自周邊裝置至主記憶體的資料傳送而不使用中央處理單元(central processing unit;CPU)執行程式的資料傳送方法。DMA方法可增大資料輸入/輸出速度且可減小CPU與周邊裝置之間的速度差。若輸入/輸出裝置請求DMA,則CPU移交主記憶體的控制。不論何時結束了CPU的循環,CPU可准許此操作。 The direct memory access (DMA) method is that the controller of the input/output (I/O) device controls the data transfer from the peripheral device to the main memory without using a central processing unit (CPU) Data transmission method of the execution program. The DMA method can increase the data input/output speed and can reduce the speed difference between the CPU and peripheral devices. If the input/output device requests DMA, the CPU transfers control of the main memory. Whenever the CPU cycle is ended, the CPU may permit this operation.
然而,當待使用具有內建式DMA的周邊裝置處理單元將 經更新資料傳送至系統記憶體的特定位址時,自系統記憶體的特定位址接收且儲存在快取記憶體中的現有資料並不有效,以致首先使快取記憶體失效(例如,排清)以開始DMA功能。 However, when the peripheral device processing unit with built-in DMA to be used will When the updated data is sent to the specific address of the system memory, the existing data received from the specific address of the system memory and stored in the cache memory is not valid, so that the cache memory is first invalidated (for example, Clear) to start the DMA function.
至少一些實例實施例提供一種半導體裝置,其可藉由在使快取記憶體失效(即,排清)的同時執行DMA功能來改良總體效能。 At least some example embodiments provide a semiconductor device that can improve overall performance by performing a DMA function while failing (ie, flushing) the cache memory.
至少一些實例實施例亦提供一種半導體系統,其可藉由在使快取記憶體失效(即,排清)的同時執行DMA功能來改良總體效能。 At least some example embodiments also provide a semiconductor system that can improve overall performance by performing a DMA function while disabling (ie, flushing) the cache memory.
至少一些實例實施例亦提供一種系統晶片,其可藉由在使快取記憶體失效(即,排清)的同時執行DMA功能來改良總體效能。 At least some example embodiments also provide a system chip that can improve overall performance by performing DMA functions while failing (ie, flushing) the cache memory.
實例實施例的此等以及其他目標將在至少一些實例實施例的以下描述中描述或將自至少一些實例實施例的以下描述顯而易見。 These and other objectives of example embodiments will be described in or will be apparent from the following description of at least some example embodiments.
根據至少一個實例實施例,提供一種半導體裝置,其包括經組態以直接存取記憶體以將第一資料寫入至記憶體的位址的直接記憶體存取(DMA)系統,其中DMA系統包含:初始化器,經組態以在由處理器進行的第二資料自快取記憶體至位址的資料移除週期期間設定資料傳送參數,所述資料傳送參數用於將第一資料寫入至記憶體;建立器,經組態以基於所設定的資料傳送參數建 立第一資料;以及傳送器,經組態以基於資料傳送參數在資料移除週期後將第一資料寫入至記憶體的位址。 According to at least one example embodiment, a semiconductor device is provided that includes a direct memory access (DMA) system configured to directly access memory to write first data to an address of the memory, wherein the DMA system Contains: an initializer configured to set data transfer parameters during the data removal cycle of the second data from the cache to the address by the processor, the data transfer parameters used to write the first data To memory; builder, configured to build based on the data transfer parameters set Establish the first data; and the transmitter is configured to write the first data to the address of the memory after the data removal cycle based on the data transmission parameters.
第一資料不同於第二資料。 The first data is different from the second data.
建立器經組態以自外部裝置接收第一資料或直接建立第一資料。 The builder is configured to receive the first data from an external device or directly create the first data.
建立器經組態以對外部裝置執行讀取操作以及寫入操作中的至少其中之一。 The builder is configured to perform at least one of a read operation and a write operation on the external device.
半導體裝置更包括經組態以儲存第一資料的緩衝器。 The semiconductor device further includes a buffer configured to store the first data.
建立器經組態以將第一資料儲存在緩衝器中。 The builder is configured to store the first data in the buffer.
傳送器經組態以將儲存在緩衝器中的第一資料傳送至記憶體。 The transmitter is configured to transmit the first data stored in the buffer to the memory.
資料傳送參數包含第一資料的大小、儲存第一資料的緩衝器的位址以及記憶體的位址。 The data transmission parameters include the size of the first data, the address of the buffer storing the first data, and the address of the memory.
初始化器經組態以自處理器接收與資料傳送參數有關的資訊以及與快取記憶體的排清有關的資訊。 The initializer is configured to receive information related to the data transfer parameters and information related to the clearing of the cache memory from the processor.
傳送器經組態以自初始化器接收與快取記憶體的排清有關的資訊,且傳送器在資料移除週期期間停用。 The transmitter is configured to receive information related to the clearing of the cache memory from the initializer, and the transmitter is disabled during the data removal cycle.
傳送器經組態以在資料移除週期後操作。 The transmitter is configured to operate after the data removal cycle.
傳送器經組態以自處理器接收與快取記憶體的排清有關的資訊。 The transmitter is configured to receive information about the clearing of the cache memory from the processor.
傳送器經組態以自快取記憶體接收與快取記憶體的排清有關的資訊。 The transmitter is configured to receive information about the clearing of the cache memory from the cache memory.
處理器包含中央處理單元(central processing unit;CPU)。 The processor includes a central processing unit (central processing unit; CPU).
記憶體包含動態隨機存取記憶體(DRAM)。 The memory includes dynamic random access memory (DRAM).
建立器經組態以在初始化器設定資料傳送參數後建立第一資料。 The creator is configured to create the first data after the initializer sets the data transfer parameters.
建立器經組態以在資料移除週期期間建立第一資料。 The creator is configured to create the first data during the data removal cycle.
傳送器經組態以在建立器建立第一資料後將第一資料傳送至記憶體的位址。 The transmitter is configured to send the first data to the address of the memory after the creator creates the first data.
建立器經組態以對記憶體執行讀取操作以及寫入操作中的至少其中之一。 The builder is configured to perform at least one of a read operation and a write operation on the memory.
半導體裝置更包括經組態以儲存第一資料的緩衝器,其中第一資料包含第三資料以及第四資料。 The semiconductor device further includes a buffer configured to store the first data, where the first data includes third data and fourth data.
記憶體的位址包含第一位址以及第二位址,傳送器經組態以執行將第三資料傳送至第一位址的第一傳送以及在第一傳送後將第四資料傳送至第二位址的第二傳送,且傳送器在建立器建立第四資料的同時執行第一傳送。 The address of the memory includes a first address and a second address. The transmitter is configured to perform the first transmission of the third data to the first address and the fourth data to the first address after the first transmission The second transmission of the two addresses, and the transmitter performs the first transmission while the creator creates the fourth data.
建立器經組態以在資料移除週期期間建立第三資料,且在資料移除週期後建立第四資料。 The creator is configured to create third data during the data removal cycle, and create fourth data after the data removal cycle.
根據至少一個實例實施例,提供一種半導體裝置,其包含經組態以直接存取記憶體的直接記憶體存取(DMA)系統,以及經組態以儲存待傳送至記憶體的第一資料以及第二資料的緩衝器,其中DMA系統包含:初始化器,經組態以在第三資料自快取記憶體至記憶體的第一位址的資料移除週期期間設定資料傳送參數,所述資料傳送參數用於將第一資料以及第二資料傳送至記憶體;建立器,經組態以依序執行第一建立以及第二建立,建立器經組態以藉由基於資料傳送參數建立第一資料以及在資料移除週期期間將第一資料儲存在緩衝器中來執行第一建立,且所述建立器 經組態以藉由建立第二資料以及將第二資料儲存在緩衝器中來執行第二建立;以及傳送器,經組態以依序執行第一傳送以及第二傳送,傳送器經組態以執行第一傳送使得基於資料傳送參數在資料移除週期後且在第二建立期間將儲存在緩衝器中的第一資料傳送至記憶體的第一位址,且傳送器經組態以執行第二傳送使得將儲存在緩衝器中的第二資料傳送至記憶體的第二位址。 According to at least one example embodiment, a semiconductor device is provided that includes a direct memory access (DMA) system configured to directly access memory, and configured to store first data to be transferred to memory and A buffer for the second data, wherein the DMA system includes: an initializer configured to set data transfer parameters during a data removal cycle of the third data from the cache to the first address of the memory, the data The transmission parameters are used to transfer the first data and the second data to the memory; the builder is configured to perform the first creation and the second creation in sequence, and the builder is configured to create the first by based on the data transmission parameters Data and storing the first data in the buffer during the data removal cycle to perform the first creation, and the creator Configured to perform the second creation by creating the second data and storing the second data in the buffer; and the transmitter, configured to perform the first transmission and the second transmission in sequence, the transmitter is configured To perform the first transfer such that the first data stored in the buffer is transferred to the first address of the memory after the data removal period and during the second creation based on the data transfer parameters, and the transmitter is configured to execute The second transfer causes the second data stored in the buffer to be transferred to the second address of the memory.
建立器經組態以在初始化器完成資料傳送參數的設定後執行第一建立。 The builder is configured to perform the first build after the initializer completes the setting of the data transfer parameters.
傳送器經組態以在完成第二建立後執行第二傳送。 The transmitter is configured to perform the second transmission after completing the second establishment.
根據至少一個實例實施例,提供一種半導體系統,其包含:快取記憶體,經由匯流排連接至記憶體;第一處理器,經組態以在資料移除週期期間將儲存在快取記憶體中的第一資料排清至記憶體的位址;以及第二處理器,經組態以建立不同於第一資料的第二資料且將第二資料傳送至記憶體的位址,其中第二處理器包含經組態以儲存第二資料的緩衝器以及直接記憶體存取(DMA)系統,所述DMA系統經組態以在資料移除週期期間設定用於將第二資料傳送至記憶體的資料傳送參數以及在資料移除週期後基於資料傳送參數將儲存在緩衝器中的第二資料傳送至記憶體的位址。 According to at least one example embodiment, a semiconductor system is provided that includes: a cache memory connected to the memory via a bus; a first processor configured to store the cache memory during a data removal cycle The first data in is arranged to the address of the memory; and the second processor is configured to create a second data different from the first data and send the second data to the address of the memory, wherein the second The processor includes a buffer configured to store the second data and a direct memory access (DMA) system configured to set the second data to the memory during the data removal cycle The data transfer parameters of and the second data stored in the buffer to the address of the memory based on the data transfer parameters after the data removal period.
第一處理器經組態以對快取記憶體執行讀取操作以及寫入操作中的至少其中之一。 The first processor is configured to perform at least one of a read operation and a write operation on the cache memory.
DMA系統包括:初始化器,經組態以設定用於將第二資料傳送至記憶體的資料傳送參數;建立器,經組態以基於資料傳送參數建立待傳送至記憶體的第二資料;以及傳送器,經組態以基於 資料傳送參數將第二資料傳送至記憶體的位址。 The DMA system includes: an initializer configured to set data transfer parameters for transferring the second data to the memory; a builder configured to create second data to be transferred to the memory based on the data transfer parameters; and Transmitter, configured to be based on The data transmission parameter transmits the second data to the address of the memory.
初始化器經組態以自處理器接收與資料傳送參數有關的資訊以及與快取記憶體的排清有關的資訊。 The initializer is configured to receive information related to the data transfer parameters and information related to the clearing of the cache memory from the processor.
第一與第二處理器經由匯流排相互連接。 The first and second processors are connected to each other via a bus.
根據至少一個實例實施例,提供一種半導體系統,其包含:快取記憶體,經由匯流排連接至記憶體;第一處理器,經組態以在資料移除週期期間將儲存在快取記憶體中的第一資料排清至記憶體的位址;以及第二處理器,經組態以建立不同於第一資料的第二資料且經由匯流排將第二資料傳送至記憶體的位址,其中第二處理器包含經組態以儲存第二資料的緩衝器以及直接記憶體存取(DMA)系統,所述DMA系統經組態以將儲存在緩衝器中的第二資料傳送至記憶體的位址,且其中DMA系統包含:初始化器,經組態以在資料移除週期期間設定用於將第二資料傳送至記憶體的資料傳送參數以及自第一處理器接收與資料傳送參數有關的資訊以及與快取記憶體的排清有關的資訊;建立器,經組態以基於資料傳送參數建立待傳送至記憶體的第二資料且將第二資料儲存在緩衝器中;以及傳送器,經組態以基於資料傳送參數在資料移除週期後鈄儲存在緩衝器中的第二資料傳送至記憶體的位址。 According to at least one example embodiment, a semiconductor system is provided that includes: a cache memory connected to the memory via a bus; a first processor configured to store the cache memory during a data removal cycle The first data in is cleared to the address of the memory; and the second processor is configured to create a second data different from the first data and send the second data to the address of the memory via the bus, The second processor includes a buffer configured to store the second data and a direct memory access (DMA) system configured to transfer the second data stored in the buffer to the memory Address, and wherein the DMA system includes: an initializer configured to set data transfer parameters for transferring the second data to the memory during the data removal cycle and receiving data transfer parameters from the first processor Information and information related to the clearing of cache memory; a builder configured to create second data to be sent to memory based on data transfer parameters and store the second data in a buffer; and a transmitter , Configured to transfer the second data stored in the buffer to the address of the memory after the data removal cycle based on the data transfer parameters.
根據至少一個實例實施例,提供一種半導體系統,其包含:快取記憶體,經由匯流排連接至記憶體;第一處理器,經組態以在資料移除週期期間將儲存在快取記憶體中的第一資料排清至記憶體的位址;第二處理器,包含經組態以儲存不同於第一資料的第二資料的第一緩衝器;以及第三處理器,包含經組態以直接存取記憶體的直接記憶體存取(DMA)系統,其中第二處理器經組態 以建立第二資料且將第二資料儲存在第一緩衝器中,且DMA系統包含:初始化器,經組態以在資料移除週期期間設定用於將第二資料傳送至記憶體的資料傳送參數;建立器,經組態以基於資料傳送參數接收儲存在第一緩衝器中的第二資料;以及傳送器,經組態以基於資料傳送參數在資料移除週期後將第二資料傳送至記憶體的位址。 According to at least one example embodiment, a semiconductor system is provided that includes: a cache memory connected to the memory via a bus; a first processor configured to store the cache memory during a data removal cycle The first data in is sorted to the address of the memory; the second processor includes a first buffer configured to store second data different from the first data; and the third processor includes Direct memory access (DMA) system with direct access memory, where the second processor is configured To create the second data and store the second data in the first buffer, and the DMA system includes: an initializer configured to set the data transfer for transferring the second data to the memory during the data removal cycle Parameters; a builder configured to receive the second data stored in the first buffer based on the data transmission parameters; and a transmitter configured to transmit the second data to the second data after the data removal cycle based on the data transmission parameters The address of the memory.
初始化器經組態以自第一處理器接收與資料傳送參數有關的資訊以及與快取記憶體的排清有關的資訊。 The initializer is configured to receive information related to data transfer parameters and information related to the clearing of the cache memory from the first processor.
第三處理器更包括經組態以儲存接收的第二資料的第二緩衝器。 The third processor further includes a second buffer configured to store the received second data.
建立器經組態以將自第一緩衝器接收的第二資料儲存在第二緩衝器中。 The builder is configured to store the second data received from the first buffer in the second buffer.
傳送器經組態以將儲存在第二緩衝器中的第二資料傳送至記憶體的位址。 The transmitter is configured to transmit the second data stored in the second buffer to the address of the memory.
建立器經組態以在資料傳送參數的設定後接收第二資料。 The builder is configured to receive the second data after setting the data transmission parameters.
第二處理器經組態以建立第二資料且在資料移除週期期間將第二資料儲存在第一緩衝器中。 The second processor is configured to create second data and store the second data in the first buffer during the data removal cycle.
建立器單元經組態以在資料移除週期期間接收第二資料。 The builder unit is configured to receive the second data during the data removal cycle.
傳送器經組態以在建立器接收第二資料後將第二資料傳送至位址。 The transmitter is configured to transmit the second data to the address after the creator receives the second data.
第一至第三處理器經由匯流排相互連接。 The first to third processors are connected to each other via a bus.
第三處理器經組態以自初始化器接收資料傳送參數,且 基於資料傳送參數建立第二資料。 The third processor is configured to receive data transfer parameters from the initializer, and Create the second data based on the data transfer parameters.
根據至少一個實例實施例,提供一種系統晶片,所述系統晶片包括:記憶體;快取記憶體,連接至記憶體;第一處理器,經組態以在資料移除週期期間將儲存在快取記憶體中的第一資料排清至記憶體的位址;第二處理器,包含經組態以儲存不同於第一資料的第二資料的第一緩衝器;以及第三處理器,包含經組態以直接存取記憶體的直接記憶體存取(DMA)系統,其中記憶體與第一至第三處理器經由遵守AMBA進階式可擴展介面(AMBA advanced eXtensible interface;AXI)協定的匯流排相互連接,第二處理器經組態以建立第二資料且將第二資料儲存在第一緩衝器中,且DMA系統包含:初始化器,經組態以設定用於在資料移除週期將第二資料傳送至記憶體的資料傳送參數;建立器,經組態以基於資料傳送參數接收儲存在第一緩衝器中的第二資料;以及傳送器,經組態以基於資料傳送參數在資料移除週期後將第二資料傳送至記憶體的位址。 According to at least one example embodiment, there is provided a system chip including: a memory; a cache memory connected to the memory; a first processor configured to store the cache memory during a data removal cycle Retrieve the first data in the memory to the address of the memory; the second processor, including a first buffer configured to store second data different from the first data; and the third processor, including A direct memory access (DMA) system configured to directly access memory, in which the memory and the first to third processors comply with the AMBA advanced eXtensible interface (AXI) protocol The buses are connected to each other, the second processor is configured to create the second data and store the second data in the first buffer, and the DMA system includes: an initializer configured to set the data removal cycle Data transmission parameters for transmitting the second data to the memory; a builder configured to receive the second data stored in the first buffer based on the data transmission parameters; and a transmitter configured to transmit the data based on the data transmission parameters After the data removal cycle, the second data is sent to the address of the memory.
至少一個實例實施例揭露一種記憶體系統,所述記憶體系統包含:記憶體;處理器,經組態以在資料移除週期期間將快取記憶體中的第一資料排清至記憶體的位址;直接記憶體存取系統,所述直接記憶體存取系統包含經組態以在資料移除週期期間操作且建立第二資料的初始化器,以及經組態以在資料移除週期外將第二資料傳送至記憶體的位址的傳送器。 At least one example embodiment discloses a memory system including: a memory; a processor configured to drain the first data in the cache to the memory during a data removal cycle Address; a direct memory access system that includes an initializer configured to operate during the data removal cycle and create the second data, and configured to be outside the data removal cycle The transmitter that sends the second data to the address of the memory.
在實例實施例中,初始化器經組態以在資料移除週期期間產生資料傳送參數,且傳送器經組態以基於資料傳送參數傳送第二資料。 In an example embodiment, the initializer is configured to generate data transfer parameters during the data removal cycle, and the transmitter is configured to transfer second data based on the data transfer parameters.
在實例實施例中,傳送器經組態以在資料移除週期後將第二資料傳送至位址。 In an example embodiment, the transmitter is configured to transmit the second data to the address after the data removal cycle.
在實例實施例中,記憶體系統經組態以在資料移除週期前停用傳送器。 In an example embodiment, the memory system is configured to deactivate the transmitter before the data removal cycle.
在實例實施例中,記憶體系統經組態以當資料移除週期結束時啟用傳送器。 In an example embodiment, the memory system is configured to enable the transmitter when the data removal cycle ends.
在實例實施例中,記憶體包括三維記憶體陣列。 In an example embodiment, the memory includes a three-dimensional memory array.
在實例實施例中,三維記憶體包括單片地形成於具有安置於矽基板上方的活性區的記憶體胞元的一或多個實體層級中的非揮發性記憶體。 In example embodiments, the three-dimensional memory includes non-volatile memory formed monolithically in one or more physical levels of memory cells having active regions disposed above a silicon substrate.
在實例實施例中,三維記憶體陣列包括多個記憶體胞元,記憶體胞元中的每一個包含電荷捕獲層。 In an example embodiment, the three-dimensional memory array includes a plurality of memory cells, and each of the memory cells includes a charge trapping layer.
在實例實施例中,在層級之間共用三維記憶體陣列中的字線以及位元線中的至少其中之一。 In an example embodiment, at least one of word lines and bit lines in the three-dimensional memory array is shared between levels.
100‧‧‧半導體裝置 100‧‧‧Semiconductor device
110、440、540‧‧‧DMA模組 110,440,540‧‧‧DMA module
115、442、542‧‧‧設置單元 115, 442, 542‧‧‧ setting unit
120、445、545‧‧‧建立單元 120, 445, 545‧‧‧ building unit
125、447、547‧‧‧傳送單元 125, 447, 547‧‧‧ transmission unit
160、450‧‧‧緩衝器 160, 450‧‧‧ buffer
200‧‧‧記憶體 200‧‧‧Memory
250‧‧‧處理器 250‧‧‧ processor
300、420、520‧‧‧快取記憶體 300, 420, 520 ‧‧‧ cache memory
350‧‧‧外部裝置 350‧‧‧External device
400、500‧‧‧半導體系統 400、500‧‧‧Semiconductor system
410、510‧‧‧第一處理器 410, 510‧‧‧ First processor
430、530‧‧‧第二處理器 430, 530‧‧‧ second processor
470、595‧‧‧匯流排 470, 595‧‧‧bus
550‧‧‧外部記憶體 550‧‧‧External memory
560‧‧‧第一緩衝器 560‧‧‧First buffer
580‧‧‧第三處理器 580‧‧‧ Third processor
590‧‧‧第二緩衝器 590‧‧‧second buffer
1200‧‧‧平板PC 1200‧‧‧ Tablet PC
1300‧‧‧筆記型電腦 1300‧‧‧Note PC
1400‧‧‧智慧型電話 1400‧‧‧Smartphone
S100、S105、S107、S110、S113、S115、S117、S120、S122、S125、S127、S130、S200、S205、S207、S210、S213、S215、S217、S220、S222、S225、S227、S230、S300、S305、S307、S310、S313、S314、S315、S317、S320、S322、S325、S327、S330‧‧‧步驟 S100, S105, S107, S110, S113, S115, S117, S120, S122, S125, S127, S130, S200, S205, S207, S210, S213, S215, S217, S220, S222, S225, S227, S230, S300, S305, S307, S310, S313, S314, S315, S317, S320, S322, S325, S327, S330
t1、t2、t3、t4、t5、t1'、t2'、t3'、t4'、t5'、t6'‧‧‧時間
t 1, t 2, t 3 ,
實例實施例的以上以及其他特徵以及優勢將藉由參看附圖詳細地描述其至少一些實例實施例而變得更顯而易見,其中: The above and other features and advantages of the example embodiments will become more apparent by describing at least some example embodiments thereof in detail with reference to the drawings, in which:
圖1為根據實施例的半導體裝置的方塊圖。 FIG. 1 is a block diagram of a semiconductor device according to an embodiment.
圖2為圖1中繪示的DMA模組的方塊圖。 FIG. 2 is a block diagram of the DMA module shown in FIG. 1.
圖3以及圖4為用於解釋圖1中繪示的半導體裝置的操作的示意圖。 3 and 4 are schematic diagrams for explaining the operation of the semiconductor device shown in FIG. 1.
圖5為根據實施例的半導體系統的方塊圖。 5 is a block diagram of a semiconductor system according to an embodiment.
圖6為圖5中繪示的第二處理器的方塊圖。 6 is a block diagram of the second processor shown in FIG. 5.
圖7為根據另一實施例的半導體系統的方塊圖。 7 is a block diagram of a semiconductor system according to another embodiment.
圖8為圖7中繪示的第二以及第三處理器的方塊圖。 FIG. 8 is a block diagram of the second and third processors shown in FIG. 7.
圖9為說明實施為系統晶片的圖7中繪示的半導體系統的圖。 9 is a diagram illustrating the semiconductor system depicted in FIG. 7 implemented as a system wafer.
圖10至圖12說明半導體系統可應用至的根據至少一些實例實施例的電子系統。 10 to 12 illustrate an electronic system according to at least some example embodiments to which a semiconductor system can be applied.
圖13以及圖14為說明圖1中繪示的半導體裝置的操作方法的圖。 13 and 14 are diagrams illustrating the operation method of the semiconductor device illustrated in FIG. 1.
圖15以及圖16為說明圖5中繪示的半導體系統的操作方法的圖。 15 and 16 are diagrams illustrating the operation method of the semiconductor system illustrated in FIG. 5.
圖17以及圖18為說明圖7中繪示的半導體系統的操作方法的圖。 17 and 18 are diagrams illustrating the operation method of the semiconductor system illustrated in FIG. 7.
藉由參照以下實例實施例的詳細描述以及隨附圖式可較容易地理解發明概念的優勢以及特徵以及其實現方法。然而,發明概念可以許多不同形式體現,且不應被解釋為限於本文所闡述的實施例。相反地,提供實例實施例以使得本揭露內容將透徹且完整,且將把發明概念的概念充分傳達給熟習此項技術者,且發明概念將僅由所附申請專利範圍定義。貫穿本說明書,相似參看數字指相似元件。 The advantages, features, and implementation methods of the inventive concept can be more easily understood by referring to the following detailed description of example embodiments and accompanying drawings. However, the inventive concept can be embodied in many different forms and should not be interpreted as being limited to the embodiments set forth herein. On the contrary, example embodiments are provided so that the content of the present disclosure will be thorough and complete, and will fully convey the concept of the inventive concept to those skilled in the art, and the inventive concept will only be defined by the scope of the attached patent application. Throughout this description, similar reference numbers refer to similar elements.
本文中所使用的術語僅出於描述特定實施例的目的,且 並不意欲限制發明概念。如本文中所使用,單數形式「一」以及「所述」同樣意欲包含複數形式,除非上下文另外清晰地指示。應進一步理解,術語「包括(comprises及/或comprising)」在用於本說明書中時指定所陳述的特徵、整數、步驟、操作、元件及/或組件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組的存在或添加。 The terminology used herein is for the purpose of describing particular embodiments only, and It is not intended to limit the inventive concept. As used herein, the singular forms "a" and "said" are also intended to include the plural forms unless the context clearly indicates otherwise. It should be further understood that the term "comprises and/or comprising" when used in this specification specifies the presence of stated features, integers, steps, operations, elements and/or components, but does not exclude one or more other The presence or addition of features, integers, steps, operations, elements, components, and/or groups thereof.
應理解,當元件或層被稱作在另一元件或層「上」、「連接至」或「耦接至」另一元件或層時,其可直接在另一元件或層上、連接或耦接至其他元件或層,或可存在介入元件或層。相比之下,當元件被稱作「直接」在另一元件或層「上」、「直接連接至」或「直接耦接至」另一元件或層時,不存在介入元件或層。如本文中所使用,術語「及/或」包含相關聯列舉項目中的一或多者中的任一個或所有組合。 It should be understood that when an element or layer is referred to as being “on”, “connected to” or “coupled to” another element or layer, it can be directly on the other element or layer, connected or Coupled to other elements or layers, or intervening elements or layers may be present. In contrast, when an element is referred to as being "directly on," "directly connected to" or "directly coupled to" another element or layer, there are no intervening elements or layers present. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
應理解,雖然術語第一、第二等可在本文中用以描述各種元件、組件、區域、層及/或區段,但此等元件、組件、區域、層及/或區段不應受此等術語限制。此等術語僅用以區分一個元件、組件、區域、層或區段與另一區域、層或區段。因此,在不脫離本發明概念的教示的情況下,下文論述的第一元件、組件、區域、層或區段可被稱為第二元件、組件、區域、層或區段。 It should be understood that although the terms first, second, etc. may be used herein to describe various elements, components, regions, layers and/or sections, such elements, components, regions, layers and/or sections should not be affected by These terms are limited. These terms are only used to distinguish one element, component, region, layer or section from another region, layer or section. Therefore, without departing from the teachings of the inventive concept, the first element, component, region, layer, or section discussed below may be referred to as the second element, component, region, layer, or section.
為了易於描述,諸如「在……下」、「在……下方」、「下部」、「在……上」、「上部」以及類似者的空間相對術語可在本文中用以描述如圖中所說明的一個元件或特徵與另一元件或特徵的關係。應理解,空間相對術語意欲涵蓋在使用或操作中的裝置除圖中所描繪之定向以外的不同定向。舉例而言,若圖中的裝置翻轉,則描 述為在其他元件或特徵「下方」或「下」的元件將定向在其他元件或特徵「上方」。因此,例示性術語「在……下方」可涵蓋在……上方以及在……下方兩個定向。裝置可以其他方式定向(旋轉90度或處於其他定向),且本文中所使用的空間相對描述詞可相應地進行解釋。 For ease of description, spatial relative terms such as "below", "below", "lower", "above", "upper", and the like can be used in this article to describe The relationship between one element or feature and another element or feature described. It should be understood that spatial relative terms are intended to cover different orientations of the device in use or operation than those depicted in the figures. For example, if the device in the figure Elements described as "below" or "beneath" other elements or features would be oriented "above" the other elements or features. Thus, the exemplary term "below" can encompass both orientations above and below. The device can be oriented in other ways (rotated 90 degrees or in other orientations), and the spatial relative descriptors used herein can be interpreted accordingly.
除非另外定義,否則本文中所使用的所有術語(包含技術以及科技術語)具有與由一般熟習發明概念所屬的此項技術者通常所理解相同的意義。將進一步理解,諸如常用詞典中所定義的術語的術語應解釋為在相關技術以及本說明書的情況下具有與其意義一致的意義,且不應以理想化或過度形式化意義進行解釋,除非本文中明確地如此定義。 Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those skilled in the art to which the general inventive concept belongs. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology and this specification, and should not be interpreted in an idealized or excessively formal sense, unless in this context So clearly defined.
下文,將參看圖1至圖4描述根據實例實施例的半導體裝置。 Hereinafter, a semiconductor device according to example embodiments will be described with reference to FIGS. 1 to 4.
圖1為根據至少一個實例實施例的半導體裝置的方塊圖,圖2為圖1中繪示的模組的方塊圖,且圖3以及圖4為用於解釋圖1中繪示的半導體裝置的操作的示意圖。 1 is a block diagram of a semiconductor device according to at least one example embodiment, FIG. 2 is a block diagram of the module illustrated in FIG. 1, and FIGS. 3 and 4 are diagrams for explaining the semiconductor device illustrated in FIG. Schematic diagram of operation.
如本文中所使用,「單元」或「模組」指經組態以由諸如處理器的硬體元件或諸如場可程式化閘陣列(Field Programmable Gate Array;FPGA)或特殊應用積體電路(Application Specific Integrated Circuit;ASIC)的硬體元件執行的軟體元件,其執行預定及/或所要的功能。然而,單元或模組並不始終具有限於軟體或硬體的意義。模組可經建構以儲存在可定址儲存媒體中或以執行一或多個處理器。因此,模組包含(例如)軟體元件、物件導向式軟體元件、類別元件或任務元件、處理序、功能、性質、程序、子 常式、程式碼的段、驅動程式、韌體、微碼、電路、資料、資料庫、資料結構、表、陣列以及參數。由模組提供的元件以及功能可組合成較少數目個元件或模組或可劃分成較大數目個元件或模組。 As used herein, "unit" or "module" refers to a hardware component such as a processor or a field-programmable gate array (FPGA) or an application-specific integrated circuit (FPGA) Application Specific Integrated Circuit (ASIC) hardware components execute software components that perform predetermined and/or desired functions. However, a unit or module does not always have a meaning limited to software or hardware. The module may be constructed to be stored in an addressable storage medium or to execute one or more processors. Therefore, modules include, for example, software components, object-oriented software components, class components or task components, processing sequences, functions, properties, procedures, sub-components Routines, code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and parameters. The components and functions provided by the module can be combined into a smaller number of components or modules or can be divided into a larger number of components or modules.
當模組為硬體時,此現有硬體可包含一或多個中央處理單元(Central Processing Unit;CPU)、數位信號處理器(DSP)、特殊應用積體電路(application-specific-integrated-circuit;ASIC)、場可程式化閘陣列(field programmable gate array;FPGA)電腦或經組態為專用機器以執行模組的功能的類似者。如上所陳述,CPU、DSP、ASIC以及FPGA可通常被稱作處理裝置。 When the module is hardware, the existing hardware may include one or more central processing units (Central Processing Unit; CPU), digital signal processors (DSP), application-specific-integrated-circuit ; ASIC), field programmable gate array (FPGA) computer or similar configured as a dedicated machine to perform the function of the module. As stated above, CPU, DSP, ASIC, and FPGA may be commonly referred to as processing devices.
在模組為處理器執行軟體的情況下,處理器經組態為專用機器以執行儲存在儲存媒體中的軟體,以執行模組的功能。 In the case where the module executes software for the processor, the processor is configured as a dedicated machine to execute the software stored in the storage medium to perform the function of the module.
參看圖1,半導體裝置100可包含DMA模組110以及緩衝器160。
Referring to FIG. 1, the
DMA模組110可直接存取記憶體200。
The
詳言之,DMA模組110可直接建立資料或可自外部裝置接收資料以將其儲存在緩衝器160中,且可將儲存在緩衝器160中的資料傳輸至記憶體200。
In detail, the
此外,DMA模組110可對記憶體200執行讀取操作或寫入操作。
In addition, the
緩衝器160可儲存自DMA模組110接收的資料。此處,當DMA模組110傳送資料時,可不佔據匯流排(未繪示)。因此,緩衝器160可具有足夠大以允許DMA模組110在不使效能惡化的情況下操作的大小。
The
詳言之,緩衝器160可具有比可一次自DMA模組110傳
送至記憶體200的最大資料量大的保留區。
In detail, the
另外,記憶體200可包含(例如)DRAM,但實例實施例不限於此。此外,記憶體200可包含儲存普通資料的資料區以及球形區。記憶體200的各別區可包含多個記憶體區塊。
In addition, the
非揮發性記憶體可為二維(2D)或三維(3D)記憶體陣列。3D記憶體陣列單片地形成於具有安置於矽基板上方的活性區的記憶體胞元的陣列的實體層級以及與彼等記憶體胞元的操作相關聯的電路中,而不管此相關聯的電路在此基板上方抑或在此基板內。術語「單片」意謂陣列的每一層級的層直接沈積在陣列的每一下伏層級的層上。 The non-volatile memory may be a two-dimensional (2D) or three-dimensional (3D) memory array. The 3D memory array is monolithically formed in the physical level of the array of memory cells with active regions disposed above the silicon substrate and the circuits associated with the operation of their memory cells, regardless of the associated The circuit is above or inside this substrate. The term "monolithic" means that the layer of each level of the array is deposited directly on the layer of each underlying level of the array.
3D記憶體陣列包含經垂直定向使得至少一個記憶體胞元位於另一記憶體胞元上的垂直反及(NAND)串。至少一個記憶體胞元可包括電荷捕獲層。 The 3D memory array includes vertical NAND strings that are vertically oriented so that at least one memory cell is located on another memory cell. At least one memory cell may include a charge trapping layer.
在此以引用的方式併入的以下專利文件描述用於三維記憶體陣列的合適組態,其中三維記憶體陣列經組態為多個層級,其中層級之間共用字線及/或位元線:美國專利第7,679,133號;第8,553,466號;第8,654,587號;第8,559,235號;以及美國專利申請公開案第2011/0233648號。 The following patent documents incorporated herein by reference describe suitable configurations for three-dimensional memory arrays, where the three-dimensional memory array is configured into multiple levels, where word lines and/or bit lines are shared between the levels : US Patent No. 7,679,133; 8,553,466; 8,654,587; 8,559,235; and US Patent Application Publication No. 2011/0233648.
記憶體200的再一詳細組態為熟習此項技術者已知,且將不給出其詳細描述。
Yet another detailed configuration of the
參看圖2,DMA模組110可包含設置單元(初始化器)115、建立單元(建立器)120以及傳送單元(傳送器)125。
Referring to FIG. 2, the
設置單元115可設定用於將第一資料寫入至記憶體200的資料傳送參數DP。
The
詳言之,設置單元115可自處理器250接收與資料傳送參數DP有關的資訊(DP.I),且可設定資料傳送參數DP。此處,資料傳送參數DP可包含(例如)待傳送至記憶體200的第一資料的大小、儲存待傳送至記憶體200的第一資料的緩衝器160的位址以及第一資料待傳送至的記憶體200的預定及/或選定位址,但實例實施例不限於此。第一資料為待傳送至記憶體200的資料。
In detail, the
此處,處理器250可包含(例如)中央處理單元(CPU),但實例實施例不限於此。此外,第一資料可包含待儲存在記憶體200的預定及/或選定位址中的經更新資料。
Here, the
設置單元115可自處理器250接收與資料傳送參數有關的資訊(DP.I)以及與快取記憶體失效(亦被稱作排清)有關的資訊(CI.I),且可開始基於接收的與快取記憶體排清有關的資訊(CI.I)設定資料傳送參數DP。亦即,可基於自處理器250接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP,且可基於自處理器250接收的與快取記憶體排清有關的資訊判定設定操作的開始時間。
The
在說明的實例實施例中,將與快取記憶體排清有關的資訊(CI.I)自處理器250提供至設置單元115,但實例實施例不限於此。更詳細言之,說明首先自處理器250提供至設置單元115且接著自設置單元115提供至傳送單元125的與快取記憶體排清有關的資訊,但實例實施例不限於此。亦即,與快取記憶體排清有關的資訊(CI.I)亦可自處理器250直接提供至傳送單元125,而不穿過設置單元115,且一旦快取記憶體300的排清開始,快取記憶體300可在自身中建立與快取記憶體排清有關的資訊(CI.I)且可
將其提供至傳送單元125。然而,為方便起見,在以下描述中,藉由實例假定將與快取記憶體排清有關的資訊(CI.I)自處理器250提供至設置單元115。
In the illustrated example embodiment, information related to cache memory clearing (CI.I) is provided from the
在處理器250將儲存在快取記憶體300中的第二資料排清至記憶體200的預定及/或選定位址的同時執行設置單元115設定資料傳送參數DP。此處,第二資料為不同於為經更新資料的第一資料的現有資料(即,未經更新資料)。此外,除了快取記憶體300的排清外,處理器250亦可對快取記憶體300執行讀取操作或寫入操作。
While the
設置單元115可將設定的資料傳送參數DP提供至建立單元120以及傳送單元125。此外,設置單元115可將與快取記憶體排清有關的資訊(CI.I)提供至傳送單元125,稍後將對此作更詳細地描述。
The
建立單元120可基於設定的資料傳送參數DP建立待傳送至記憶體200的第一資料。
The establishing
詳言之,建立單元120可自設置單元115接收資料傳送參數DP且可基於資料傳送參數DP建立第一資料。此處,表達「建立單元120建立資料」可意謂建立單元120可自外部裝置350接收(讀取)資料或可直接在自身中建立資料。此外,建立單元120可將建立的第一資料儲存(寫入)在緩衝器160中。
In detail, the
此處,外部裝置350可包含(例如)多媒體卡(multi-media card;MMC),但實例實施例不限於此。
Here, the
亦即,建立單元120根據由資料傳送參數DP指出的資料大小建立第一資料,且可將建立的第一資料儲存在由資料傳送參
數DP指出的緩衝器160的位址中。
That is, the
建立單元120可對外部裝置350執行讀取操作或寫入操作。如上所述,建立單元120可自外部裝置350接收(讀取)第一資料以建立第一資料。除了讀取操作外,建立單元120亦可對外部裝置350執行資料寫入操作。
The
傳送單元125可基於資料傳送參數DP將第一資料寫入至記憶體200的預定及/或選定位址。
The
詳言之,傳送單元125可自設置單元115接收資料傳送參數DP或可基於資料傳送參數DP將第一資料傳送至記憶體200的預定及/或選定位址。此處,傳送單元125可將儲存在緩衝器160中的第一資料傳送至記憶體200。
In detail, the
亦即,傳送單元125可讀取儲存在由資料傳送參數DP指出的緩衝器160的位址中的第一資料,且可將第一資料傳送(寫入)至由資料傳送參數DP指出的記憶體200的預定及/或選定位址。
That is, the
在完成快取記憶體300的排清後,傳送單元125可將第一資料傳送至記憶體200的預定及/或選定位址。
After the clearing of the
此外,傳送單元125可在排清快取記憶體300時自設置單元115接收快取記憶體300的接著將停用的與排清有關的資訊(CI.I)(例如,用信號通知快取記憶體300的排清開始的資訊)。此處,可在快取記憶體300的排清開始前、在快取記憶體300的排清開始的同時或在快取記憶體300的排清開始後的所有情況下停用傳送單元125。
In addition, the
在完成快取記憶體300的排清後,傳送單元125可自設
置單元115接收快取記憶體300的接著將啟用的與排清有關的資訊(CI.I)(例如,用信號通知快取記憶體300的排清完成的資訊)。
After the clearing of the
傳送單元125可對記憶體200執行讀取操作或寫入操作。如上所述,傳送單元125可將第一資料傳送(寫入)至記憶體200的預定及/或選定位址。除了寫入操作外,傳送單元125亦可執行自記憶體200的資料讀取操作。
The
參看圖2以及圖3,DMA模組的操作在完成快取記憶體的失效操作(即,排清)後開始。具體言之,圖3說明未應用根據實例實施例的半導體裝置100的情況。
Referring to FIG. 2 and FIG. 3, the operation of the DMA module starts after the failure operation (ie, clearing) of the cache memory is completed. Specifically, FIG. 3 illustrates a case where the
亦即,在處理器排清快取記憶體的快取記憶體失效週期(對應於範圍自t1至t2的時間週期)中,可阻擋DMA模組的操作。若在快取記憶體資料移除週期(t1至t2)期間不阻擋DMA模組的操作,則在快取記憶體排清至的記憶體的位址與DMA模組意欲傳送資料至的記憶體的位址相互相同時的情況下,由快取記憶體排清的資料(即,未經更新資料或現有資料)可覆寫於待由DMA模組傳送的經更新資料之上。 That is, the operation of the DMA module can be blocked during a cache memory failure period (corresponding to a time period ranging from t 1 to t 2 ) in which the processor clears the cache memory. If the operation of the DMA module is not blocked during the cache memory data removal cycle (t 1 to t 2 ), the address of the memory to which the cache memory is flushed and the DMA module intends to transfer data to When the memory addresses are the same as each other, the data (ie, unupdated data or existing data) cleared by the cache memory can be overwritten on the updated data to be transmitted by the DMA module.
因此,在快取記憶體資料移除週期(t1至t2)期間可阻擋DMA功能,且DMA模組的初始設置操作(即,設置單元設定資料傳送參數的操作)可自完成快取記憶體的排清的時間t2開始。 Therefore, the DMA function can be blocked during the cache memory data removal period (t 1 to t 2 ), and the initial setting operation of the DMA module (that is, the operation of the setting unit to set the data transfer parameters) can automatically complete the cache memory The time t 2 for the removal of the body begins.
若在時間t3完成了DMA模組的初始設置操作,則第一資料建立操作(資料建立1)(即,建立單元建立第一資料的操作)可自時間t3開始。 If the initial setting operation of the DMA module is completed at time t 3 , the first data creation operation (data creation 1) (that is, the operation of the creation unit creating the first data) may start from time t 3 .
此外,若在時間t4完成第一資料建立操作(資料建立1),則第二資料建立操作(資料建立2)(即,建立單元建立為經更新 資料的第二資料的操作,第二資料不同於第一資料)以及第一資料傳送操作(資料傳送1)(即,傳送單元將第一資料傳送至記憶體的操作)可同時自時間t4開始。亦即,可以管線化方式執行DMA模組的傳送單元以及建立單元的操作。 In addition, if the first data creation operation (data creation 1) is completed at time t 4 , the second data creation operation (data creation 2) (ie, the creation unit creates the second data of the updated data, the second data Different from the first data) and the first data transmission operation (data transmission 1) (that is, the operation of the transmission unit transmitting the first data to the memory) can start from time t 4 at the same time. That is, the operations of the transmission unit and the establishment unit of the DMA module can be executed in a pipelined manner.
接下來,若第二資料建立操作(資料建立2)以及第一資料傳送操作(資料傳送1)在時間t5完成,則第二資料傳送操作(資料傳送2)(即,傳送單元將第二資料傳送至記憶體的操作)可在時間t5開始。 Next, if the second data creation operation (data creation 2) and the first data transfer operation (data transfer 1) are completed at time t 5 , the second data transfer operation (data transfer 2) (that is, the transfer unit data transmission to the memory operation) may start at time t 5.
此處,第二資料傳送至的記憶體的位址與第一資料傳送至的記憶體的位址可相互不同。 Here, the address of the memory to which the second data is transferred and the address of the memory to which the first data is transferred may be different from each other.
如圖3中所繪示,防止由快取記憶體排清的資料(即,未經更新資料或現有資料)覆寫於經更新資料之上是有可能的,但DMA模組的執行時間可能因快取記憶體的排清時間(快取記憶體失效)而延長,藉此降低了總體效能。 As shown in Figure 3, it is possible to prevent the data (that is, unupdated data or existing data) cleared by the cache memory from being overwritten on the updated data, but the execution time of the DMA module may be The cache memory drain time (cache failure) is extended, thereby reducing overall performance.
同時,參看圖2以及圖4,DMA模組的操作與快取記憶體的失效操作(即,排清)同時開始。具體言之,圖4說明應用半導體裝置100的情況。
At the same time, referring to FIG. 2 and FIG. 4, the operation of the DMA module starts at the same time as the failure operation (ie, clearing) of the cache memory. Specifically, FIG. 4 illustrates a case where the
以下描述將聚焦於圖3與圖4中繪示的情況之間的差異。 The following description will focus on the difference between the situations depicted in FIGS. 3 and 4.
亦即,在對應於範圍自t1至t2的時間週期的處理器排清快取記憶體(快取記憶體失效)的快取記憶體失效週期中,不同於圖3中,DMA模組的操作不受阻擋。 That is, in the cache memory failure cycle in which the processor clears the cache memory (cache memory failure) corresponding to the time period ranging from t 1 to t 2 , unlike the DMA module in FIG. 3 Is not blocked.
詳言之,在快取記憶體的排清在時間t1'開始的同時,停用DMA模組的傳送單元(資料傳送停用)。如上所述,可在快取記憶體的排清開始前、在快取記憶體的排清開始的同時或在快取 記憶體的排清開始後停用DMA模組的傳送單元。然而,為方便起見,將關於在快取記憶體的排清開始的同時停用DMA模組的傳送單元的圖4的情況來進行以下描述。 In detail, while the clearing of the cache memory starts at time t 1 ′, the transfer unit of the DMA module is disabled (data transfer disabled). As described above, the transfer unit of the DMA module may be disabled before the flushing of the cache memory, at the same time as the flushing of the cache memory starts, or after the flushing of the cache memory is started. However, for convenience, the following description will be made regarding the case of FIG. 4 in which the transfer unit of the DMA module is deactivated at the beginning of the flushing of the cache memory.
此處,傳送單元的停用週期可繼續直至時間t4',即,直至完成快取記憶體的排清的時間。此是為了防止由快取記憶體排清的資料(即,未經更新資料或現有資料)覆寫於經更新資料之上的目的。 Here, the deactivation period of the transmission unit may continue until time t 4 ′, that is, until the time when the clearing of the cache memory is completed. This is to prevent data cleared by the cache memory (ie, unupdated data or existing data) from being overwritten on the updated data.
DMA模組的初始設置操作(即,設置單元設定資料傳送參數DP的操作)可在落後快取記憶體的排清開始的時間t1'一點點的時間t2'開始。 DMA module initial setting operation (i.e., operation information setting unit sets the transmission parameter DP) in the emptying time can cache backward starting t 1 'a little time t 2' starts.
亦即,可在排清快取記憶體300的週期期間執行DMA模組110的操作。因此,不同於圖3中,DMA模組的執行時間可因快取記憶體300的排清時間(快取記憶體失效)而延長。
That is, the operation of the
若在時間t3'完成了DMA模組110的初始設置操作,則第一資料建立操作(資料建立1)(即,建立單元建立第一資料的操作)可自時間t3'開始。此處,第一資料建立操作(資料建立1)與快取記憶體300的排清時間可經管線化。
If the initial setting operation of the
詳言之,第一資料建立操作(資料建立1)開始於快取記憶體300的排清時間期間(即,t1'與t4'之間),且可在完成快取記憶體300的排清前、在完成快取記憶體300的排清的同時或在完成快取記憶體300的排清後完成。
In detail, the first data creation operation (data creation 1) starts during the clearing time of the cache memory 300 (ie, between t 1 ′ and t 4 ′), and can be completed after the
此外,若在時間t4'完成快取記憶體的排清,則可在時間t4'後啟用DMA模組的傳送單元(資料傳送啟用)。因此,若在時間t5'完成第一資料建立操作(資料建立1),則第二資料建立操作 (資料建立2)(即,建立單元建立不同於第一資料的第二資料的操作,第一資料為經更新資料)與第一資料傳送操作(資料傳送1)(即,傳送單元將第一資料傳送至記憶體的操作)可同時自時間t5'開始。 Further, if the time t 4 'complete emptying of the cache memory, the time may be at t 4' is enabled after the DMA transfer unit module (data transmission enabled). Therefore, if the first data creation operation (data creation 1) is completed at time t 5 ', the second data creation operation (data creation 2) (that is, the creation unit creates the second data different from the first data, the first A data is the updated data) and the first data transmission operation (data transmission 1) (ie, the operation of the transmission unit transmitting the first data to the memory) can start at time t 5 ′.
亦即,DMA模組110的傳送單元125與建立單元120的操作可以管線化方式執行。
That is, the operations of the
接下來,若在時間t6'完成第二資料建立操作(資料建立2)以及第一資料傳送操作(資料傳送1),則第二資料傳送操作(資料傳送2)(即,傳送單元將第二資料傳送至記憶體的操作)可在時間t6'開始。 Next, if the second data creation operation (data creation 2) and the first data transfer operation (data transfer 1) are completed at time t 6 ', the second data transfer operation (data transfer 2) (that is, the transfer unit 2. The operation of transferring data to the memory) can start at time t 6 '.
在半導體裝置100中,傳送單元125的停用週期繼續直至完成快取記憶體300的排清的時間,藉此防止由快取記憶體排清的資料(亦即,未經更新資料或現有資料)覆寫於經更新資料之上,且因快取記憶體300的排清時間而加快DMA模組110的執行時間,最後改良總體效能。
In the
此外,在至少一些實例實施例中,設置單元115、建立單元120以及傳送單元125是以硬體方式實施,但實例實施例不限於此。亦即,設置單元115、建立單元120以及傳送單元125亦可實施於經組態以執行呈程式碼格式的儲存在DMA模組110中的軟體的處理器中。
In addition, in at least some example embodiments, the
下文,將參看圖5以及圖6描述根據實例實施例的半導體系統。在以下描述中,將不重複描述與先前實例實施例相同的內容。 Hereinafter, a semiconductor system according to example embodiments will be described with reference to FIGS. 5 and 6. In the following description, the same contents as the previous example embodiments will not be repeatedly described.
圖5為根據實例實施例的半導體系統的方塊圖,且圖6 為圖5中繪示的第二處理器的方塊圖。 5 is a block diagram of a semiconductor system according to an example embodiment, and FIG. 6 It is a block diagram of the second processor shown in FIG. 5.
參看圖5,半導體系統400可包含第一處理器410、快取記憶體420、第二處理器430以及匯流排470。
Referring to FIG. 5, the
第一處理器410可將儲存在快取記憶體420中的資料(例如,現有資料,即,未經更新資料)排清至記憶體200的預定及/或選定位址。
The
詳言之,除了快取記憶體420的排清外,第一處理器410亦可對快取記憶體420執行讀取操作或寫入操作。此外,第一處理器410可將與資料傳送參數DP有關的資訊以及與快取記憶體420的失效或排清有關的資訊提供至第二處理器430。
In detail, in addition to the clearing of the
此處,第一處理器410可包含(例如)中央處理單元(CPU),且記憶體200可包含(例如)DRAM,但實例實施例不限於此。
Here, the
快取記憶體420可由第一處理器410排清。
The
詳言之,快取記憶體420可由第一處理器410排清至記憶體200的預定及/或選定位址。此外,快取記憶體420可經由匯流排470連接至記憶體200。
In detail, the
第二處理器430可建立與儲存在快取記憶體420中的資料不同的資料(經更新資料),且可將建立的資料傳送至記憶體200的預定及/或選定位址。
The
此處,第二處理器430可直接在自身中建立資料或可自外部裝置350接收資料。
Here, the
匯流排470可將第一處理器410、第二處理器430與快取記憶體420相互連接,且可將半導體系統400與記憶體200相互
連接。
The
詳言之,第一處理器410將與資料傳送參數DP有關的資訊以及與快取記憶體420的失效或排清有關的資訊提供至第二處理器430、快取記憶體420經排清至記憶體200的預定及/或選定位址以及第二處理器430將資料傳送至記憶體200的預定及/或選定位址可皆經由匯流排470來執行。
In detail, the
另外,在圖5中說明包含第一處理器410、快取記憶體420、第二處理器430以及匯流排470的半導體系統400,但實例實施例不限於此。亦即,半導體系統400亦可包含記憶體200以及外部裝置350。
In addition, the
參看圖6,第二處理器430可包含DMA模組440以及緩衝器450。此處,第二處理器430可為圖2中繪示的半導體裝置100。
Referring to FIG. 6, the
因此,DMA模組440可直接經由匯流排470存取記憶體200。
Therefore, the
詳言之DMA模組440可設定用於將資料傳送至記憶體200的資料傳送參數DP且可基於資料傳送參數DP建立待傳送至記憶體200的資料以接著將其儲存在緩衝器450中。此外,DMA模組440可將儲存在緩衝器450中的資料傳送至記憶體200的預定及/或選定位址。此處,DMA模組440可直接在自身中建立待傳送至記憶體200的資料或可自外部裝置350接收資料。
In detail, the
此外,DMA模組440可包含設置單元442、建立單元445以及傳送單元447,其與以上所描述相同,且將不給出詳細描述。
In addition, the
另外,在說明的實例實施例中,將與快取記憶體排清有關
的資訊(CI.I)自第一處理器410提供至第二處理器430(例如,第二處理器430的設置單元442),但實例實施例不限於此。更詳細言之,說明首先自第一處理器410提供至設置單元442且接著自設置單元442提供至傳送單元447的與快取記憶體排清有關的資訊(CI.I),但實例實施例不限於此。亦即,亦可經由匯流排470將與快取記憶體排清有關的資訊(CI.I)自第一處理器410直接提供至傳送單元447,而不穿過設置單元442,且一旦快取記憶體420的排清開始,則快取記憶體420可在自身中建立與快取記憶體排清有關的資訊(CI.I)且可經由匯流排470將其提供至傳送單元447。
In addition, in the illustrated example embodiment, it will be related to the cache memory
(CI.I) is provided from the
下文,將參看圖7以及圖8描述根據另一實例實施例的半導體系統。在以下描述中,將不重複描述與先前實施例相同的內容。 Hereinafter, a semiconductor system according to another example embodiment will be described with reference to FIGS. 7 and 8. In the following description, the same content as the previous embodiment will not be repeatedly described.
圖7為根據另一實例的半導體系統的方塊圖,且圖8為圖7中繪示的第二以及第三處理器的方塊圖。 7 is a block diagram of a semiconductor system according to another example, and FIG. 8 is a block diagram of the second and third processors shown in FIG. 7.
參看圖7,半導體系統500可包含第一處理器510、快取記憶體520、第二處理器530、第三處理器580以及匯流排595。
Referring to FIG. 7, the
第一處理器510可將儲存在快取記憶體520中的資料(例如,現有資料,即,未經更新資料)排清至記憶體200的預定及/或選定位址。
The
詳言之,除了快取記憶體520的排清外,第一處理器510亦可對快取記憶體520執行讀取操作或寫入操作。此外,第一處理器510可將與資料傳送參數DP有關的資訊以及與快取記憶體520的失效或排清有關的資訊提供至第二處理器530。
In detail, in addition to the clearing of the
此處,第一處理器510可包含(例如)中央處理單元(CPU),且記憶體200可包含(例如)DRAM,但實例實施例不限於此。
Here, the
快取記憶體520可由第一處理器510排清。
The
詳言之,快取記憶體520可由第一處理器510排清至記憶體200的預定及/或選定位址。此外,快取記憶體520可經由匯流排595連接至記憶體200。
In detail, the
第二處理器530可將與儲存在快取記憶體520中的資料不同的資料(經更新資料)傳送至記憶體200的預定及/或選定位址。
The
此處,第二處理器530可接收(即,讀取)儲存在第三處理器580中的資料,且可將接收的資料傳送至記憶體200。
Here, the
第三處理器580可自外部裝置350接收待傳送至記憶體200的資料,且可儲存接收的資料。
The
匯流排595可將第一處理器510、第二處理器530、第三處理器580與快取記憶體520相互連接,且可將半導體系統500與記憶體200相互連接。
The
詳言之,第一處理器510將與資料傳送參數DP有關的資訊以及與快取記憶體520的失效或排清有關的資訊提供至第二處理器530、第二處理器530將資料傳送參數DP提供至第三處理器580、第二處理器530接收儲存在第三處理器580中的資料、快取記憶體520經排清至記憶體200的預定及/或選定位址以及第二處理器530將資料傳送至記憶體200的預定及/或選定位址可皆經由匯流排595來執行。
In detail, the
參看圖8,第二處理器530可包含DMA模組540以及第一緩衝器560。
Referring to FIG. 8, the
詳言之,DMA模組540可包含設置單元542、建立單元545以及傳送單元547。
In detail, the
設置單元542可設定用於將第一資料寫入至記憶體200的資料傳送參數DP。
The
詳言之,設置單元542可經由匯流排595自第一處理器510接收與資料傳送參數DP有關的資訊,且可設定資料傳送參數DP。此處,資料傳送參數DP可包含(例如)待傳送至記憶體200的第一資料的大小、儲存待傳送至記憶體200的第一資料的第一緩衝器560的位址、儲存待傳送至記憶體200的第一資料的第二緩衝器590的位址以及第一資料待傳送至的記憶體200的預定及/或選定位址,但實例實施例不限於此。此外,第一資料可包含待傳送至記憶體200的經更新資料。
In detail, the
設置單元542可自處理器250接收與資料傳送參數有關的資訊(DP.I)以及與快取記憶體失效(亦被稱作排清)有關的資訊(CI.I),且可開始基於接收的與快取記憶體排清有關的資訊(CI.I)設定資料傳送參數DP。亦即,可基於自第一處理器510接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP,且可基於自第一處理器510接收的與快取記憶體排清有關的資訊判定設定操作的開始時間。
The
在說明的實例實施例中,將與快取記憶體排清有關的資訊(CI.I)自第一處理器510提供至第二處理器530(例如,第二處理器530的設置單元542),但實例實施例不限於此。更詳細言
之,首先自第一處理器510提供至設置單元542且接著自設置單元542提供至傳送單元547的與快取記憶體排清有關的資訊(CI.I),但實例實施例不限於此。亦即,與快取記憶體排清有關的資訊(CI.I)亦可經由匯流排595自第一處理器510直接提供至傳送單元547,而不穿過設置單元542,且一旦快取記憶體520的排清開始,則快取記憶體520可在自身中建立與快取記憶體排清有關的資訊(CI.I)且可經由匯流排595將其提供至傳送單元547。然而,為方便起見,在以下描述中,藉由實例假定將與快取記憶體排清有關的資訊(CI.I)自第一處理器510提供至設置單元542。
In the illustrated example embodiment, information related to cache memory clearing (CI.I) is provided from the
可在第一處理器510將儲存在快取記憶體520中的第二資料排清至記憶體200的預定及/或選定位址同時執行設置單元542設定資料傳送參數DP。此處,第二資料可為現有資料(即,未經更新資料),其不同於為經更新資料的第一資料。
The
設置單元542可將設定的資料傳送參數DP提供至建立單元545以及傳送單元547。此外,設置單元542可將與快取記憶體排清有關的資訊(CI.I)提供至傳送單元547。
The
建立單元545可基於設定的資料傳送參數DP建立待傳送至記憶體200的第一資料。
The establishing
詳言之,建立單元545可自設置單元542接收資料傳送參數DP或可基於資料傳送參數DP接收儲存在第三處理器580的第二緩衝器590中的第一資料。此外,可在排清快取記憶體520同時執行建立單元545接收第一資料。
In detail, the
此處,建立單元545可經由匯流排595自第三處理器580的第二緩衝器590接收資料,或可直接在自身中建立資料。
Here, the
此外,建立單元545可將第一資料儲存在由資料傳送參數DP指出的第一緩衝器560的位址中。
In addition, the establishing
傳送單元547可基於資料傳送參數DP將第一資料寫入至記憶體200的預定及/或選定位址。
The
詳言之,傳送單元547可自設置單元542接收資料傳送參數DP或可基於資料傳送參數DP將第一資料傳送至記憶體200的預定及/或選定位址。此處,傳送單元547可將儲存在第一緩衝器560中的第一資料傳送至記憶體200。
In detail, the
亦即,傳送單元547可讀取儲存在由資料傳送參數DP指出的第一緩衝器560的位址中的第一資料,且可將第一資料傳送(寫入)至由資料傳送參數DP指出的記憶體200的預定及/或選定位址。
That is, the
可在完成快取記憶體520的排清後執行傳送單元547將第一資料傳送至記憶體200的預定及/或選定位址。
After the clearing of the
此外,傳送單元547可在排清快取記憶體520時自設置單元542接收快取記憶體520的接著將停用的與排清有關的資訊(CI.I)(例如,用信號通知快取記憶體520的排清開始的資訊)。此處,可在快取記憶體520的排清開始前、在快取記憶體520的排清開始的同時或在快取記憶體520的排清開始後的所有情況下停用傳送單元547。
In addition, the
在完成快取記憶體520的排清後,傳送單元547可自設置單元542接收快取記憶體520的接著將啟用的與排清有關的資訊(CI.I)(例如,用信號通知快取記憶體520的排清完成的資訊)。
After the clearing of the
傳送單元547可對記憶體200執行讀取操作或寫入操作。
如上所述,傳送單元547可將第一資料傳送(寫入)至記憶體200的預定及/或選定位址。除了寫入操作外,傳送單元547亦可執行自記憶體200的資料讀取操作。
The
第三處理器580可包含第二緩衝器590。
The
詳言之,第三處理器580可建立第一資料且可將建立的第一資料儲存在第二緩衝器590中。亦即,第三處理器580可自設置單元542接收資料傳送參數DP且可基於接收的資料傳送參數DP自外部裝置350接收第一資料或可在自身中建立第一資料。
In detail, the
亦即,在圖8中繪示的半導體系統500中,不同於在圖6中繪示的半導體系統400,分開來提供自外部裝置350接收資料的處理器(即,第三處理器580)與將自外部裝置350接收的資料傳送至記憶體200的處理器(即,第二處理器530)。
That is, in the
此外,圖6以及圖8中繪示的半導體系統400以及500可與記憶體200一起整合至系統內。在實例實施例中,半導體系統400或500與記憶體200可整合至系統內以構成記憶卡。半導體系統400或500與記憶體200可整合至系統內,且其實例可包含PC卡,諸如,個人電腦記憶卡國際協會(personal computer memory card international association;PCMCIA)卡、小型快閃記憶體(compact flash;CF)卡、智慧型媒體卡(例如,SM或SMC)、記憶棒、多媒體卡(例如,MMC、RS-MMC或MMCmicro)、SD卡(例如,SD、miniSD以及SDHC)或通用快閃記憶體儲存器(universal flash storage;UFS)。
In addition, the
半導體系統400或500與記憶體200可整合至系統內以構成固態磁碟機或固態碟(solid state drive或solid state disk;
SSD)。
The
圖9為說明實施為系統晶片的圖7中繪示的半導體系統的圖。 9 is a diagram illustrating the semiconductor system depicted in FIG. 7 implemented as a system wafer.
參看圖9,根據另一實例實施例的半導體系統500可包含第一處理器510、快取記憶體520、第二處理器530以及第三處理器580,其可實施為系統晶片(system on chip;SoC)且可經由併入至SoC內的內部匯流排(例如,遵守AMBA進階式可擴展介面(AXI)協定的匯流排)相互連接。此外,在至少一些實例實施例中,SoC可實施為安裝於行動終端機上的應用程式處理器(application processor;AP)。在至少一些實例實施例中,SoC可更包含記憶體200以及外部記憶體550。
Referring to FIG. 9, a
圖5中繪示的半導體系統400以及圖7中繪示的半導體系統500亦可實施為系統晶片(SoC),且將不給出其詳細描述。
The
此外,可藉由各種類型的封裝來安裝根據至少一些實例實施例的半導體系統400以及500。例如,可藉由諸如(但不限於)以下各者的各種類型的封裝來安裝半導體系統400以及500:層疊封裝(package on package;PoP)、球柵陣列(ball grid array;BGA)、晶片級封裝(chip scale package;CSP)、帶引線塑膠晶片載體(plastic leaded chip carrier;PLCC)、塑膠雙列直插式封裝(plastic dual in-line package;PDIP)、窩伏爾組件中晶粒、晶圓中晶粒形式、板上晶片(chip on board;COB)、陶瓷雙列直插封裝(ceramic dual in-linepackage;CERDIP)、塑膠度量方形扁平封裝(metric quad flat pack;MQFP)、薄型方形扁平封裝(thin quad flat pack;TQFP)、小輪廓(small outline;SOIC)、收縮型小輪廓封
裝(shrink small outline package;SSOP)、薄型小輪廓(thin small outline;TSOP)、系統級封裝(system in package;SIP)、多晶片封裝(multi chip package;MCP)、晶圓級製造封裝(wafer-level fabricated package;WFP)、晶圓級處理堆疊封裝(wafer-level processed stack package;WSP)以及安裝式。
In addition, the
圖10至圖12說明半導體系統可應用至的根據至少一些實例實施例的電子系統。 10 to 12 illustrate an electronic system according to at least some example embodiments to which a semiconductor system can be applied.
具體言之,圖10說明平板PC 1200,圖11說明筆記型電腦1300,且圖12說明智慧型電話1400。半導體系統400以及500中的至少其中之一可供平板PC 1200、筆記型電腦1300以及智慧型電話1400使用。
Specifically, FIG. 10 illustrates a
此外,對熟習此項技術者顯然地,半導體系統400以及500中的至少其中之一可為本文中未說明的其他積體電路。亦即,在上述實例實施例中,作為電子系統中的至少其中之一,僅舉例說明平板PC 1200、筆記型電腦1300以及智慧型電話1400,但實例實施例不限於此。在至少一些實例實施例中,電子系統可實施為電腦、超行動個人電腦(ultra mobile personal computer;UMPC)、工作站、上網本、個人數位助理(personal digital assistants;PDA)、攜帶型電腦、網路平板電腦(web tablet)、無線電話、行動電話、智慧型手機、電子書、攜帶型多媒體播放器(portable multimedia player;PMP)、攜帶型遊戲控制台、導航裝置、黑箱、數位攝影機、3維電視、數位音訊記錄器、數位音訊播放器、數位視訊記錄器、數位視訊播放器等等。
In addition, it is obvious to those skilled in the art that at least one of the
下文,將參看圖13以及圖14描述圖1中繪示的半導體 裝置的操作方法。在以下描述中,將不重複地描述與圖1中繪示的實例實施例相同的內容。 Hereinafter, the semiconductor illustrated in FIG. 1 will be described with reference to FIGS. 13 and 14 Method of operation of the device. In the following description, the same contents as the example embodiment illustrated in FIG. 1 will not be repeatedly described.
圖13以及圖14為說明圖1中繪示的半導體裝置的操作方法的圖。 13 and 14 are diagrams illustrating the operation method of the semiconductor device illustrated in FIG. 1.
參看圖2、圖13以及圖14,首先,提供與資料傳送參數有關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)(S100)。 Referring to FIGS. 2, 13 and 14, first, information related to data transfer parameters (DP.I) and information related to cache memory clearing (CI.I) are provided (S100).
詳言之,設置單元115可自處理器250接收與資料傳送參數有關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)。
In detail, the
將排清開始信號提供至快取記憶體300(S105)。 The clear start signal is provided to the cache memory 300 (S105).
詳言之,處理器250可將失效(即,排清)開始信號提供至快取記憶體300。
In detail, the
停用DMA模組110的資料傳送操作(S107)。
The data transfer operation of the
詳言之,設置單元115可將與快取記憶體排清有關的資訊(CI.I)提供至傳送單元125。此外,傳送單元125可接收接著將停用的與快取記憶體排清有關的資訊(CI.I)(例如,用信號通知快取記憶體300的排清開始的資訊)。
In detail, the
快取記憶體300的排清開始(S110)。
The clearing of the
詳言之,儲存在快取記憶體300中的第二資料(現有資料,即,未經更新資料)可經排清至記憶體200的預定及/或選定位址。
In detail, the second data (existing data, that is, unupdated data) stored in the
在說明的實例實施例中,依序執行S100、S105、S107以及S110,但實例實施例不限於此。亦即,在處理器250將排清開始信號提供至快取記憶體300(S105)後,可將與資料傳送參數有
關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)提供至設置單元115(S100)。
In the illustrated example embodiment, S100, S105, S107, and S110 are sequentially performed, but the example embodiment is not limited thereto. That is, after the
因此,在快取記憶體300的排清開始前、在快取記憶體300的排清開始的同時或在快取記憶體300的排清開始後的所有情況下,可停用傳送單元125(S107)。
Therefore, in all cases before the clearing of the
在快取記憶體300的排清開始後,設置單元115可基於自處理器250接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP。此外,設置單元115可設定資料傳送參數DP且可將其提供至建立單元120(S113)。
After the clearing of the
接著,建立資料(S115)。 Next, the data is created (S115).
詳言之,建立單元120可基於接收的資料傳送參數DP建立第一資料(即,待傳送至記憶體200的預定及/或選定位址的經更新資料)。建立單元120可直接在自身中建立第一資料或可自外部裝置350接收第一資料。
In detail, the establishing
將資料儲存在緩衝器160中(S117)。 The data is stored in the buffer 160 (S117).
詳言之,建立單元120可將第一資料儲存在由資料傳送參數DP指出的緩衝器160的位址中。
In detail, the establishing
若快取記憶體300的排清完成(S120),則處理器250可將與快取記憶體排清有關的資訊(CI.I)(例如,用信號通知快取記憶體300的排清完成的資訊)提供至設置單元115。然而,若快取記憶體300的排清未完成,則可維持傳送單元125的停用狀態(即,維持DMA模組110的資料傳送停用狀態)(S122)。
If the clearing of the
啟用DMA模組110的資料傳送操作(S125)。
The data transfer operation of the
詳言之,若自處理器250接收到用信號通知快取記憶體
300的排清完成的資訊,則設置單元115可將接收的資訊提供至傳送單元125。
In detail, if the
傳送單元125可接收接著將啟用的用信號通知快取記憶體300的排清完成的資訊。
The
讀取儲存在緩衝器160中的資料(S127)。
The data stored in the
詳言之,傳送單元125可基於資料傳送參數DP讀取儲存在緩衝器160中的第一資料。
In detail, the
將資料傳送至記憶體200(S130)。 Send the data to the memory 200 (S130).
詳言之,傳送單元125可基於資料傳送參數DP將第一資料傳送至記憶體200的預定及/或選定位址。
In detail, the
下文,將參看圖15以及圖16描述圖5中繪示的半導體系統的操作方法。在以下描述中,將不重複地描述與圖5中繪示的實例實施例相同的內容。 Hereinafter, the operation method of the semiconductor system illustrated in FIG. 5 will be described with reference to FIGS. 15 and 16. In the following description, the same content as the example embodiment illustrated in FIG. 5 will not be described repeatedly.
圖15以及圖16為說明圖5中繪示的半導體系統的操作方法的圖。 15 and 16 are diagrams illustrating the operation method of the semiconductor system illustrated in FIG. 5.
參看圖6、圖15以及圖16,首先,提供與資料傳送參數有關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)(S200)。 Referring to FIG. 6, FIG. 15 and FIG. 16, first, information related to data transfer parameters (DP.I) and information related to cache memory clearing (CI.I) are provided (S200).
詳言之,第二處理器430的DMA模組440的設置單元442可自第一處理器410接收與資料傳送參數有關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)。
In detail, the
將排清開始信號提供至快取記憶體420(S205)。 The clear start signal is provided to the cache memory 420 (S205).
詳言之,第一處理器410可將失效(即,排清)開始信號提供至快取記憶體420。
In detail, the
停用DMA模組440的資料傳送操作(S207)。
The data transfer operation of the
詳言之,設置單元442可將與快取記憶體排清有關的資訊(CI.I)提供至傳送單元447。此外,傳送單元447可接收接著將停用的與快取記憶體排清有關的資訊(CI.I)(例如,用信號通知快取記憶體420的排清開始的資訊)。
In detail, the
快取記憶體420的排清開始(S210)。
The clearing of the
詳言之,儲存在快取記憶體420中的第二資料(現有資料,即,未經更新資料)可經排清至記憶體200的預定及/或選定位址。
In detail, the second data (existing data, that is, unupdated data) stored in the
在說明的實例實施例中,依序執行S200、S205、S207以及S210,但實例實施例不限於此。亦即,在第一處理器410將排清開始信號提供至快取記憶體420(S205)後,可將與資料傳送參數有關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)提供至設置單元442(S200)。
In the illustrated example embodiment, S200, S205, S207, and S210 are sequentially executed, but the example embodiment is not limited thereto. That is, after the
因此,可在快取記憶體420的排清開始(S210)前、在快取記憶體420的排清開始(S210)同時或在快取記憶體420的排清開始(S210)後停用傳送單元447(S207)。 Therefore, the transmission can be disabled before the start of the clearing of the cache memory 420 (S210), at the same time or after the start of the clearing of the cache memory 420 (S210) Unit 447 (S207).
在快取記憶體420的排清開始後,設置單元442可基於自第一處理器410接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP。此外,設置單元442可設定資料傳送參數DP且可將其提供至建立單元445(S213)。
After the clearing of the
接著,建立資料(S215)。 Next, the data is created (S215).
詳言之,建立單元445可基於接收的資料傳送參數DP建立第一資料(即,待傳送至記憶體200的預定及/或選定位址的經
更新資料)。建立單元445可直接在自身中建立第一資料或可自外部裝置350接收第一資料。
In detail, the establishing
將資料儲存在緩衝器450中(S217)。 The data is stored in the buffer 450 (S217).
詳言之,建立單元445可將第一資料儲存在由資料傳送參數DP指出的緩衝器450的位址中。
In detail, the establishing
若快取記憶體420的排清完成(S220),則第一處理器410可將與快取記憶體排清有關的資訊(CI.I)(例如,用信號通知快取記憶體420的排清完成的資訊)提供至設置單元442。然而,若快取記憶體420的排清未完成,則可維持傳送單元447的停用狀態(即,維持DMA模組440的資料傳送停用狀態)(S222)。
If the clearing of the
啟用DMA模組440的資料傳送操作(S225)。
The data transfer operation of the
詳言之,若自第一處理器410接收到用信號通知快取記憶體420的排清完成的資訊,則設置單元442可將接收的資訊提供至傳送單元447。
In detail, if the
傳送單元447可接收接著將啟用的用信號通知快取記憶體420的排清完成的資訊。
The
讀取儲存在緩衝器450中的資料(S227)。
The data stored in the
詳言之,傳送單元447可基於資料傳送參數DP讀取儲存在緩衝器450中的第一資料。
In detail, the
將資料傳送至記憶體200(S230)。 Send the data to the memory 200 (S230).
詳言之,傳送單元447可基於資料傳送參數DP將第一資料傳送至記憶體200的預定及/或選定位址。
In detail, the
下文,將參看圖17以及圖18描述圖7中繪示的半導體系統的操作方法。在以下描述中,將不重複地描述與先前實例實施 例相同的內容。 Hereinafter, the operation method of the semiconductor system illustrated in FIG. 7 will be described with reference to FIGS. 17 and 18. In the following description, implementation with previous examples will not be described repeatedly Examples of the same content.
圖17以及圖18為說明圖7中展示的半導體系統的操作方法的圖。 17 and 18 are diagrams illustrating the operation method of the semiconductor system shown in FIG. 7.
參看圖7、圖17以及圖18,首先,提供與資料傳送參數有關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)(S300)。 Referring to FIG. 7, FIG. 17 and FIG. 18, first, information related to data transfer parameters (DP.I) and information related to cache memory clearing (CI.I) are provided (S300).
詳言之,第二處理器530的DMA模組540的設置單元542可自第一處理器510接收與資料傳送參數有關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)。
In detail, the
將排清開始信號提供至快取記憶體520(S305)。 The clear start signal is provided to the cache memory 520 (S305).
詳言之,第一處理器510可將失效(即,排清)開始信號提供至快取記憶體520。
In detail, the
停用DMA模組540的資料傳送操作(S307)。
The data transfer operation of the
詳言之,設置單元542可將與快取記憶體排清有關的資訊(CI.I)提供至傳送單元547。此外,傳送單元547可接收接著將停用的與快取記憶體排清有關的資訊(CI.I)(例如,用信號通知快取記憶體520的排清開始的資訊)。
In detail, the
快取記憶體520的排清開始(S310)。
The clearing of the
詳言之,儲存在快取記憶體520中的第二資料(現有資料,即,未經更新資料)可經排清至記憶體200的預定及/或選定位址。
In detail, the second data (existing data, that is, unupdated data) stored in the
在說明的實例實施例中,依序執行S300、S305、S307以及S310,但實例實施例不限於此。亦即,在第一處理器510將排清開始信號提供至快取記憶體520(S305)後,可將與資料傳送參
數有關的資訊(DP.I)以及與快取記憶體排清有關的資訊(CI.I)提供至設置單元542(S300)。
In the illustrated example embodiment, S300, S305, S307, and S310 are sequentially performed, but the example embodiment is not limited thereto. That is, after the
因此,可在快取記憶體520的排清開始(S310)前、在快取記憶體520的排清開始(S310)同時或在快取記憶體520的排清開始(S310)後停用傳送單元547(S307)。 Therefore, the transmission can be disabled before the start of the clearing of the cache memory 520 (S310), at the same time or after the start of the clearing of the cache memory 520 (S310) Unit 547 (S307).
在快取記憶體520的排清開始後,設置單元542可基於自第一處理器510接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP。雖未繪示,但第三處理器580可自設置單元542接收資料傳送參數,且可基於接收的資料傳送參數自外部裝置350接收第一資料,或可直接建立第一資料(S313)。
After the clearing of the
設置單元542可設定資料傳送參數DP,且可將其提供至建立單元545(S314)。
The
在圖18中,可在建立單元545自設置單元542接收資料傳送參數DP(S314)前執行第三處理器580自設置單元542接收資料傳送參數以及建立第一資料(S313),但實例實施例不限於此。
In FIG. 18, the
亦即,可在第三處理器580自設置單元542接收資料傳送參數DP前、在第三處理器580自設置單元542接收資料傳送參數DP同時或在第三處理器580自設置單元542接收資料傳送參數DP後執行建立單元545自設置單元542接收資料傳送參數DP。
That is, before the
自第二緩衝器590讀取資料(S315)。 The data is read from the second buffer 590 (S315).
詳言之,建立單元545可基於接收的資料傳送參數DP自第二緩衝器590讀取第一資料(即,待傳送至記憶體200的預定及/或選定位址的經更新資料)。建立單元545可直接在自身中建立第一資料。然而,為方便起見,在以下描述中,藉由實例假定建
立單元545接收儲存在第二緩衝器590中的第一資料。
In detail, the establishing
將資料儲存在第一緩衝器560中(S317)。 The data is stored in the first buffer 560 (S317).
詳言之,建立單元545可將第一資料儲存在由資料傳送參數DP指出的第一緩衝器560的位址中。
In detail, the establishing
若快取記憶體520的排清完成(S320),則第一處理器510可將與快取記憶體排清有關的資訊(CI.I)(例如,用信號通知快取記憶體520的排清完成的資訊)提供至設置單元542。然而,若快取記憶體520的排清未完成,則可維持傳送單元547的停用狀態(即,維持DMA模組540的資料傳送停用狀態)(S322)。
If the clearing of the
啟用DMA模組540的資料傳送操作(S325)。
The data transfer operation of the
詳言之,若自第一處理器510接收到用信號通知快取記憶體520的排清完成的資訊,則設置單元542可將接收的資訊提供至傳送單元547。
In detail, if the
傳送單元547可接收接著將啟用的用信號通知快取記憶體520的排清完成的資訊。
The
讀取儲存在第一緩衝器560中的資料(S327)。
The data stored in the
詳言之,傳送單元547可基於資料傳送參數DP讀取儲存在第一緩衝器560中的第一資料。
In detail, the
將資料傳送至記憶體200(S330)。 Send the data to the memory 200 (S330).
詳言之,傳送單元547可基於資料傳送參數DP將第一資料傳送至記憶體200的預定及/或選定位址。
In detail, the
雖然已特定地繪示以及描述至少一些實例實施例,但一般熟習此項技術者將理解,可在不脫離如由以下申請專利範圍界定的實例實施例的精神與範疇的情況下在其中進行形式與細節的 各種改變。因此需要實例實施例在所有態樣中皆被視為說明性且非限制性的,對所附申請專利範圍而非前述描述進行參考以指示實例實施例的範疇。 Although at least some example embodiments have been specifically illustrated and described, those of ordinary skill in the art will understand that forms can be made therein without departing from the spirit and scope of the example embodiments as defined by the scope of the following patent applications With details Various changes. Therefore, it is required that the example embodiments are regarded as illustrative and non-limiting in all aspects, and reference is made to the scope of the attached patent application rather than the foregoing description to indicate the scope of the example embodiments.
100‧‧‧半導體裝置 100‧‧‧Semiconductor device
110‧‧‧DMA模組 110‧‧‧DMA module
160‧‧‧緩衝器 160‧‧‧Buffer
200‧‧‧記憶體 200‧‧‧Memory
Claims (20)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462043595P | 2014-08-29 | 2014-08-29 | |
US62/043,595 | 2014-08-29 | ||
KR1020140143553A KR102261591B1 (en) | 2014-08-29 | 2014-10-22 | Semiconductor device, semiconductor system and system on chip |
KR10-2014-0143553 | 2014-10-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201608373A TW201608373A (en) | 2016-03-01 |
TWI682280B true TWI682280B (en) | 2020-01-11 |
Family
ID=55536943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104127599A TWI682280B (en) | 2014-08-29 | 2015-08-25 | Semiconductor device, semiconductor system and system on chip |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6641120B2 (en) |
KR (1) | KR102261591B1 (en) |
TW (1) | TWI682280B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868818B2 (en) | 2016-09-22 | 2024-01-09 | Advanced Micro Devices, Inc. | Lock address contention predictor |
KR102526499B1 (en) * | 2020-09-28 | 2023-05-02 | 고려대학교 산학협력단 | FPGA based cache invalidation method and apparatus performing the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004258935A (en) * | 2003-02-26 | 2004-09-16 | Matsushita Electric Ind Co Ltd | Semiconductor device |
US20080005465A1 (en) * | 2006-06-30 | 2008-01-03 | Matthews Jeanna N | Write ordering on disk cached platforms |
TWI312966B (en) * | 2005-10-31 | 2009-08-01 | Sigmatel Inc | Direct memory access module, integrated circuit, and method of processing a memory request |
TW201234263A (en) * | 2010-12-12 | 2012-08-16 | Russell Hamilton Fish Iii | CPU in memory cache architecture |
-
2014
- 2014-10-22 KR KR1020140143553A patent/KR102261591B1/en active IP Right Grant
-
2015
- 2015-08-19 JP JP2015162240A patent/JP6641120B2/en active Active
- 2015-08-25 TW TW104127599A patent/TWI682280B/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004258935A (en) * | 2003-02-26 | 2004-09-16 | Matsushita Electric Ind Co Ltd | Semiconductor device |
TWI312966B (en) * | 2005-10-31 | 2009-08-01 | Sigmatel Inc | Direct memory access module, integrated circuit, and method of processing a memory request |
US20080005465A1 (en) * | 2006-06-30 | 2008-01-03 | Matthews Jeanna N | Write ordering on disk cached platforms |
TW201234263A (en) * | 2010-12-12 | 2012-08-16 | Russell Hamilton Fish Iii | CPU in memory cache architecture |
Also Published As
Publication number | Publication date |
---|---|
KR20160026599A (en) | 2016-03-09 |
TW201608373A (en) | 2016-03-01 |
KR102261591B1 (en) | 2021-06-04 |
JP6641120B2 (en) | 2020-02-05 |
JP2016051471A (en) | 2016-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389274B (en) | Semiconductor device, semiconductor system and system on chip | |
CN107967221B (en) | Computing system with non-volatile memory and method of operating the same | |
CN106294194B (en) | Data storage device and data processing system having the same | |
US20160070493A1 (en) | Data storage device and method of operating the same | |
KR102147993B1 (en) | Nonvolatile memory system and operating method thereof | |
US10176029B2 (en) | Operation method of storage device, operation method of host device, and operation method of user system including storage device and host device | |
US20200081848A1 (en) | Storage device and system | |
TW201626232A (en) | Apparatus and method for reducing latency between host and a storage device | |
US10409718B2 (en) | Memory system and operating method thereof | |
US10691602B2 (en) | Adaptive granularity for reducing cache coherence overhead | |
US9632953B2 (en) | Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers | |
US20190171392A1 (en) | Method of operating storage device capable of reducing write latency | |
US10303366B2 (en) | Data storage device that divides and processes a command and data processing system including the same | |
US9690720B2 (en) | Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device | |
TW201737150A (en) | Time varying address space layout randomization | |
US20150346795A1 (en) | Multi-host power controller (mhpc) of a flash-memory-based storage device | |
TWI682280B (en) | Semiconductor device, semiconductor system and system on chip | |
US20190095117A1 (en) | Storage device | |
KR20170030906A (en) | Method of operating data storage device and method of operating data processing system including same | |
TWI454928B (en) | Method and system to improve a solid state drive performance by using a programmable bus arbiter and storage medium thereof | |
US10466938B2 (en) | Non-volatile memory system using a plurality of mapping units and operating method thereof | |
US10657274B2 (en) | Semiconductor device including memory protector | |
US20170344311A1 (en) | Method of operating a memory device | |
US20160291897A1 (en) | Data storage device and devices having the same | |
US20230169022A1 (en) | Operating method of an electronic device |