TWI540438B - 記憶體控制元件 - Google Patents
記憶體控制元件 Download PDFInfo
- Publication number
- TWI540438B TWI540438B TW100137090A TW100137090A TWI540438B TW I540438 B TWI540438 B TW I540438B TW 100137090 A TW100137090 A TW 100137090A TW 100137090 A TW100137090 A TW 100137090A TW I540438 B TWI540438 B TW I540438B
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- peripheral interface
- controller
- bus
- serial peripheral
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/1684—Details of memory controller using multiple buses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Description
本發明係關於一種記憶體控制元件,特別是有關於一種串列週邊介面(serial peripheral interface,SPI)快閃記憶體的記憶體控制元件。
快閃記憶體(flash memory)為主機板上常用之儲存元件,並且已廣泛地應用於個人電腦與筆記型電腦中。快閃記憶體可以儲存各種型態的資料,因此主機板上的晶片組(chipset)以及其他週邊積體電路(integrated circuit,IC),都會利用快閃記憶體來進行資料的存取,以完成使用者所下達的指令。
目前,大部分的電腦系統執行開機程序的資料(例如基本輸入/輸出系統(basic input/output system,BIOS))係儲存在電腦系統的快閃記憶體中。在主機板上,可透過嵌入式控制器來對快閃記憶體內之資料進行存取。一般而言,嵌入式控制器與快閃記憶體之間係透過串列週邊介面(serial peripheral interface,SPI)來進行連接。
在電腦系統中,SPI是一種允許在兩種裝置(一個稱主裝置(master),另一個稱從裝置(slave))之間進行串列資料交換之介面。SPI匯流排主要由晶片選擇(chip select,CS)、時脈(clock)、主輸出從輸入(master output slave input,MOSI)以及主輸入從輸出(master input slave output,MISO)四種信號構成。當晶片選擇信號CS動作時,SPI匯流排才可透過其他三條信號進行資料之接收和發送。
本發明實施例提供一種記憶體控制元件,用以控制一主要控制器以及一次要控制器對一快閃記憶體進行存取。上述記憶體控制元件包括一匯流排切換器,分別透過第一、第二及第三串列週邊介面匯流排耦接於上述主要控制器、上述次要控制器以及上述快閃記憶體。上述匯流排切換器包括一選擇單元,用以選擇性地將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排以及上述第二串列週邊介面匯流排之一者。當上述匯流排切換器經由上述第一串列週邊介面匯流排接收到來自上述主要控制器的一存取請求時,上述選擇單元將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排,以便將來自上述主要控制器之一第一晶片選擇信號、一第一時脈信號以及一第一主輸出從輸入信號傳送至上述快閃記憶體,以對上述快閃記憶體進行存取,其中上述存取請求係由上述第一晶片選擇信號所提供。
再者,本發明實施例提供另一種記憶體控制元件,用以控制一主要控制器以及一次要控制器對一快閃記憶體進行存取。上述記憶體控制元件包括:一匯流排切換器,分別透過第一、第二及第三串列週邊介面匯流排耦接於上述主要控制器、上述次要控制器以及上述快閃記憶體,用以選擇性地將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排以及上述第二串列週邊介面匯流排之一者,其中當上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排時,上述主要控制器對上述記憶體進行存取;一匯流排共用調整單元,用以當上述主要控制器對上述記憶體進行存取時,判斷上述次要控制器是否等待著對上述記憶體進行存取,並計數一等候時間;以及一中斷單元,用以當上述等候時間超過一特定時間時,發送一中斷請求至上述主要控制器。相應於上述中斷請求,上述主要控制器停止對上述記憶體進行存取。
透過本發明上述實施例所述之內容,主要控制器及次要控制器可有效率地對快閃記憶體進行存取。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出實施例,並配合所附圖式,作詳細說明如下:
實施例:
第1圖係顯示根據本發明一實施例所述之使用記憶體控制元件之電腦系統100。電腦系統100包括晶片組(chipset)10、超級輸入輸出(super I/O)積體電路20以及快閃記憶體30。在第1圖中,快閃記憶體30為一串列週邊介面(SPI)記憶體,因此,晶片組10以及超級輸入輸出積體電路20皆以符合SPI標準之匯流排與快閃記憶體30進行連接。晶片組10包括控制器15,用以對快閃記憶體30進行存取,例如存取基本輸入/輸出系統(BIOS)。超級輸入輸出積體電路20包括控制器25,用以對快閃記憶體30進行存取,例如存取唯讀記憶體碼(ROM code)。一般而言,晶片組10需要能夠即時地存取快閃記憶體30,而超級輸入輸出積體電路20需要與晶片組10共用快閃記憶體30。因此,在此實施例中,控制器15以及控制器25為主裝置(master),而快閃記憶體30為從裝置(slave)。此外,晶片組10對快閃記憶體30的存取優先性係高於超級輸入輸出積體電路20,因此控制器15與控制器25可分別視為主要控制器(primary)及次要控制器(secondary)。
在第1圖中,超級輸入輸出積體電路20更包括記憶體控制元件40,其包括匯流排切換器50。匯流排切換器50可透過匯流排BUS1接收到來自控制器15的晶片選擇信號CS_PRI、時脈信號SCLK_PRI及主輸出從輸入信號MOSI_PRI。此外,匯流排切換器50亦可透過匯流排BUS2接收到來自控制器25的晶片選擇信號CS_SEC、時脈信號SCLK_SEC及主輸出從輸入信號MOSI_SEC。接著,匯流排切換器50會根據晶片選擇信號CS_PRI以及晶片選擇信號CS_SEC,將匯流排BUS3耦接至匯流排BUS1或是匯流排BUS2,以便將來自控制器15或控制器25的信號透過匯流排BUS3傳送給快閃記憶體30。舉例來說,當控制器15欲存取快閃記憶體30時,控制器15會透過晶片選擇信號CS_PRI來傳送一存取請求至匯流排切換器50,接著匯流排切換器50會將匯流排BUS3耦接至匯流排BUS1,並發送停止信號STOP至控制器25。在控制器15完成對快閃記憶體30的存取之後且控制器25透過晶片選擇信號CS_SEC傳送一存取請求至匯流排切換器50時,匯流排切換器50會將匯流排BUS3耦接至匯流排BUS2,使得控制器25能對快閃記憶體30繼續進行存取。一般而言,主裝置可透過一主輸出從輸入信號(MOSI)來傳送指令、位址、資料等資訊至從裝置。舉例來說,在寫入操作時,控制器15可透過主輸出從輸入信號MOSI_PRI依序傳送指令CMD、位址ADD及資料DAT等資訊至快閃記憶體30,以便將資料DAT寫入至快閃記憶體30中的位址ADD。此外,在讀取操作時,控制器15可透過主輸出從輸入信號MOSI_PRI依序傳送指令CMD及位址ADD至快閃記憶體30,以便從快閃記憶體30中讀取出儲存在位址ADD之資料。值得注意的是,控制器15與控制器25的主輸入從輸出信號係直接由快閃記憶體30所提供,而不經由匯流排BUS1-BUS3。
第2圖係顯示根據本發明一實施例所述之匯流排切換器50。匯流排切換器50包括處理單元52、處理單元54、選擇單元56以及處理單元58。同時參考第1圖及第2圖,當匯流排切換器50接收到來自控制器15之存取請求時,處理單元52會對晶片選擇信號CS_PRI、時脈信號SCLK_PRI及主輸出從輸入信號MOSI_PRI之時序(timing)進行調整,以分別產生信號CS_1、信號SCLK_1及信號MOSI_1。接著,處理單元54可進一步對信號SCLK_1的工作週期(duty cycle)進行調整,以產生信號SCLK_2。接著,選擇單元56可根據晶片選擇信號CS_PRI,選擇將信號CS_1、信號SCLK_2及信號MOSI_1輸出至匯流排BUS3,以作為欲傳送至快閃記憶體30的晶片選擇信號CS、時脈信號SCLK及主輸出從輸入信號MOSI。在此實施例中,選擇單元56為一多工器。因此,根據所接收到的信號,選擇單元56可決定將第一組輸入端A0-A2或是第二組輸入端B0-B2耦接至輸出端Y0-Y2以進行輸出。此外,處理單元58可根據晶片選擇信號CS_PRI而提供一停止信號STOP至控制器25。在此實施例中,處理單元58為一反相器。
第3圖係顯示第2圖中匯流排切換器50之信號波形圖,其僅是個例子,並非用以限定本發明。在第3圖中,晶片選擇信號CS_PRI或CS_SEC為低邏輯位準時係表示晶片組10或是超級輸入輸出積體電路20發出存取請求。此外,主輸出從輸入信號MOSI_PRI及MOSI_SEC係以從最高有效位元(most significant bit,MSB)至最低有效位元(least significant bit,LSB)的方式來傳送指令CMD、位址ADD及資料DAT等資訊。同時參考第1-3圖,首先,在週期P1,來自控制器15之晶片選擇信號CS_PRI為高邏輯位準。因此,晶片組10並未對快閃記憶體30進行存取。在時間點t1,來自控制器25之晶片選擇信號CS_SEC從高邏輯位準變成低邏輯位準。於是,匯流排切換器50將匯流排BUS3耦接至匯流排BUS2,使得控制器25能對快閃記憶體30進行存取。接著,控制器25會傳送時脈信號SCLK_SEC以及主輸出從輸入信號MOSI_SEC至快閃記憶體30。當控制器25正在傳送指令資訊CMD時,控制器15在時間點t2將晶片選擇信號CS_PRI拉為低邏輯位準。於是,處理單元58會發出停止信號STOP至控制器25,而匯流排切換器50會將匯流排BUS3耦接至匯流排BUS1,使得控制器15能對快閃記憶體30進行存取。在此實施例中,處理單元52會將晶片選擇信號CS_PRI延遲一特定時間TD之後才傳送至快閃記憶體30,其中特定時間TD需符合快閃記憶體之時序規格。同樣地,處理單元52亦會將時脈信號SCLK_PRI及主輸出從輸入信號MOSI_PRI延遲了該特定時間TD才傳送至快閃記憶體30。例如,相較於晶片選擇信號CS_PRI,匯流排切換器50延遲了特定時間TD才將欲傳送至快閃記憶體30之晶片選擇信號CS由高邏輯位準變成低邏輯位準,如箭頭301所表示。藉由延遲特定時間TD,可避免快閃記憶體30發生時序違反(timing violation)的情況。此外,相較於時脈信號SCLK_PRI及主輸出從輸入信號MOSI_PRI,匯流排切換器50亦延遲了特定時間TD才將欲傳送至快閃記憶體30之時脈信號SCLK及主輸出從輸入信號MOSI傳送至快閃記憶體30,分別如箭頭302、303所表示。
值得注意的是,雖然在箭頭302、303處,處理單元52延遲了時脈信號SCLK_PRI及主輸出從輸入信號MOSI_PRI。然而,在收到來自主輸出從輸入信號MOSI_PRI之指令資訊CMD時,處理單元52會開始調整對應於指令資訊CMD之時脈信號SCLK_PRI及主輸出從輸入信號MOSI_PRI的時序,使得快閃記憶體30能同步地接收到來自控制器15之位址資訊ADD及資料資訊DAT。舉例來說,指令資訊CMD包括8個位元CMD7、CMD6、…、CMD0。在主輸出從輸入信號MOSI_PRI中,指令資訊CMD之每一位元的週期為T1。為了讓傳送至快閃記憶體30之位址資訊ADD及資料資訊DAT(即主輸出從輸入信號MOSI)能同步於由控制器15所提供之位址資訊ADD及資料資訊DAT(即主輸出從輸入信號MOSI_PRI),處理單元52會將先前所延遲之特定時間TD於指令資訊CMD處補償回來,即處理單元52會透過匯流排BUS3之時脈信號SCLK及主輸出從輸入信號MOSI來加快傳送指令資訊CMD。換言之,在主輸出從輸入信號MOSI中,指令資訊CMD之每一位元的週期T2係小於T1。在此實施例中,所延遲之特定時間TD係平均由指令資訊CMD之每一位元所補償,所以T2=T1-TD/8。因此,在週期P3,匯流排BUS3上的時脈信號SCLK及主輸出從輸入信號MOSI就會同步於匯流排BUS1上的時脈信號SCLK_PRI及主輸出從輸入信號MOSI_PRI。接著,在時間點t3,來自控制器15之晶片選擇信號CS_PRI會從低邏輯位準變成高邏輯位準,於是控制器15完成了對快閃記憶體之存取。接著,在時間點t4,控制器25將晶片選擇信號CS_SEC從高邏輯位準變成低邏輯位準,以發送存取請求至快閃記憶體30。由於控制器15已結束對快閃記憶體30之存取,所以匯流排切換器50會將匯流排BUS3耦接至匯流排BUS2。接著,控制器25便可傳送時脈信號SCLK_SEC以及主輸出從輸入信號MOSI_SEC至快閃記憶體30,以進行存取。
第4圖係顯示第2圖中匯流排切換器50之信號的另一波形圖,其係描述由處理單元54所調整之時脈信號的工作週期。同時參考第1、2與4圖,在控制器15對快閃記憶體30進行讀取操作時,來自控制器15之晶片選擇信號CS_PRI為低邏輯位準。在控制器15透過主輸出從輸入信號MOSI_PRI傳送完讀取指令以及讀取位址之後,快閃記憶體30會將儲存在該讀取位址之資料,透過匯流排BUS3的主輸入從輸出信號MISO傳送至控制器15。在此實施例中,快閃記憶體30會在所接收之時脈信號的下降邊緣(falling edge)將讀取資料RDATA輸出至匯流排BUS3上。因此,在接收到時脈信號SCLK_PRI的上升邊緣(rising edge)時,匯流排切換器50亦會產生時脈信號SCLK的上升邊緣至快閃記憶體30。接著,匯流排切換器50會提前產生時脈信號SCLK的下降邊緣至快閃記憶體30,使得快閃記憶體30會提前將讀取資料RDATA7、RDATA6、RDATA5、RDATA4等輸出至匯流排BUS3。如第4圖所顯示,相較於SCLK_PRI的下降邊緣,時脈信號SCLK的下降邊緣提前了週期TP,於是可補償信號通過積體電路時的輸入/輸出等待時間(I/O latency)。因此,晶片組10可操作在較高的速度。
第5圖係顯示根據本發明另一實施例所述之匯流排切換器200。在此實施例中,匯流排切換器200可應用在多位元之SPI快閃記憶體,例如2位元(dual)及4位元(quad),所以主裝置及從裝置的主輸出從輸入信號MOSI以及主輸入從輸出MISO為雙向信號。相較於第2圖之匯流排切換器50,匯流排切換器200更包括方向控制單元51、反相器53以及輸入輸出(I/O)控制單元55和57。方向控制單元51可視為一解碼器,用以控制匯流排BUS3上的主輸出從輸入信號MOSI以及匯流排BUS1上的主輸出從輸入信號MOSI_PRI傳輸方向,並產生信號MOSI_OE與信號MOSI_PRI_OE來控制輸入輸出控制單元55和57,以便將來自匯流排BUS1上的主輸出從輸入信號MOSI_PRI傳送至匯流排BUS3或是將來自匯流排BUS3上的主輸出從輸入信號MOSI傳送至匯流排BUS1。例如,在信號MOSI_PRI_OE的控制下,輸入輸出控制單元55會根據匯流排BUS1上的主輸出從輸入信號MOSI_PRI而提供信號MOSI_PRI_IN至處理單元52,而在信號MOSI_OE的控制下,輸入輸出控制單元57會根據選擇器56的輸出MOSI_OUT而提供信號MOSI至匯流排BUS3,於是來自晶片組的信號便可傳送至快閃記憶體。反之,在信號MOSI_OE的控制下,輸入輸出控制單元57會根據匯流排BUS3的信號MOSI提供信號MOSI_PRI_OUT至輸入輸出控制單元55,而在信號MOSI_PRI_OE的控制下,輸入輸出控制單元55會根據信號MOSI_PRI_OUT而提供信號主輸出從輸入信號MOSI_PRI至匯流排BUS1,於是來自快閃記憶體的信號便可傳送至晶片組。
第6圖係顯示根據本發明另一實施例所述之記憶體控制元件300。相較於第1圖之記憶體控制元件40,記憶體控制元件300更包括匯流排共用調整單元60以及中斷單元70。一般而言,在正常操作下,晶片組10並不會頻繁地存取快閃記憶體30。然而,在遭遇到惡意軟體(malicious software,簡稱Malware)的攻擊下,晶片組10可能會一直持續地對快閃記憶體30進行存取,因此造成超級輸入輸出積體電路20無法對快閃記憶體30進行存取。換言之,匯流排BUS3會一直被匯流排BUS1所佔用。因此,當超級輸入輸出積體電路20等待著對快閃記憶體30進行讀取時,匯流排共用調整單元60會計數超級輸入輸出積體電路20所等待的時間。若等待的時間超過一預設時間,則匯流排共用調整單元60會通知中斷單元70來發出中斷請求INT至晶片組10,以通知晶片組10停止對快閃記憶體30進行存取。在晶片組10停止對快閃記憶體30進行存取之後,記憶體控制元件300會將匯流排BUS3耦接至匯流排BUS2,於是超級輸入輸出積體電路20便可對快閃記憶體30進行讀取。此外,匯流排共用調整單元60會計數超級輸入輸出積體電路20所等待的時間Twait,並控制超級輸入輸出積體電路20可對快閃記憶體30進行存取的時間為Twait,即先前所等待的時間,以平衡晶片組10與超級輸入輸出積體電路20使用快閃記憶體30的時間。接著,匯流排共用調整單元60計數到超級輸入輸出積體電路20存取快閃記憶體30的時間已到達時間Twait時,匯流排共用調整單元60會通知中斷單元70來取消中斷請求INT。於是,晶片組10便可繼續對快閃記憶體30進行存取。在一實施例中,亦可使用監視(watch dog)機制來發出中斷請求INT。
第7圖係顯示根據本發明一實施例所述之匯流排共用調整方法,適用一記憶體控制元件(例如第6圖之記憶體控制元件300),其中記憶體控制元件係以SPI匯流排連接至複數主裝置以及一從裝置。複數主裝置包括一主要裝置(例如第6圖之晶片組10)以及至少一次要裝置(例如第6圖之超級輸入輸出積體電路20),而從裝置為一記憶體(例如第6圖之快閃記憶體30)。首先,在步驟S702,判斷該次要裝置是否等待著存取該記憶體,即該記憶體是否目前正被該主要裝置所存取。若是,則將一計數器進行上數(count up)(步驟S704),例如將該計數器的計數值加1。接著,在步驟S706,判斷該計數器的計數值是否到達一臨界值。若是,則發出中斷請求至該主要裝置(步驟S708),使得該主要裝置停止對該記憶體進行存取,以便該次要裝置能對該記憶體進行存取。若否,則回到步驟S702。因此,若該主要裝置一直對該記憶體進行讀取,例如先前所描述之惡意軟體,則該計數器的計數值會到達該臨界值。於是,該主要裝置會停止存取該記憶體以便該次要裝置能對該記憶體進行存取。反之,若在步驟S702中,判斷出該次要裝置並未等待著存取該記憶體,則判斷該計數器的計數值是否為零(步驟S710)。若否,則將該計數器進行下數(count down)(步驟S714),例如將該計數器的計數值減1。若是,則將先前所發出之中斷請求進行解除(S712),使得該主要裝置能繼續使用該記憶體。因此,藉由將該計數器的計數值進行上數及下數,可將先前次要裝置所等待的時間補償回來。舉例來說,若假設臨界值為30,當該計數器的計數值計數到30時,則中斷請求會被發送至該主要裝置。然而,在接收到中斷請求之後,該主要裝置必須先將目前正在進行存取的資料完成之後,才會將該記憶體釋放給該次要裝置。因此,當該次要裝置開始存取該記憶體時,該計數器的計數值可能已經計數到50了,即該次要裝置實際上所等待的時間。因此,透過步驟S710、S712及S714,該計數器的計數值必須從50下數至0,才會將中斷請求取消,於是先前所等待的時間便可補償回來。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10...晶片組
100...電腦系統
15...控制器
20...超級輸入輸出積體電路
25...控制器
30...快閃記憶體
40、300...記憶體控制元件
50、200...匯流排切換器
51...方向控制單元
52、54、58...處理單元
53...反相器
55、57...輸入輸出控制單元
56...選擇單元
60...匯流排共用調整單元
70...中斷單元
BUS1、BUS2、BUS3...匯流排
CS、CS_PRI、CS_SEC...晶片選擇信號
CS_1、MOSI_1、MOSI_OE、MOSI_OUT、MOSI_PRI_IN、MOSI_PRI_OE、MOSI_PRI_OUT、SCLK_1、SCLK_2...信號
INT...中斷請求
MISO...主輸入從輸出信號
MOSI、MOSI_PRI、MOSI_SEC...主輸出從輸入信號
P1、P2、P3...週期
SCLK、SCLK_PRI、SCLK_SEC...時脈信號
STOP...停止信號
t1、t2、t3、t4...時間點
T1、T2、TP...週期
TD...延遲時間
以及
S702、S704、S706、S708、S710、S712、S714...步驟
第1圖係顯示根據本發明一實施例所述之使用記憶體控制元件之電腦系統;
第2圖係顯示根據本發明一實施例所述之匯流排切換器;
第3圖係顯示第2圖中匯流排切換器之信號波形圖;
第4圖係顯示第2圖中匯流排切換器之信號的另一波形圖;
第5圖係顯示根據本發明另一實施例所述之匯流排切換器;
第6圖係顯示根據本發明另一實施例所述之記憶體控制元件;以及
第7圖係顯示根據本發明一實施例所述之匯流排共用調整方法,適用一記憶體控制元件。
10...晶片組
15...控制器
20...超級輸入輸出積體電路
25...控制器
30...快閃記憶體
40...記憶體控制元件
50...匯流排切換器
100...電腦系統
BUS1、BUS2、BUS3...匯流排
CS、CS_PRI、CS_SEC...晶片選擇信號
MISO...主輸入從輸出信號
MOSI、MOSI_PRI、MOSI_SEC...主輸出從輸入信號
SCLK、SCLK_PRI、SCLK_SEC...時脈信號
以及
STOP...停止信號
Claims (17)
- 一種記憶體控制元件,用以控制一主要控制器以及一次要控制器對一快閃記憶體進行存取,包括:一匯流排切換器,分別透過第一、第二及第三串列週邊介面匯流排耦接於上述主要控制器、上述次要控制器以及上述快閃記憶體,包括:一選擇單元,用以選擇性地將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排以及上述第二串列週邊介面匯流排之一者;其中當上述匯流排切換器經由上述第一串列週邊介面匯流排接收到來自上述主要控制器的一第一存取請求時,上述選擇單元將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排,以便將來自上述主要控制器之一第一晶片選擇信號、一第一時脈信號以及一第一主輸出從輸入信號傳送至上述快閃記憶體,以對上述快閃記憶體進行存取,其中上述第一存取請求係由上述第一晶片選擇信號所提供;其中上述主要控制器之一第一主輸入從輸出信號以及上述次要控制器之一第二主輸入從輸出信號係直接由上述快閃記憶體之一輸出信號所提供,且不經由上述第一、第二及第三串列週邊介面匯流排;一匯流排共用調整單元,用以當上述主要控制器對上述快閃記憶體進行存取時,判斷上述次要控制器是否等待著對上述快閃記憶體進行存取,並計數一等候時間;以及一中斷單元,用以當上述等候時間超過一特定時間時,發送一中斷請求至上述主要控制器; 其中,相應於上述中斷請求,上述主要控制器停止對上述快閃記憶體進行存取。
- 如申請專利範圍第1項所述之記憶體控制元件,其中當上述第一晶片選擇信號指示上述主要控制器之上述第一存取請求已完成且上述匯流排切換器經由上述第二串列週邊介面匯流排接收到來自上述次要控制器的一第二存取請求時,上述選擇單元將上述第三串列週邊介面匯流排耦接至上述第二串列週邊介面匯流排,以便將來自上述次要控制器之一第二晶片選擇信號、一第二時脈信號以及一第二主輸出從輸入信號傳送至上述快閃記憶體,以對上述快閃記憶體進行存取。
- 如申請專利範圍第1項所述之記憶體控制元件,其中上述第一主輸出從輸入信號包括一指令資訊以及一位址資訊,以及上述匯流排切換器更包括:一第一處理單元,耦接於上述第一串列週邊介面匯流排以及上述選擇單元之間,用以當透過上述第一串列週邊介面匯流排接收到來自上述主要控制器的上述第一存取請求時,將上述第一晶片選擇信號、上述第一時脈信號以及上述第一主輸出從輸入信號進行延遲,並將對應於上述指令資訊之上述第一主輸出從輸入信號以及上述第一時脈信號的時序進行調整,使得由上述第一處理單元傳送至上述快閃記憶體之對應於上述位址資訊之上述第一主輸出從輸入信號以及上述第一時脈信號的時序同步於由上述主要控制器傳送至上述第一處理單元之對應於上述位址資訊之上述第一主輸出從輸入信號以及上述第一時脈信號的時序。
- 如申請專利範圍第3項所述之記憶體控制元件,更包括:一第二處理單元,耦接於上述第一處理單元以及上述選擇單元之 間,用以對欲傳送至上述選擇單元之上述第一時脈信號的工作週期進行調整。
- 如申請專利範圍第1項所述之記憶體控制元件,其中當上述匯流排切換器經由上述第一串列週邊介面匯流排接收到來自上述主要控制器的上述第一存取請求時,上述匯流排切換器更發送一停止信號至上述次要控制器,以便通知上述次要控制器停止對上述快閃記憶體進行存取。
- 如申請專利範圍第1項所述之記憶體控制元件,其中當上述第一晶片選擇信號指示上述主要控制器已停止對上述快閃記憶體進行存取時,上述匯流排切換器之上述選擇單元將上述第三串列週邊介面匯流排耦接至上述第二串列週邊介面匯流排,以便將來自上述次要控制器之一第二晶片選擇信號、一第二時脈信號以及一第二主輸出從輸入信號傳送至上述快閃記憶體,以對上述快閃記憶體進行存取。
- 如申請專利範圍第6項所述之記憶體控制元件,其中當上述選擇單元將上述第三串列週邊介面匯流排耦接至上述第二串列週邊介面匯流排時,上述匯流排共用調整單元將已計數之上述等候時間設定為一存取時間,以及當上述次要控制器對上述快閃記憶體進行存取到達上述存取時間時,上述中斷單元停止發送上述中斷請求至上述主要控制器。
- 如申請專利範圍第1項所述之記憶體控制元件,其中上述主要控制器係設置在一晶片組內。
- 如申請專利範圍第1項所述之記憶體控制元件,其中上述記憶體控制元件以及上述次要控制器係設置在一超級輸入輸出積體電路內。
- 一種記憶體控制元件,用以控制一主要控制器以及一次要控制器對一快閃記憶體進行存取,包括:一匯流排切換器,分別透過第一、第二及第三串列週邊介面匯流排耦接於上述主要控制器、上述次要控制器以及上述快閃記憶體,用以選擇性地將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排以及上述第二串列週邊介面匯流排之一者,其中當上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排時,上述主要控制器對上述快閃記憶體進行存取;一匯流排共用調整單元,用以當上述主要控制器對上述快閃記憶體進行存取時,判斷上述次要控制器是否等待著對上述快閃記憶體進行存取,並計數一等候時間;以及一中斷單元,用以當上述等候時間超過一特定時間時,發送一中斷請求至上述主要控制器;其中,相應於上述中斷請求,上述主要控制器停止對上述快閃記憶體進行存取。
- 如申請專利範圍第10項所述之記憶體控制元件,其中當上述主要控制器已停止對上述快閃記憶體進行存取時,上述匯流排切換器將上述第三串列週邊介面匯流排耦接至上述第二串列週邊介面匯流排,使得上述次要控制器能對上述快閃記憶體進行存取。
- 如申請專利範圍第11項所述之記憶體控制元件,其中當上述匯流排切換器將上述第三串列週邊介面匯流排耦接至上述第二串列週邊介面匯流排時,上述匯流排共用調整單元將已計數之上述等候時間設定為一存取時間,以及當上述次要控制器對上述快閃記憶體進行存取到達上述存取時間時,上述中斷單元停止發送上述中斷請求至上述 主要控制器。
- 如申請專利範圍第10項所述之記憶體控制元件,其中上述主要控制器之一第一主輸入從輸出信號以及上述次要控制器之一第二主輸入從輸出信號係直接由上述快閃記憶體之一輸出信號所提供,且不經由上述第一、第二及第三串列週邊介面匯流排。
- 如申請專利範圍第10項所述之記憶體控制元件,其中上述主要控制器係設置在一晶片組內。
- 如申請專利範圍第10項所述之記憶體控制元件,其中上述記憶體控制元件以及上述次要控制器係設置在一超級輸入輸出積體電路內。
- 一種記憶體控制元件,用以控制一主要控制器以及一次要控制器對一快閃記憶體進行存取,包括:一匯流排切換器,分別透過第一、第二及第三串列週邊介面匯流排耦接於上述主要控制器、上述次要控制器以及上述快閃記憶體,包括:一選擇單元,用以選擇性地將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排以及上述第二串列週邊介面匯流排之一者;其中當上述匯流排切換器經由上述第一串列週邊介面匯流排接收到來自上述主要控制器的一第一存取請求時,上述選擇單元將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排;一匯流排共用調整單元,用以當上述主要控制器對上述快閃記憶體進行存取時,判斷上述次要控制器是否等待著對上述快閃記憶體進 行存取,並計數一等候時間;以及一中斷單元,用以當上述等候時間超過一特定時間時,發送一中斷請求至上述主要控制器;其中當上述選擇單元將上述第三串列週邊介面匯流排耦接至上述第二串列週邊介面匯流排時,上述匯流排共用調整單元將已計數之上述等候時間設定為一存取時間,以及當上述次要控制器對上述快閃記憶體進行存取到達上述存取時間時,上述中斷單元停止發送上述中斷請求至上述主要控制器。
- 一種記憶體控制元件,用以控制一主要控制器以及一次要控制器對一快閃記憶體進行存取,包括:一匯流排切換器,分別透過第一、第二及第三串列週邊介面匯流排耦接於上述主要控制器、上述次要控制器以及上述快閃記憶體,用以選擇性地將上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排以及上述第二串列週邊介面匯流排之一者,其中當上述第三串列週邊介面匯流排耦接至上述第一串列週邊介面匯流排時,上述主要控制器對上述快閃記憶體進行存取;一匯流排共用調整單元,用以當上述主要控制器對上述快閃記憶體進行存取時,判斷上述次要控制器是否等待著對上述快閃記憶體進行存取,並計數一等候時間;以及一中斷單元,用以當上述等候時間超過一特定時間時,發送一中斷請求至上述主要控制器;其中當上述匯流排切換器將上述第三串列週邊介面匯流排耦接至上述第二串列週邊介面匯流排時,上述匯流排共用調整單元將已計數之上述等候時間設定為一存取時間,以及當上述次要控制器對上述 快閃記憶體進行存取到達上述存取時間時,上述中斷單元停止發送上述中斷請求至上述主要控制器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100137090A TWI540438B (zh) | 2011-10-13 | 2011-10-13 | 記憶體控制元件 |
JP2012084599A JP5551201B2 (ja) | 2011-10-13 | 2012-04-03 | メモリ制御装置 |
US13/453,169 US8788744B2 (en) | 2011-10-13 | 2012-04-23 | Memory control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100137090A TWI540438B (zh) | 2011-10-13 | 2011-10-13 | 記憶體控制元件 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201316176A TW201316176A (zh) | 2013-04-16 |
TWI540438B true TWI540438B (zh) | 2016-07-01 |
Family
ID=48086782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100137090A TWI540438B (zh) | 2011-10-13 | 2011-10-13 | 記憶體控制元件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8788744B2 (zh) |
JP (1) | JP5551201B2 (zh) |
TW (1) | TWI540438B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI489296B (zh) * | 2013-05-17 | 2015-06-21 | Wistron Corp | 電腦 |
US9141291B2 (en) * | 2013-11-26 | 2015-09-22 | Sandisk Technologies Inc. | Adaptive context disbursement for improved performance in non-volatile memory systems |
US9367491B2 (en) * | 2013-12-31 | 2016-06-14 | Global Unichip, Corp. | Method and apparatus for on-the-fly learning traffic control scheme |
CN103970665B (zh) * | 2014-05-28 | 2017-09-19 | 广州视源电子科技股份有限公司 | 一种模拟spi flash的fpga系统及调试方法 |
US11392325B2 (en) * | 2020-09-28 | 2022-07-19 | Quanta Computer Inc. | Method and system for parallel flash memory programming |
CN113312297A (zh) * | 2021-06-22 | 2021-08-27 | 张玉禄 | 一种spi从接口、安全芯片及spi闪存电子装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129500A (ja) * | 1993-11-08 | 1995-05-19 | Canon Inc | バススイッチ回路 |
JP2001167049A (ja) * | 1999-12-13 | 2001-06-22 | Matsushita Electric Ind Co Ltd | バス調停装置 |
JP2004199374A (ja) * | 2002-12-18 | 2004-07-15 | Matsushita Electric Ind Co Ltd | マルチプロセッサシステム及びバス調停方法 |
JP2004326215A (ja) * | 2003-04-22 | 2004-11-18 | Sony Corp | 信号処理装置および信号処理方法 |
JP4449415B2 (ja) * | 2003-10-31 | 2010-04-14 | 富士ゼロックス株式会社 | データ転送制御装置、画像形成装置 |
TW200743957A (en) | 2006-05-16 | 2007-12-01 | Ite Tech Inc | Control device and control method for memory |
TWI325561B (en) | 2006-11-23 | 2010-06-01 | Ite Tech Inc | Embedded controller and computer system using the same |
JP2008181442A (ja) * | 2007-01-26 | 2008-08-07 | Nec Corp | 情報処理システム、及びシステムデータ格納方法 |
JP2009025866A (ja) * | 2007-07-17 | 2009-02-05 | Nec Electronics Corp | メモリコントローラ、バスシステム、集積回路、及び、集積回路の制御方法。 |
TWI350451B (en) | 2007-09-06 | 2011-10-11 | Ite Tech Inc | Integrated memory control apparatus |
US20090193230A1 (en) | 2008-01-30 | 2009-07-30 | Ralf Findeisen | Computer system including a main processor and a bound security coprocessor |
JP2009193107A (ja) * | 2008-02-12 | 2009-08-27 | Panasonic Corp | メモリアクセス装置 |
US8549246B2 (en) * | 2008-04-30 | 2013-10-01 | Micron Technology, Inc. | SPI NAND protected mode entry methodology |
KR101620128B1 (ko) * | 2008-12-30 | 2016-05-12 | 마이크론 테크놀로지, 인크. | 직렬 비휘발성 메모리를 위한 향상된 어드레싱 능력 |
JP2012190195A (ja) * | 2011-03-09 | 2012-10-04 | Fujitsu Ltd | 制御装置 |
-
2011
- 2011-10-13 TW TW100137090A patent/TWI540438B/zh active
-
2012
- 2012-04-03 JP JP2012084599A patent/JP5551201B2/ja active Active
- 2012-04-23 US US13/453,169 patent/US8788744B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP5551201B2 (ja) | 2014-07-16 |
TW201316176A (zh) | 2013-04-16 |
US8788744B2 (en) | 2014-07-22 |
JP2013089226A (ja) | 2013-05-13 |
US20130097363A1 (en) | 2013-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI540438B (zh) | 記憶體控制元件 | |
US5774681A (en) | Method and apparatus for controlling a response timing of a target ready signal on a PCI bridge | |
US7698524B2 (en) | Apparatus and methods for controlling output of clock signal and systems including the same | |
US4622630A (en) | Data processing system having unique bus control protocol | |
US20140201407A1 (en) | Interconnect, bus system with interconnect and bus system operating method | |
US7707340B2 (en) | Bus system and method of burst cycle conversion | |
TWI489292B (zh) | 資料空間仲裁器 | |
US5559968A (en) | Non-conforming PCI bus master timing compensation circuit | |
US6948017B2 (en) | Method and apparatus having dynamically scalable clock domains for selectively interconnecting subsystems on a synchronous bus | |
US6604159B1 (en) | Data release to reduce latency in on-chip system bus | |
JP2007058716A (ja) | データ転送バスシステム | |
US6804736B2 (en) | Bus access arbitration based on workload | |
US7093058B2 (en) | Single request data transfer regardless of size and alignment | |
TW200912660A (en) | Dual bus matrix architecture for micro-controllers | |
US20020078282A1 (en) | Target directed completion for bus transactions | |
US20150177816A1 (en) | Semiconductor integrated circuit apparatus | |
US5937206A (en) | System for converting states of DMA requests into first serial information and transmitting information to first bus whenever a state change of a request | |
TWI750118B (zh) | 時脈管理電路系統、系統單晶片以及時脈管理方法 | |
CN103106157B (zh) | 存储器控制元件 | |
US20040010644A1 (en) | System and method for providing improved bus utilization via target directed completion | |
US6681279B1 (en) | Method of performing bus arbitration between control chips in a chipset with preemptive capability | |
US5850529A (en) | Method and apparatus for detecting a resource lock on a PCI bus | |
US20050216646A1 (en) | Arbitration method of a bus bridge | |
JP4684577B2 (ja) | 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法 | |
US6948019B2 (en) | Apparatus for arbitrating non-queued split master devices on a data bus |