TW201608373A - 半導體裝置、半導體系統以及系統晶片 - Google Patents
半導體裝置、半導體系統以及系統晶片 Download PDFInfo
- Publication number
- TW201608373A TW201608373A TW104127599A TW104127599A TW201608373A TW 201608373 A TW201608373 A TW 201608373A TW 104127599 A TW104127599 A TW 104127599A TW 104127599 A TW104127599 A TW 104127599A TW 201608373 A TW201608373 A TW 201608373A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- clearing
- cache memory
- processor
- Prior art date
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
Abstract
至少一個實例實施例揭露一種半導體裝置,其包含經組態以直接存取記憶體以將第一資料寫入至記憶體的位址的直接記憶體存取(DMA)系統,其中DMA系統包含:初始化器,經組態以在由處理器進行的第二資料自快取記憶體至位址的排清週期期間設定資料傳送參數,所述資料傳送參數用於將第一資料寫入至記憶體;建立器,經組態以基於所設定的資料傳送參數建立第一資料;以及傳送器,經組態以基於資料傳送參數在排清週期後將第一資料寫入至記憶體的位址。
Description
至少一些實例實施例是關於一種半導體裝置、一種半導體系統以及一種系統晶片。
然而,當待使用具有內建式DMA的周邊裝置處理單元將經更新資料傳送至系統記憶體的特定位址時,自系統記憶體的特定位址接收且儲存在快取記憶體中的現有資料並不有效,以致首先使快取記憶體失效(例如,排清)以開始DMA功能。
至少一些實例實施例亦提供一種半導體系統,其可藉由在使快取記憶體失效(即,排清)的同時執行DMA功能來改良總體效能。
至少一些實例實施例亦提供一種系統晶片,其可藉由在使快取記憶體失效(即,排清)的同時執行DMA功能來改良總體效能。
實例實施例的此等以及其他目標將在至少一些實例實施例的以下描述中描述或將自至少一些實例實施例的以下描述顯而易見。
根據至少一個實例實施例,提供一種半導體裝置,其包括經組態以直接存取記憶體以將第一資料寫入至記憶體的位址的直接記憶體存取(DMA)系統,其中DMA系統包含:初始化器,經組態以在由處理器進行的第二資料自快取記憶體至位址的排清週期期間設定資料傳送參數,所述資料傳送參數用於將第一資料寫入至記憶體;建立器,經組態以基於所設定的資料傳送參數建立第一資料;以及傳送器,經組態以基於資料傳送參數在排清週期後將第一資料寫入至記憶體的位址。
第一資料不同於第二資料。
建立器經組態以自外部裝置接收第一資料或直接建立第一資料。
建立器經組態以對外部裝置執行讀取操作以及寫入操作中的至少其中之一。
半導體裝置更包括經組態以儲存第一資料的緩衝器。
建立器經組態以將第一資料儲存在緩衝器中。
傳送器經組態以將儲存在緩衝器中的第一資料傳送至記憶體。
資料傳送參數包含第一資料的大小、儲存第一資料的緩衝器的位址以及記憶體的位址。
初始化器經組態以自處理器接收與資料傳送參數有關的資訊以及與快取記憶體的排清有關的資訊。
傳送器經組態以自初始化器接收與快取記憶體的排清有關的資訊,且傳送器在排清週期期間停用。
傳送器經組態以在排清週期後操作。
傳送器經組態以自處理器接收與快取記憶體的排清有關的資訊。
傳送器經組態以自快取記憶體接收與快取記憶體的排清有關的資訊。
處理器包含中央處理單元(central processing unit;CPU)。
記憶體包含動態隨機存取記憶體(DRAM)。
建立器經組態以在初始化器設定資料傳送參數後建立第一資料。
建立器經組態以在排清週期期間建立第一資料。
傳送器經組態以在建立器建立第一資料後將第一資料傳送至記憶體的位址。
建立器經組態以對記憶體執行讀取操作以及寫入操作中的至少其中之一。
半導體裝置更包括經組態以儲存第一資料的緩衝器,其中第一資料包含第三資料以及第四資料。
記憶體的位址包含第一位址以及第二位址,傳送器經組態以執行將第三資料傳送至第一位址的第一傳送以及在第一傳送後將第四資料傳送至第二位址的第二傳送,且傳送器在建立器建立第四資料的同時執行第一傳送。
建立器經組態以在排清週期期間建立第三資料,且在排清週期後建立第四資料。
根據至少一個實例實施例,提供一種半導體裝置,其包含經組態以直接存取記憶體的直接記憶體存取(DMA)系統,以及經組態以儲存待傳送至記憶體的第一資料以及第二資料的緩衝器,其中DMA系統包含:初始化器,經組態以在第三資料自快取記憶體至記憶體的第一位址的排清週期期間設定資料傳送參數,所述資料傳送參數用於將第一資料以及第二資料傳送至記憶體;建立器,經組態以依序執行第一建立以及第二建立,建立器經組態以藉由基於資料傳送參數建立第一資料以及在排清週期期間將第一資料儲存在緩衝器中來執行第一建立,且所述建立器經組態以藉由建立第二資料以及將第二資料儲存在緩衝器中來執行第二建立;以及傳送器,經組態以依序執行第一傳送以及第二傳送,傳送器經組態以執行第一傳送使得基於資料傳送參數在排清週期後且在第二建立期間將儲存在緩衝器中的第一資料傳送至記憶體的第一位址,且傳送器經組態以執行第二傳送使得將儲存在緩衝器中的第二資料傳送至記憶體的第二位址。
建立器經組態以在初始化器完成資料傳送參數的設定後執行第一建立。
傳送器經組態以在完成第二建立後執行第二傳送。
根據至少一個實例實施例,提供一種半導體系統,其包含:快取記憶體,經由匯流排連接至記憶體;第一處理器,經組態以在排清週期期間將儲存在快取記憶體中的第一資料排清至記憶體的位址;以及第二處理器,經組態以建立不同於第一資料的第二資料且將第二資料傳送至記憶體的位址,其中第二處理器包含經組態以儲存第二資料的緩衝器以及直接記憶體存取(DMA)系統,所述DMA系統經組態以在排清週期期間設定用於將第二資料傳送至記憶體的資料傳送參數以及在排清週期後基於資料傳送參數將儲存在緩衝器中的第二資料傳送至記憶體的位址。
第一處理器經組態以對快取記憶體執行讀取操作以及寫入操作中的至少其中之一。
DMA系統包括:初始化器,經組態以設定用於將第二資料傳送至記憶體的資料傳送參數;建立器,經組態以基於資料傳送參數建立待傳送至記憶體的第二資料;以及傳送器,經組態以基於資料傳送參數將第二資料傳送至記憶體的位址。
初始化器經組態以自處理器接收與資料傳送參數有關的資訊以及與快取記憶體的排清有關的資訊。
第一與第二處理器經由匯流排相互連接。
根據至少一個實例實施例,提供一種半導體系統,其包含:快取記憶體,經由匯流排連接至記憶體;第一處理器,經組態以在排清週期期間將儲存在快取記憶體中的第一資料排清至記憶體的位址;以及第二處理器,經組態以建立不同於第一資料的第二資料且經由匯流排將第二資料傳送至記憶體的位址,其中第二處理器包含經組態以儲存第二資料的緩衝器以及直接記憶體存取(DMA)系統,所述DMA系統經組態以將儲存在緩衝器中的第二資料傳送至記憶體的位址,且其中DMA系統包含:初始化器,經組態以在排清週期期間設定用於將第二資料傳送至記憶體的資料傳送參數以及自第一處理器接收與資料傳送參數有關的資訊以及與快取記憶體的排清有關的資訊;建立器,經組態以基於資料傳送參數建立待傳送至記憶體的第二資料且將第二資料儲存在緩衝器中;以及傳送器,經組態以基於資料傳送參數在排清週期後鈄儲存在緩衝器中的第二資料傳送至記憶體的位址。
根據至少一個實例實施例,提供一種半導體系統,其包含:快取記憶體,經由匯流排連接至記憶體;第一處理器,經組態以在排清週期期間將儲存在快取記憶體中的第一資料排清至記憶體的位址;第二處理器,包含經組態以儲存不同於第一資料的第二資料的第一緩衝器;以及第三處理器,包含經組態以直接存取記憶體的直接記憶體存取(DMA)系統,其中第二處理器經組態以建立第二資料且將第二資料儲存在第一緩衝器中,且DMA系統包含:初始化器,經組態以在排清週期期間設定用於將第二資料傳送至記憶體的資料傳送參數;建立器,經組態以基於資料傳送參數接收儲存在第一緩衝器中的第二資料;以及傳送器,經組態以基於資料傳送參數在排清週期後將第二資料傳送至記憶體的位址。
初始化器經組態以自第一處理器接收與資料傳送參數有關的資訊以及與快取記憶體的排清有關的資訊。
第三處理器更包括經組態以儲存接收的第二資料的第二緩衝器。
建立器經組態以將自第一緩衝器接收的第二資料儲存在第二緩衝器中。
傳送器經組態以將儲存在第二緩衝器中的第二資料傳送至記憶體的位址。
建立器經組態以在資料傳送參數的設定後接收第二資料。
第二處理器經組態以建立第二資料且在排清週期期間將第二資料儲存在第一緩衝器中。
建立器單元經組態以在排清週期期間接收第二資料。
傳送器經組態以在建立器接收第二資料後將第二資料傳送至位址。
第一至第三處理器經由匯流排相互連接。
第三處理器經組態以自初始化器接收資料傳送參數,且基於資料傳送參數建立第二資料。
根據至少一個實例實施例,提供一種系統晶片,所述系統晶片包括:記憶體;快取記憶體,連接至記憶體;第一處理器,經組態以在排清週期期間將儲存在快取記憶體中的第一資料排清至記憶體的位址;第二處理器,包含經組態以儲存不同於第一資料的第二資料的第一緩衝器;以及第三處理器,包含經組態以直接存取記憶體的直接記憶體存取(DMA)系統,其中記憶體與第一至第三處理器經由遵守AMBA進階式可擴展介面(AMBA advanced eXtensible interface;AXI)協定的匯流排相互連接,第二處理器經組態以建立第二資料且將第二資料儲存在第一緩衝器中,且DMA系統包含:初始化器,經組態以設定用於在排清週期將第二資料傳送至記憶體的資料傳送參數;建立器,經組態以基於資料傳送參數接收儲存在第一緩衝器中的第二資料;以及傳送器,經組態以基於資料傳送參數在排清週期後將第二資料傳送至記憶體的位址。
至少一個實例實施例揭露一種記憶體系統,所述記憶體系統包含:記憶體;處理器,經組態以在排清週期期間將快取記憶體中的第一資料排清至記憶體的位址;直接記憶體存取系統,所述直接記憶體存取系統包含經組態以在排清週期期間操作且建立第二資料的初始化器,以及經組態以在排清週期外將第二資料傳送至記憶體的位址的傳送器。
在實例實施例中,初始化器經組態以在排清週期期間產生資料傳送參數,且傳送器經組態以基於資料傳送參數傳送第二資料。
在實例實施例中,傳送器經組態以在排清週期後將第二資料傳送至位址。
在實例實施例中,記憶體系統經組態以在排清週期前停用傳送器。
在實例實施例中,記憶體系統經組態以當排清週期結束時啟用傳送器。
在實例實施例中,記憶體包括三維記憶體陣列。
在實例實施例中,三維記憶體包括單片地形成於具有安置於矽基板上方的活性區的記憶體胞元的一或多個實體層級中的非揮發性記憶體。
在實例實施例中,三維記憶體陣列包括多個記憶體胞元,記憶體胞元中的每一個包含電荷捕獲層。
在實例實施例中,在層級之間共用三維記憶體陣列中的字線以及位元線中的至少其中之一。
本文中所使用的術語僅出於描述特定實施例的目的,且並不意欲限制發明概念。如本文中所使用,單數形式「一」以及「所述」同樣意欲包含複數形式,除非上下文另外清晰地指示。應進一步理解,術語「包括(comprises及/或comprising)」在用於本說明書中時指定所陳述的特徵、整數、步驟、操作、元件及/或組件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組的存在或添加。
應理解,當元件或層被稱作在另一元件或層「上」、「連接至」或「耦接至」另一元件或層時,其可直接在另一元件或層上、連接或耦接至其他元件或層,或可存在介入元件或層。相比之下,當元件被稱作「直接」在另一元件或層「上」、「直接連接至」或「直接耦接至」另一元件或層時,不存在介入元件或層。如本文中所使用,術語「及/或」包含相關聯列舉項目中的一或多者中的任一個或所有組合。
應理解,雖然術語第一、第二等可在本文中用以描述各種元件、組件、區域、層及/或區段,但此等元件、組件、區域、層及/或區段不應受此等術語限制。此等術語僅用以區分一個元件、組件、區域、層或區段與另一區域、層或區段。因此,在不脫離本發明概念的教示的情況下,下文論述的第一元件、組件、區域、層或區段可被稱為第二元件、組件、區域、層或區段。
為了易於描述,諸如「在……下」、「在……下方」、「下部」、「在……上」、「上部」以及類似者的空間相對術語可在本文中用以描述如圖中所說明的一個元件或特徵與另一元件或特徵的關係。應理解,空間相對術語意欲涵蓋在使用或操作中的裝置除圖中所描繪之定向以外的不同定向。舉例而言,若圖中的裝置翻轉,則描述為在其他元件或特徵「下方」或「下」的元件將定向在其他元件或特徵「上方」。因此,例示性術語「在……下方」可涵蓋在……上方以及在……下方兩個定向。裝置可以其他方式定向(旋轉90度或處於其他定向),且本文中所使用的空間相對描述詞可相應地進行解釋。
除非另外定義,否則本文中所使用的所有術語(包含技術以及科技術語)具有與由一般熟習發明概念所屬的此項技術者通常所理解相同的意義。將進一步理解,諸如常用詞典中所定義的術語的術語應解釋為在相關技術以及本說明書的情況下具有與其意義一致的意義,且不應以理想化或過度形式化意義進行解釋,除非本文中明確地如此定義。
下文,將參看圖1至圖4描述根據實例實施例的半導體裝置。
圖1為根據至少一個實例實施例的半導體裝置的方塊圖,圖2為圖1中繪示的模組的方塊圖,且圖3以及圖4為用於解釋圖1中繪示的半導體裝置的操作的示意圖。
如本文中所使用,「單元」或「模組」指經組態以由諸如處理器的硬體元件或諸如場可程式化閘陣列(Field Programmable Gate Array;FPGA)或特殊應用積體電路(Application Specific Integrated Circuit;ASIC)的硬體元件執行的軟體元件,其執行預定及/或所要的功能。然而,單元或模組並不始終具有限於軟體或硬體的意義。模組可經建構以儲存在可定址儲存媒體中或以執行一或多個處理器。因此,模組包含(例如)軟體元件、物件導向式軟體元件、類別元件或任務元件、處理序、功能、性質、程序、子常式、程式碼的段、驅動程式、韌體、微碼、電路、資料、資料庫、資料結構、表、陣列以及參數。由模組提供的元件以及功能可組合成較少數目個元件或模組或可劃分成較大數目個元件或模組。
當模組為硬體時,此現有硬體可包含一或多個中央處理單元(Central Processing Unit;CPU)、數位信號處理器(DSP)、特殊應用積體電路(application-specific-integrated-circuit;ASIC)、場可程式化閘陣列(field programmable gate array;FPGA)電腦或經組態為專用機器以執行模組的功能的類似者。如上所陳述,CPU、DSP、ASIC以及FPGA可通常被稱作處理裝置。
在模組為處理器執行軟體的情況下,處理器經組態為專用機器以執行儲存在儲存媒體中的軟體,以執行模組的功能。
參看圖1,半導體裝置100可包含DMA模組110以及緩衝器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記憶體陣列單片地形成於具有安置於矽基板上方的活性區的記憶體胞元的陣列的實體層級以及與彼等記憶體胞元的操作相關聯的電路中,而不管此相關聯的電路在此基板上方抑或在此基板內。術語「單片」意謂陣列的每一層級的層直接沈積在陣列的每一下伏層級的層上。
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的第一資料的大小、儲存待傳送至記憶體200的第一資料的緩衝器160的位址以及第一資料待傳送至的記憶體200的預定及/或選定位址,但實例實施例不限於此。第一資料為待傳送至記憶體200的資料。
此處,處理器250可包含(例如)中央處理單元(CPU),但實例實施例不限於此。此外,第一資料可包含待儲存在記憶體200的預定及/或選定位址中的經更新資料。
設置單元115可自處理器250接收與資料傳送參數有關的資訊(DP.I)以及與快取記憶體失效(亦被稱作排清)有關的資訊(CI.I),且可開始基於接收的與快取記憶體排清有關的資訊(CI.I)設定資料傳送參數DP。亦即,可基於自處理器250接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP,且可基於自處理器250接收的與快取記憶體排清有關的資訊判定設定操作的開始時間。
在說明的實例實施例中,將與快取記憶體排清有關的資訊(CI.I)自處理器250提供至設置單元115,但實例實施例不限於此。更詳細言之,說明首先自處理器250提供至設置單元115且接著自設置單元115提供至傳送單元125的與快取記憶體排清有關的資訊,但實例實施例不限於此。亦即,與快取記憶體排清有關的資訊(CI.I)亦可自處理器250直接提供至傳送單元125,而不穿過設置單元115,且一旦快取記憶體300的排清開始,快取記憶體300可在自身中建立與快取記憶體排清有關的資訊(CI.I)且可將其提供至傳送單元125。然而,為方便起見,在以下描述中,藉由實例假定將與快取記憶體排清有關的資訊(CI.I)自處理器250提供至設置單元115。
在處理器250將儲存在快取記憶體300中的第二資料排清至記憶體200的預定及/或選定位址的同時執行設置單元115設定資料傳送參數DP。此處,第二資料為不同於為經更新資料的第一資料的現有資料(即,未經更新資料)。此外,除了快取記憶體300的排清外,處理器250亦可對快取記憶體300執行讀取操作或寫入操作。
設置單元115可將設定的資料傳送參數DP提供至建立單元120以及傳送單元125。此外,設置單元115可將與快取記憶體排清有關的資訊(CI.I)提供至傳送單元125,稍後將對此作更詳細地描述。
建立單元120可基於設定的資料傳送參數DP建立待傳送至記憶體200的第一資料。
詳言之,建立單元120可自設置單元115接收資料傳送參數DP且可基於資料傳送參數DP建立第一資料。此處,表達「建立單元120建立資料」可意謂建立單元120可自外部裝置350接收(讀取)資料或可直接在自身中建立資料。此外,建立單元120可將建立的第一資料儲存(寫入)在緩衝器160中。
此處,外部裝置350可包含(例如)多媒體卡(multi-media card;MMC),但實例實施例不限於此。
亦即,建立單元120根據由資料傳送參數DP指出的資料大小建立第一資料,且可將建立的第一資料儲存在由資料傳送參數DP指出的緩衝器160的位址中。
建立單元120可對外部裝置350執行讀取操作或寫入操作。如上所述,建立單元120可自外部裝置350接收(讀取)第一資料以建立第一資料。除了讀取操作外,建立單元120亦可對外部裝置350執行資料寫入操作。
傳送單元125可基於資料傳送參數DP將第一資料寫入至記憶體200的預定及/或選定位址。
詳言之,傳送單元125可自設置單元115接收資料傳送參數DP或可基於資料傳送參數DP將第一資料傳送至記憶體200的預定及/或選定位址。此處,傳送單元125可將儲存在緩衝器160中的第一資料傳送至記憶體200。
亦即,傳送單元125可讀取儲存在由資料傳送參數DP指出的緩衝器160的位址中的第一資料,且可將第一資料傳送(寫入)至由資料傳送參數DP指出的記憶體200的預定及/或選定位址。
在完成快取記憶體300的排清後,傳送單元125可將第一資料傳送至記憶體200的預定及/或選定位址。
此外,傳送單元125可在排清快取記憶體300時自設置單元115接收快取記憶體300的接著將停用的與排清有關的資訊(CI.I)(例如,用信號通知快取記憶體300的排清開始的資訊)。此處,可在快取記憶體300的排清開始前、在快取記憶體300的排清開始的同時或在快取記憶體300的排清開始後的所有情況下停用傳送單元125。
在完成快取記憶體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功能,且DMA模組的初始設置操作(即,設置單元設定資料傳送參數的操作)可自完成快取記憶體的排清的時間t2
開始。
若在時間t3
完成了DMA模組的初始設置操作,則第一資料建立操作(資料建立1)(即,建立單元建立第一資料的操作)可自時間t3
開始。
此外,若在時間t4
完成第一資料建立操作(資料建立1),則第二資料建立操作(資料建立2)(即,建立單元建立為經更新資料的第二資料的操作,第二資料不同於第一資料)以及第一資料傳送操作(資料傳送1)(即,傳送單元將第一資料傳送至記憶體的操作)可同時自時間t4
開始。亦即,可以管線化方式執行DMA模組的傳送單元以及建立單元的操作。
接下來,若第二資料建立操作(資料建立2)以及第一資料傳送操作(資料傳送1)在時間t5
完成,則第二資料傳送操作(資料傳送2)(即,傳送單元將第二資料傳送至記憶體的操作)可在時間t5
開始。
此處,第二資料傳送至的記憶體的位址與第一資料傳送至的記憶體的位址可相互不同。
如圖3中所繪示,防止由快取記憶體排清的資料(即,未經更新資料或現有資料)覆寫於經更新資料之上是有可能的,但DMA模組的執行時間可能因快取記憶體的排清時間(快取記憶體失效)而延長,藉此降低了總體效能。
同時,參看圖2以及圖4,DMA模組的操作與快取記憶體的失效操作(即,排清)同時開始。具體言之,圖4說明應用半導體裝置100的情況。
以下描述將聚焦於圖3與圖4中繪示的情況之間的差異。
亦即,在對應於範圍自t1
至t2
的時間週期的處理器排清快取記憶體(快取記憶體失效)的快取記憶體失效週期中,不同於圖3中,DMA模組的操作不受阻擋。
詳言之,在快取記憶體的排清在時間t1
'開始的同時,停用DMA模組的傳送單元(資料傳送停用)。如上所述,可在快取記憶體的排清開始前、在快取記憶體的排清開始的同時或在快取記憶體的排清開始後停用DMA模組的傳送單元。然而,為方便起見,將關於在快取記憶體的排清開始的同時停用DMA模組的傳送單元的圖4的情況來進行以下描述。
此處,傳送單元的停用週期可繼續直至時間t4
',即,直至完成快取記憶體的排清的時間。此是為了防止由快取記憶體排清的資料(即,未經更新資料或現有資料)覆寫於經更新資料之上的目的。
DMA模組的初始設置操作(即,設置單元設定資料傳送參數DP的操作)可在落後快取記憶體的排清開始的時間t1
'一點點的時間t2
'開始。
亦即,可在排清快取記憶體300的週期期間執行DMA模組110的操作。因此,不同於圖3中,DMA模組的執行時間可因快取記憶體300的排清時間(快取記憶體失效)而延長。
若在時間t3
'完成了DMA模組110的初始設置操作,則第一資料建立操作(資料建立1)(即,建立單元建立第一資料的操作)可自時間t3
'開始。此處,第一資料建立操作(資料建立1)與快取記憶體300的排清時間可經管線化。
詳言之,第一資料建立操作(資料建立1)開始於快取記憶體300的排清時間期間(即,t1
'與t4
'之間),且可在完成快取記憶體300的排清前、在完成快取記憶體300的排清的同時或在完成快取記憶體300的排清後完成。
此外,若在時間t4
'完成快取記憶體的排清,則可在時間t4
'後啟用DMA模組的傳送單元(資料傳送啟用)。因此,若在時間t5
'完成第一資料建立操作(資料建立1),則第二資料建立操作(資料建立2)(即,建立單元建立不同於第一資料的第二資料的操作,第一資料為經更新資料)與第一資料傳送操作(資料傳送1)(即,傳送單元將第一資料傳送至記憶體的操作)可同時自時間t5
'開始。
亦即,DMA模組110的傳送單元125與建立單元120的操作可以管線化方式執行。
接下來,若在時間t6
'完成第二資料建立操作(資料建立2)以及第一資料傳送操作(資料傳送1),則第二資料傳送操作(資料傳送2)(即,傳送單元將第二資料傳送至記憶體的操作)可在時間t6
'開始。
在半導體裝置100中,傳送單元125的停用週期繼續直至完成快取記憶體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的預定及/或選定位址。
詳言之,除了快取記憶體420的排清外,第一處理器410亦可對快取記憶體420執行讀取操作或寫入操作。此外,第一處理器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中說明包含第一處理器410、快取記憶體420、第二處理器430以及匯流排470的半導體系統400,但實例實施例不限於此。亦即,半導體系統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),但實例實施例不限於此。更詳細言之,說明首先自第一處理器410提供至設置單元442且接著自設置單元442提供至傳送單元447的與快取記憶體排清有關的資訊(CI.I),但實例實施例不限於此。亦即,亦可經由匯流排470將與快取記憶體排清有關的資訊(CI.I)自第一處理器410直接提供至傳送單元447,而不穿過設置單元442,且一旦快取記憶體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、第二處理器530將資料傳送參數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的第一資料的大小、儲存待傳送至記憶體200的第一資料的第一緩衝器560的位址、儲存待傳送至記憶體200的第一資料的第二緩衝器590的位址以及第一資料待傳送至的記憶體200的預定及/或選定位址,但實例實施例不限於此。此外,第一資料可包含待傳送至記憶體200的經更新資料。
設置單元542可自處理器250接收與資料傳送參數有關的資訊(DP.I)以及與快取記憶體失效(亦被稱作排清)有關的資訊(CI.I),且可開始基於接收的與快取記憶體排清有關的資訊(CI.I)設定資料傳送參數DP。亦即,可基於自第一處理器510接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP,且可基於自第一處理器510接收的與快取記憶體排清有關的資訊判定設定操作的開始時間。
在說明的實例實施例中,將與快取記憶體排清有關的資訊(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。
可在第一處理器510將儲存在快取記憶體520中的第二資料排清至記憶體200的預定及/或選定位址同時執行設置單元542設定資料傳送參數DP。此處,第二資料可為現有資料(即,未經更新資料),其不同於為經更新資料的第一資料。
設置單元542可將設定的資料傳送參數DP提供至建立單元545以及傳送單元547。此外,設置單元542可將與快取記憶體排清有關的資訊(CI.I)提供至傳送單元547。
建立單元545可基於設定的資料傳送參數DP建立待傳送至記憶體200的第一資料。
詳言之,建立單元545可自設置單元542接收資料傳送參數DP或可基於資料傳送參數DP接收儲存在第三處理器580的第二緩衝器590中的第一資料。此外,可在排清快取記憶體520同時執行建立單元545接收第一資料。
此處,建立單元545可經由匯流排595自第三處理器580的第二緩衝器590接收資料,或可直接在自身中建立資料。
此外,建立單元545可將第一資料儲存在由資料傳送參數DP指出的第一緩衝器560的位址中。
傳送單元547可基於資料傳送參數DP將第一資料寫入至記憶體200的預定及/或選定位址。
詳言之,傳送單元547可自設置單元542接收資料傳送參數DP或可基於資料傳送參數DP將第一資料傳送至記憶體200的預定及/或選定位址。此處,傳送單元547可將儲存在第一緩衝器560中的第一資料傳送至記憶體200。
亦即,傳送單元547可讀取儲存在由資料傳送參數DP指出的第一緩衝器560的位址中的第一資料,且可將第一資料傳送(寫入)至由資料傳送參數DP指出的記憶體200的預定及/或選定位址。
可在完成快取記憶體520的排清後執行傳送單元547將第一資料傳送至記憶體200的預定及/或選定位址。
此外,傳送單元547可在排清快取記憶體520時自設置單元542接收快取記憶體520的接著將停用的與排清有關的資訊(CI.I)(例如,用信號通知快取記憶體520的排清開始的資訊)。此處,可在快取記憶體520的排清開始前、在快取記憶體520的排清開始的同時或在快取記憶體520的排清開始後的所有情況下停用傳送單元547。
在完成快取記憶體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可整合至系統內,且其實例可包含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)。
半導體系統400或500與記憶體200可整合至系統內以構成固態磁碟機或固態碟(solid state drive或solid state disk;SSD)。
圖9為說明實施為系統晶片的圖7中繪示的半導體系統的圖。
參看圖9,根據另一實例實施例的半導體系統500可包含第一處理器510、快取記憶體520、第二處理器530以及第三處理器580,其可實施為系統晶片(system on chip;SoC)且可經由併入至SoC內的內部匯流排(例如,遵守AMBA進階式可擴展介面(AXI)協定的匯流排)相互連接。此外,在至少一些實例實施例中,SoC可實施為安裝於行動終端機上的應用程式處理器(application processor;AP)。在至少一些實例實施例中,SoC可更包含記憶體200以及外部記憶體550。
圖5中繪示的半導體系統400以及圖7中繪示的半導體系統500亦可實施為系統晶片(SoC),且將不給出其詳細描述。
此外,可藉由各種類型的封裝來安裝根據至少一些實例實施例的半導體系統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-line package;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)以及安裝式。
圖10至圖12說明半導體系統可應用至的根據至少一些實例實施例的電子系統。
具體言之,圖10說明平板PC 1200,圖11說明筆記型電腦1300,且圖12說明智慧型電話1400。半導體系統400以及500中的至少其中之一可供平板PC 1200、筆記型電腦1300以及智慧型電話1400使用。
此外,對熟習此項技術者顯然地,半導體系統400以及500中的至少其中之一可為本文中未說明的其他積體電路。亦即,在上述實例實施例中,作為電子系統中的至少其中之一,僅舉例說明平板PC 1200、筆記型電腦1300以及智慧型電話1400,但實例實施例不限於此。在至少一些實例實施例中,電子系統可實施為電腦、超行動個人電腦(ultra mobile personal computer;UMPC)、工作站、上網本、個人數位助理(personal digital assistants;PDA)、攜帶型電腦、網路平板電腦(web tablet)、無線電話、行動電話、智慧型手機、電子書、攜帶型多媒體播放器(portable multimedia player;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)。
因此,在快取記憶體300的排清開始前、在快取記憶體300的排清開始的同時或在快取記憶體300的排清開始後的所有情況下,可停用傳送單元125(S107)。
在快取記憶體300的排清開始後,設置單元115可基於自處理器250接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP。此外,設置單元115可設定資料傳送參數DP且可將其提供至建立單元120(S113)。
接著,建立資料(S115)。
詳言之,建立單元120可基於接收的資料傳送參數DP建立第一資料(即,待傳送至記憶體200的預定及/或選定位址的經更新資料)。建立單元120可直接在自身中建立第一資料或可自外部裝置350接收第一資料。
將資料儲存在緩衝器160中(S117)。
詳言之,建立單元120可將第一資料儲存在由資料傳送參數DP指出的緩衝器160的位址中。
若快取記憶體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)。
因此,可在快取記憶體420的排清開始(S210)前、在快取記憶體420的排清開始(S210)同時或在快取記憶體420的排清開始(S210)後停用傳送單元447(S207)。
在快取記憶體420的排清開始後,設置單元442可基於自第一處理器410接收的與資料傳送參數有關的資訊(DP.I)設定資料傳送參數DP。此外,設置單元442可設定資料傳送參數DP且可將其提供至建立單元445(S213)。
接著,建立資料(S215)。
詳言之,建立單元445可基於接收的資料傳送參數DP建立第一資料(即,待傳送至記憶體200的預定及/或選定位址的經更新資料)。建立單元445可直接在自身中建立第一資料或可自外部裝置350接收第一資料。
將資料儲存在緩衝器450中(S217)。
詳言之,建立單元445可將第一資料儲存在由資料傳送參數DP指出的緩衝器450的位址中。
若快取記憶體420的排清完成(S220),則第一處理器410可將與快取記憶體排清有關的資訊(CI.I)(例如,用信號通知快取記憶體420的排清完成的資訊)提供至設置單元442。然而,若快取記憶體420的排清未完成,則可維持傳送單元447的停用狀態(即,維持DMA模組440的資料傳送停用狀態)(S222)。
啟用DMA模組440的資料傳送操作(S225)。
詳言之,若自第一處理器410接收到用信號通知快取記憶體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)。
因此,可在快取記憶體520的排清開始(S310)前、在快取記憶體520的排清開始(S310)同時或在快取記憶體520的排清開始(S310)後停用傳送單元547(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可將第一資料儲存在由資料傳送參數DP指出的第一緩衝器560的位址中。
若快取記憶體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的預定及/或選定位址。
雖然已特定地繪示以及描述至少一些實例實施例,但一般熟習此項技術者將理解,可在不脫離如由以下申請專利範圍界定的實例實施例的精神與範疇的情況下在其中進行形式與細節的各種改變。因此需要實例實施例在所有態樣中皆被視為說明性且非限制性的,對所附申請專利範圍而非前述描述進行參考以指示實例實施例的範疇。
100‧‧‧半導體裝置
110、440、540‧‧‧DMA模組
115、442、542‧‧‧設置單元
120、445、545‧‧‧建立單元
125、447、547‧‧‧傳送單元
160、450‧‧‧緩衝器
200‧‧‧記憶體
250‧‧‧處理器
300、420、520‧‧‧快取記憶體
350‧‧‧外部裝置
400、500‧‧‧半導體系統
410、510‧‧‧第一處理器
430、530‧‧‧第二處理器
470、595‧‧‧匯流排
550‧‧‧外部記憶體
560‧‧‧第一緩衝器
580‧‧‧第三處理器
590‧‧‧第二緩衝器
1200‧‧‧平板PC
1300‧‧‧筆記型電腦
1400‧‧‧智慧型電話
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'‧‧‧時間
100‧‧‧半導體裝置
110‧‧‧DMA模組
160‧‧‧緩衝器
200‧‧‧記憶體
Claims (20)
- 一種半導體裝置,包括: 直接記憶體存取(DMA)系統,經組態以直接存取記憶體以將第一資料寫入至所述記憶體的位址,所述直接記憶體存取系統包含, 初始化器,經組態以在由處理器進行的第二資料自快取記憶體至所述位址的排清週期期間設定資料傳送參數,所述資料傳送參數用於將所述第一資料寫入至所述記憶體; 建立器,經組態以基於所設定的所述資料傳送參數建立所述第一資料;以及 傳送器,經組態以基於所述資料傳送參數在所述排清週期後將所述第一資料寫入至所述記憶體的所述位址。
- 如申請專利範圍第1項所述的半導體裝置,其中所述第一資料不同於所述第二資料。
- 如申請專利範圍第1項所述的半導體裝置,其中所述建立器經組態以進行以下操作中的其中之一:自外部裝置接收所述第一資料以及直接建立所述第一資料。
- 如申請專利範圍第3項所述的半導體裝置,其中所述建立器經組態以對所述外部裝置執行讀取操作以及寫入操作中的至少其中之一。
- 如申請專利範圍第1項所述的半導體裝置,更包括: 緩衝器,經組態以儲存所述第一資料。
- 如申請專利範圍第5項所述的半導體裝置,其中所述建立器經組態以將所述第一資料儲存在所述緩衝器中。
- 如申請專利範圍第6項所述的半導體裝置,其中所述傳送器經組態以將儲存在所述緩衝器中的所述第一資料傳送至所述記憶體。
- 如申請專利範圍第5項所述的半導體裝置,其中所述資料傳送參數包含所述第一資料的大小、儲存所述第一資料的所述緩衝器的位址以及所述記憶體的所述位址。
- 如申請專利範圍第1項所述的半導體裝置,其中所述初始化器經組態以自所述處理器接收與所述資料傳送參數有關的資訊以及與所述快取記憶體的排清有關的資訊。
- 如申請專利範圍第9項所述的半導體裝置,其中所述傳送器經組態以自所述初始化器接收與所述快取記憶體的所述排清有關的所述資訊,且所述傳送器在所述排清週期期間停用。
- 如申請專利範圍第10項所述的半導體裝置,其中所述傳送器經組態以在所述排清週期後操作。
- 如申請專利範圍第1項所述的半導體裝置,其中所述傳送器經組態以自所述處理器接收與所述快取記憶體的排清有關的資訊。
- 如申請專利範圍第1項所述的半導體裝置,其中所述傳送器經組態以自所述快取記憶體接收與所述快取記憶體的排清有關的資訊。
- 如申請專利範圍第1項所述的半導體裝置,其中所述建立器經組態以在所述初始化器設定所述資料傳送參數後建立所述第一資料。
- 如申請專利範圍第14項所述的半導體裝置,其中所述建立器經組態以在所述排清週期期間建立所述第一資料。
- 如申請專利範圍第15項所述的半導體裝置,其中所述傳送器經組態以在所述建立器建立所述第一資料後將所述第一資料傳送至所述記憶體的所述位址。
- 如申請專利範圍第1項所述的半導體裝置,其中所述建立器經組態以對所述記憶體執行讀取操作以及寫入操作中的至少其中之一。
- 如申請專利範圍第1項所述的半導體裝置,更包括: 緩衝器,經組態以儲存所述第一資料,其中所述第一資料包含第三資料以及第四資料。
- 如申請專利範圍第18項所述的半導體裝置,其中所述記憶體的所述位址包含第一位址以及第二位址,所述傳送器經組態以執行將所述第三資料傳送至所述第一位址的第一傳送以及在所述第一傳送後將所述第四資料傳送至所述第二位址的第二傳送,且所述傳送器在所述建立器建立所述第四資料時執行所述第一傳送。
- 如申請專利範圍第18項所述的半導體裝置,其中所述建立器經組態以在所述排清週期期間建立所述第三資料且在所述排清週期後建立所述第四資料。
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 |
---|---|
TW201608373A true TW201608373A (zh) | 2016-03-01 |
TWI682280B TWI682280B (zh) | 2020-01-11 |
Family
ID=55536943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104127599A TWI682280B (zh) | 2014-08-29 | 2015-08-25 | 半導體裝置、半導體系統以及系統晶片 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6641120B2 (zh) |
KR (1) | KR102261591B1 (zh) |
TW (1) | TWI682280B (zh) |
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 (ko) * | 2020-09-28 | 2023-05-02 | 고려대학교 산학협력단 | Fpga 기반 캐시 무효화 방법 및 이를 수행하는 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004258935A (ja) * | 2003-02-26 | 2004-09-16 | Matsushita Electric Ind Co Ltd | 半導体装置 |
US7376762B2 (en) * | 2005-10-31 | 2008-05-20 | Sigmatel, Inc. | Systems and methods for direct memory access |
US7970989B2 (en) * | 2006-06-30 | 2011-06-28 | Intel Corporation | Write ordering on disk cached platforms |
US20120151232A1 (en) * | 2010-12-12 | 2012-06-14 | Fish Iii Russell Hamilton | CPU in Memory Cache Architecture |
-
2014
- 2014-10-22 KR KR1020140143553A patent/KR102261591B1/ko active IP Right Grant
-
2015
- 2015-08-19 JP JP2015162240A patent/JP6641120B2/ja active Active
- 2015-08-25 TW TW104127599A patent/TWI682280B/zh active
Also Published As
Publication number | Publication date |
---|---|
KR102261591B1 (ko) | 2021-06-04 |
JP2016051471A (ja) | 2016-04-11 |
TWI682280B (zh) | 2020-01-11 |
KR20160026599A (ko) | 2016-03-09 |
JP6641120B2 (ja) | 2020-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389274B (zh) | 半导体装置、半导体系统和片上系统 | |
CN106294194B (zh) | 数据存储装置和具有该数据存储装置的数据处理系统 | |
US20160070493A1 (en) | Data storage device and method of operating the same | |
KR102147993B1 (ko) | 불휘발성 메모리 시스템 및 그것의 동작 방법 | |
US20160117102A1 (en) | Method for operating data storage device, mobile computing device having the same, and method of the mobile computing device | |
CN107967221A (zh) | 具有非易失性存储器的计算系统及其操作方法 | |
US10409718B2 (en) | Memory system and operating method thereof | |
US20160358657A1 (en) | Nonvolatile memory device and program method thereof | |
US20170168930A1 (en) | Method for operating storage controller and method for operating storage device including the same | |
US9881680B2 (en) | Multi-host power controller (MHPC) of a flash-memory-based storage device | |
JP2011192239A (ja) | 記憶装置および記憶システム | |
KR20140020442A (ko) | 메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 시스템 | |
US9632953B2 (en) | Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers | |
US20180089116A1 (en) | Electronic device providing bypass path to indirectly connected storage device among serially connected storage devices, storage device included therein, computing system including the same, and method of communicating therewith | |
KR20120124285A (ko) | 배드 블록 관리를 위한 방법 및 메모리 시스템 | |
TWI682280B (zh) | 半導體裝置、半導體系統以及系統晶片 | |
US20190095117A1 (en) | Storage device | |
JP6321650B2 (ja) | メモリセルの分散されたサブブロックにアクセスすることを伴う装置および方法 | |
TWI454928B (zh) | 使用可程式匯流排仲裁器改良固態驅動器效能的方法與系統及其儲存媒體 | |
US20220113909A1 (en) | Operating method of host device and storage device using credit | |
US9971549B2 (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 | |
KR20160123706A (ko) | 불휘발성 메모리 장치들을 제어할 수 있는 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 | |
US9311257B2 (en) | Semiconductor memory device, memory system and method of operating the same |