一種用于響應于讀取要求的存取存儲器裝置的方法和裝置的制造方法
【技術(shù)領域】
[0001 ] 本發(fā)明是有關(guān)于一種用于響應于讀取要求的存取存儲器裝置的方法和裝置,尤其是一種可以改善存儲器讀取表現(xiàn)的方法和裝置。
【背景技術(shù)】
[0002]閃存是一種非易失性集成電路存儲器技術(shù)。閃存可以是并列接口或是串行接口。具有串行接口的閃存(或稱串行閃存)相較于具有并列接口的閃存之下,需要較少數(shù)連接在印刷電路板上的接腳,因此可以降低整體系統(tǒng)的成本。
[0003]具有閃存的主機系統(tǒng)可以通過提供一讀取指令自該存儲器讀取數(shù)據(jù),該讀取指令包括閃存的地址。閃存譯碼該指令并且送回主機所要求的數(shù)據(jù)。閃存的讀取表現(xiàn)被該接口的速度給限制住。由于讀取指令和數(shù)據(jù)是透過閃存的該串行接口得以發(fā)送或接收,其中在相同的時鐘速率下,該串行接口的表現(xiàn)速度會比并列接口還要慢,因此串行閃存的讀取表現(xiàn)更加被限制。
[0004]因此,本發(fā)明設計一種可以改善存儲器讀取表現(xiàn)的方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明是有關(guān)于一種用于存取存儲器裝置以響應于讀取要求的方法。該方法包括響應于第一要求,利用該存儲器裝置的指令協(xié)議以構(gòu)成第一讀取序列,該第一讀取序列包括腳本和起始實體地址;以及于收到第二要求時,根據(jù)該存儲器裝置的該指令協(xié)議以判定第二讀取序列的起始實體地址;若該第二讀取序列的該起始實體地址是接續(xù)于該第一讀取序列的結(jié)尾實體地址,則利用不具腳本的該指令協(xié)議構(gòu)成該第二讀取序列,否則利用具讀取指令的該指令協(xié)議構(gòu)成該第二讀取序列。
[0006]為了對本發(fā)明的上述及其他方面有更佳的了解,下文特舉較佳實施例,并配合所附圖式,作詳細說明如下:
【附圖說明】
[0007]圖1繪示存儲器的簡單方塊圖。
[0008]圖2繪示存儲器的指令協(xié)議的頻率圖。
[0009]圖3繪示與存儲器溝通的存儲器控制器的方塊圖。
[0010]圖4繪示響應于讀取要求的產(chǎn)生用于存儲器的指令序列的方法的流程圖。
[0011]圖5繪示響應于讀取要求的用于存取存儲器裝置的方法的流程圖。
[0012]圖6繪示存儲器的電源開啟程序的流程圖。
[0013]圖7繪示響應于讀取要求的用于存取存儲器裝置的方法的頻率圖。
[0014]圖8繪示計算機系統(tǒng)的方塊圖。
[0015]【符號說明】
[0016]121、122、123、134:接腳
[0017]140:控制器
[0018]150:指令譯碼器
[0019]151:狀態(tài)機
[0020]160:存儲器單元陣列
[0021]161:地址譯碼器
[0022]163:頁緩沖器
[0023]174:其他外圍電路
[0024]175:存儲器
[0025]201、701、703、705:芯片致能序號
[0026]202、702、704、706:頻率周期訊號
[0027]203、204、205、206、750、751、752、753、754、755、756、760、761、762:時間期間
[0028]310:存儲器控制器
[0029]311:系統(tǒng) I/F
[0030]312:存儲器 I/F
[0031]315:控制寄 FSM
[0032]410、420、430、440、450:步驟
[0033]502、504、505、506、508、510、512、514、516、520、522、524、526:步驟
[0034]602、604、606、608、610、612、620:步驟
[0035]810:計算機系統(tǒng)
[0036]812:總線子系統(tǒng)
[0037]814:處理器子系統(tǒng)
[0038]816:網(wǎng)絡接口
[0039]820:用戶接口輸出裝置
[0040]822:用戶接口輸入設備
[0041]824:儲存子系統(tǒng)
[0042]826:存儲器子系統(tǒng)
[0043]828:檔案儲存子系統(tǒng)
[0044]830:隨機存取存儲器
[0045]831:閃存
[0046]832:只讀存儲器
【具體實施方式】
[0047]本案技術(shù)的實施例的詳細描述請參照以下所述的圖示。
[0048]圖1是存儲器175的簡化方塊圖,其包括邏輯電路,該邏輯電路響應第一讀取指令執(zhí)行接續(xù)讀取操作。舉例來說,該邏輯電路可以暫停該接續(xù)讀取操作,以及在暫停期間維持接續(xù)讀取狀態(tài)。該邏輯電路之后可重新啟動不具第二讀取指令的接續(xù)讀取操作,藉此降低存儲器175在傳輸指令上的需求量。在這個例子上,該存儲器175包括串行接口用以傳輸讀取指令、地址和通訊數(shù)據(jù)。該串行接口可以基于串行外圍接口 SPI(Serial peripheralInterface)的總線,該指令通道共享其總線的用以傳輸?shù)刂泛蛿?shù)據(jù)的輸入/輸出接腳。舉例來說,存儲器175包括用以接收或傳送SPI總線訊號的輸入/輸出的多個接口或多個接腳121、122、123和124。接腳121連接于傳輸串行輸入的數(shù)據(jù)/地址訊號SI的數(shù)據(jù)輸入線。接腳122連接于傳輸串行輸出的數(shù)據(jù)訊號SO的數(shù)據(jù)輸出線。接腳123連接于傳輸串行頻率訊號SCLK的頻率線。接腳124連接于傳輸芯片致能或芯片選擇訊號CS#的控制線。串行頻率訊號SCLK和芯片致能訊號CS#是輸入至存儲器175的訊號。
[0049]存儲器175包括存儲器單元陣列160。陣列160可以是NOR結(jié)構(gòu)、NAND結(jié)構(gòu)或其他結(jié)構(gòu)。
[0050]地址譯碼器161耦接于存儲器單元陣列160。地址隨著輸入訊號SI自接腳121提供于存儲器175并提供給地址譯碼器161。地址譯碼器可以包括字線譯碼器、位線譯碼器和其他合適的譯碼器,其用以將提供的地址譯碼和選擇該陣列160中對應的存儲器單元。
[0051]在這個例子中,陣列160的位線耦接于頁緩沖器163,而頁緩沖器163又耦接于其他外圍電路174。頁緩沖器163可包括至少一儲存單元用以連接各位線。地址譯碼器161可以透過各自連接的位線以選擇以及將陣列160中的特定存儲器單元耦接至頁緩沖器163。接著,頁緩沖器163可以儲存自這些指定的存儲器單元寫入或讀出的數(shù)據(jù)。
[0052]外圍電路包括邏輯電路或模擬電路的電路形式,其并非陣列160的一部分,例如是地址譯碼器161、控制器140、...等。在此例子中,方塊174標示其他外圍電路可以包括輸入-輸出(I/O)電路、數(shù)據(jù)輸出緩沖器、和其他存儲器175內(nèi)的電路元件,該電路元件例如是一般目的處理器、特殊目的應用電路、或是組合式模塊,其裝備系統(tǒng)式芯片,功能由該陣列160支持。
[0053]控制器140提供訊號以控制存儲器175的其他電路并用以實現(xiàn)各種于文中所述的操作。控制器140包括指令譯碼器150,譯碼器150包括邏輯電路,邏輯電路支持接收于串行接口的接續(xù)讀取指令,和狀態(tài)機151或其他接續(xù)邏輯電路,其包括可提供暫停接續(xù)讀取狀態(tài)的邏輯電路。控制器可以如同本領域通常技術(shù)中被特殊目的邏輯電路所執(zhí)行。于其他實施例中,控制器包括一般目的處理器,處理器可以于同樣的存儲器175中執(zhí)行,存儲器175執(zhí)行計算機程序以控制元件的操作。于更他更多實施例中,特殊目的邏輯電路和一般目的處理器的組合可以用以執(zhí)行該控制器。
[0054]腳本伴隨輸入訊號SI根據(jù)SPI協(xié)議由接腳121提供于存儲器175并提供于指令譯碼器150。指令譯碼器150將接收到的腳本譯碼。指令譯碼器150也可以基于譯碼指令設定狀態(tài)用于存儲器175的狀態(tài)機151。基于狀態(tài)機151的狀態(tài),控制器140提供訊號于地址譯碼器161、頁緩沖器163、其他外圍電路174、或存儲器175中的其他電路以執(zhí)行對應至狀態(tài)機151所儲存的狀態(tài)的一個或多個操作。
[0055]儲存于陣列160的數(shù)據(jù)可透過字節(jié)區(qū)塊或其他具有適當大小的區(qū)塊,像是4字節(jié)區(qū)塊或8字節(jié)區(qū)塊等等,來尋址。于陣列160中,各組可以有一地址。數(shù)據(jù)組可以通過提供存儲器175讀取要求,其要求包括該數(shù)據(jù)組的地址,而被存儲器175被讀取。
[0056]存儲器175提供接續(xù)讀取狀態(tài)。當于接續(xù)讀取狀態(tài)時,只要SCLK保持啟動狀態(tài),存儲器175自動輸出多個數(shù)據(jù)組,其中這些數(shù)據(jù)組是于陣列160中接續(xù)地被寫上地址。舉例而言,在第一數(shù)據(jù)字節(jié)(例如為十六進制“03FFF2”)自輸出接腳122輸出之后,存儲器175自動地輸出地址標示為“03FFF3”的第二數(shù)據(jù)字節(jié),其中第二數(shù)據(jù)字節(jié)的地址是接續(xù)于第一數(shù)據(jù)字節(jié)的地址。存儲器繼續(xù)輸出具有與前一輸出的數(shù)據(jù)組有接續(xù)關(guān)系的數(shù)據(jù)組(例如“03???5”,“03???6”,“03???7”等等),直到SCLK停止為止,或直到狀態(tài)自接續(xù)讀取狀態(tài)改變,舉例來說,其可以發(fā)生在當芯片致能訊號CS#改變。其詳細細節(jié)如以下文中所述。
[0057]存儲器175依照存儲器175的指令協(xié)議接收和處理輸入數(shù)據(jù)以及輸出數(shù)據(jù)。圖2是一時序圖,描述存儲器175的指令協(xié)議。在這個例子中,于201的情況,芯片致能訊號從高電平改變?yōu)榈碗娖健.斝酒履苡嵦朇S#維持在低電平時,存儲器175處于啟動模式并可用于接收和處理輸入訊號。串行頻率訊號SCLK透過接腳123 (于情況202)被提供至存儲器175。存儲器175通過將輸入/輸出數(shù)據(jù)位閂于接續(xù)頻率訊號SCLK以輸入或輸出數(shù)據(jù)。
[0058]如圖2所示的例子,在情況201和202之后的指令周期203期間,字節(jié)的腳本或是字節(jié)的序列(例如,用于一接續(xù)讀取指令的二進制代碼“00000011”)被提供給存儲器175的連接于接腳121的數(shù)據(jù)輸入線,每一個指令位碼閂于該串行頻率訊號SCLK的