TW201545164A - 可以改善記憶體讀取表現之方法和裝置 - Google Patents
可以改善記憶體讀取表現之方法和裝置 Download PDFInfo
- Publication number
- TW201545164A TW201545164A TW103134837A TW103134837A TW201545164A TW 201545164 A TW201545164 A TW 201545164A TW 103134837 A TW103134837 A TW 103134837A TW 103134837 A TW103134837 A TW 103134837A TW 201545164 A TW201545164 A TW 201545164A
- Authority
- TW
- Taiwan
- Prior art keywords
- read
- sequence
- memory device
- memory
- physical address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
-
- 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
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明敘述一種用於回應於讀取要求之存取記憶體裝置之方法和裝置,包括回應於一第一要求,利用該記憶體裝置之一指令協定構成一第一讀取序列。該第一讀取序列包括一指令碼和一起始實體位址。在接收到一第二要求時,該方法根據該記憶體裝置之該指令協定判定一第二讀取序列之一起始實體位址。若該第二讀取序列之該起始實體位址係接續於該第一讀取序列之一結尾實體位址,則該方法利用不具一指令碼之指令協定構成第二讀取序列,否則利用具一讀取指令之指令協定構成第二讀取序列。
Description
本發明是有關於一種記憶體讀取之裝置和方法。
快閃記憶體是一種非易揮發性積體電路記憶體技術。快閃記憶體可以是並列介面或是串列介面。具有串列介面之快閃記憶體(或稱串列快閃記憶體)相較於具有併列介面之快閃記憶體之下,需要較少數連接在印刷電路板上之接腳,因此可以降低整體系統的成本。
具有快閃記憶體之主機系統可以藉由提供一讀取指令自該記憶體讀取資料,該讀取指令包括快閃記憶體之位址。快閃記憶體解碼該指令並且送回主機所要求之資料。快閃記憶體之讀取表現被該介面之速度給限制住。由於讀取指令和資料係透過快閃記憶體之該串列介面得以發送或接收,其中在相同之時脈速率下,該串列介面之表現速度會比併列介面還要慢,因此串列快閃記憶體之讀取表現更加被限制。
因此,本發明設計一種可以改善記憶體讀取表現之方法。
本發明係有關於一種用於存取記憶體裝置以回應於讀取要求之方法。該方法包括回應於第一要求,利用該記憶體裝置之指令協定以構成第一讀取序列,該第一讀取序列包括指令碼和起始實體位址;以及於收到第二要求時,根據該記憶體裝置之該指令協定以判定第二讀取序列之起始實體位址;若該第二讀取序列之該起始實體位址係接續於該第一讀取序列之結尾實體位址,則利用不具指令碼之該指令協定構成該第二讀取序列,否則利用具讀取指令之該指令協定構成該第二讀取序列。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
121、122、123、134‧‧‧接腳
140‧‧‧控制器
150‧‧‧指令解碼器
151‧‧‧狀態機
160‧‧‧記憶體單元陣列
161‧‧‧位址解碼器
163‧‧‧頁緩衝器
174‧‧‧其他週邊電路
175‧‧‧記憶體
201、701、703、705‧‧‧晶片致能序號
202、702、704、706‧‧‧時脈週期訊號
203、204、205、206、750、751、752、753、754、755、756、760、761、762‧‧‧時間期間
310‧‧‧記憶體控制器
311‧‧‧系統I/F
312‧‧‧記憶體I/F
315‧‧‧控制寄FSM
410、420、430、440、450‧‧‧步驟
502、504、505、506、508、510、512、514、516、520、522、524、526‧‧‧步驟
602、604、606、608、610、612、620‧‧‧步驟
810‧‧‧電腦系統
812‧‧‧匯流排子系統
814‧‧‧處理器子系統
816‧‧‧網路介面
820‧‧‧使用者介面輸出裝置
822‧‧‧使用者介面輸入裝置
824‧‧‧儲存子系統
826‧‧‧記憶體子系統
828‧‧‧檔案儲存子系統
830‧‧‧隨機存取記憶體
831‧‧‧快閃記憶體
832‧‧‧唯讀記憶體
140‧‧‧控制器
150‧‧‧指令解碼器
151‧‧‧狀態機
160‧‧‧記憶體單元陣列
161‧‧‧位址解碼器
163‧‧‧頁緩衝器
174‧‧‧其他週邊電路
175‧‧‧記憶體
201、701、703、705‧‧‧晶片致能序號
202、702、704、706‧‧‧時脈週期訊號
203、204、205、206、750、751、752、753、754、755、756、760、761、762‧‧‧時間期間
310‧‧‧記憶體控制器
311‧‧‧系統I/F
312‧‧‧記憶體I/F
315‧‧‧控制寄FSM
410、420、430、440、450‧‧‧步驟
502、504、505、506、508、510、512、514、516、520、522、524、526‧‧‧步驟
602、604、606、608、610、612、620‧‧‧步驟
810‧‧‧電腦系統
812‧‧‧匯流排子系統
814‧‧‧處理器子系統
816‧‧‧網路介面
820‧‧‧使用者介面輸出裝置
822‧‧‧使用者介面輸入裝置
824‧‧‧儲存子系統
826‧‧‧記憶體子系統
828‧‧‧檔案儲存子系統
830‧‧‧隨機存取記憶體
831‧‧‧快閃記憶體
832‧‧‧唯讀記憶體
第1圖繪示記憶體之簡單方塊圖。
第2圖繪示記憶體之指令協定之時脈圖。
第3圖繪示與記憶體溝通之記憶體控制器之方塊圖。
第4圖繪示回應於讀取要求之產生用於記憶體之指令序列之方法之流程圖。
第5圖繪示回應於讀取要求之用於存取記憶體裝置之方法之流程圖。
第6圖繪示記憶體之電源開啟程序之流程圖。
第7圖繪示回應於讀取要求之用於存取記憶體裝置之方法之時脈圖。
第8圖繪示電腦系統之方塊圖。
本案技術之實施例之詳細描述請參照以下所述之圖示。
第1圖係記憶體175之簡化方塊圖,其包括邏輯電路,該邏輯電路回應第一讀取指令執行接續讀取操作。舉例來說,該邏輯電路可以暫停該接續讀取操作,以及在暫停期間維持接續讀取狀態。該邏輯電路之後可重新啟動不具第二讀取指令之接續讀取操作,藉此降低記憶體175在傳輸指令上之需求量。在這個例子上,該記憶體175包括串列介面用以傳輸讀取指令、位址和通訊資料。該串列介面可以基於串列週邊介面SPI(Serial peripheral Interface)之匯流排,該指令通道共享其匯流排之用以傳輸位址和資料之輸入/輸出接腳。舉例來說,記憶體175包括用以接收或傳送SPI匯流排訊號之輸入/輸出之複數個接口或複數個接腳121、122、123和124。接腳121連接於傳輸串列輸入之資料/位址訊號SI之資料輸入線。接腳122連接於傳輸串列輸出之資料訊號SO之資料輸出線。接腳123連接於傳輸串列時脈訊號SCLK之時脈線。接腳124連接於傳輸晶片致能或晶片選擇訊號CS#之控制線。串列時脈訊號SCLK和晶片致能訊號CS#係輸入至記憶體175之訊號。
記憶體175包括記憶體單元陣列160。陣列160可以係NOR結構、NAND結構或其他結構。
位址解碼器161耦接於記憶體單元陣列160。位址隨著輸入訊號SI自接腳121提供於記憶體175並提供給位址解碼器161。位址解碼器可以包括字元線解碼器、位元線解碼器和其他合適的解碼器,其用以將提供的位址解碼和選擇該陣列160中對應的記憶體單元。
在這個例子中,陣列160的位元線耦接於頁緩衝器163,而頁緩衝器163又耦接於其他週邊電路174。頁緩衝器163可包括至少一儲存單元用以連接各位元線。位址解碼器161可以透過各自連接之位元線以選擇以及將陣列160中的特定記憶體單元耦接至頁緩衝器163。接著,頁緩衝器163可以儲存自該些指定之記憶體單元寫入或讀出之資料。
週邊電路包括邏輯電路或類比電路之電路形式,其並非陣列160之一部分,例如是位址解碼器161、控制器140、…等。在此例子中,方塊174標示其他週邊電路可以包括輸入-輸出(I/O)電路、資料輸出緩衝器、和其他記憶體175內之電路元件,該電路元件例如是一般目的處理器、特殊目的應用電路、或是組合式模組,其裝備系統式晶片,功能由該陣列160支援。
控制器140提供訊號以控制記憶體175的其他電路並用以實現各種於文中所述之操作。控制器140包括指令解碼器150,解碼器150包括邏輯電路,邏輯電路支援接收於串列接口之接續讀取指令,和狀態機151或其他接續邏輯電路,其包括可提供暫停接續讀取狀態之邏輯電路。控制器可以如同本領域通常技術中被特殊目的邏輯電路所執行。於其他實施例中,控制器包括一般目的處理器,處理器可以於同樣的記憶體175中執行,記憶體175執行電腦程式以控制元件之操作。於更他更多實施例中,特殊目的邏輯電路和一般目的處理器之組合可以用以執行該控制器。
指令碼伴隨輸入訊號SI根據SPI協定由接腳121提供於記憶體175並提供於指令解碼器150。指令解碼器150將接收到之指令碼解碼。指令解碼器150也可以基於解碼指令設定狀態用於記憶體175之狀態機151。基於狀態機151之狀態,控制器140提供訊號於位址解碼器161、頁緩衝器163、其他週邊電路174、或記憶體175中之其他電路以執行對應至狀態機151所儲存之狀態之一個或複數個操作。
儲存於陣列160之資料可透過位元組區塊或其他具有適當大小的區塊,像是4位元組區塊或8位元組區塊等等,來定址。於陣列160中,各組可以有一位址。資料組可以藉由提供記憶體175讀取要求,其要求包括該資料組之位址,而被記憶體175被讀取。
記憶體175提供接續讀取狀態。當於接續讀取狀態時,只要SCLK保持啟動狀態,記憶體175自動輸出複數個資料組,其中該些資料組係於陣列160中接續地被寫上位址。舉例而言,在第一資料位元組(例如為十六進位“03FFF2”)自輸出接腳122輸出之後,記憶體175自動地輸出位址標示為“03FFF3”之第二資料位元組,其中第二資料位元組之位址係接續於第一資料位元組之位址。記憶體繼續輸出具有與前一輸出之資料組有接續關係之資料組(例如“03FFF5”,“03FFF6”,“03FFF7”等等),直到SCLK停止為止,或直到狀態自接續讀取狀態改變,舉例來說,其可以發生在當晶片致能訊號CS#改變。其詳細細節如以下文中所述。
記憶體175依照記憶體175之指令協定接收和處理輸入資料以及輸出資料。第2圖係一時序圖,描述記憶體175之指令協定。在這個例子中,於201之情況,晶片致能訊號從高位準改變為低位準。當晶片致能訊號CS#維持在低位準時,記憶體175處於啟動模式並可用於接收和處理輸入訊號。串列時脈訊號SCLK透過接腳123(於情況202)被提供至記憶體175。記憶體175藉由將輸入/輸出資料位元閂於接續時脈訊號SCLK以輸入或輸出資料。
如第2圖所示之例子,在情況201和202之後的指令週期203期間,位元組之指令碼或是位元組之序列(例如,用於一接續讀取指令之二進位碼“00000011”)被提供給記憶體175之連接於接腳121之資料輸入線,每一個指令位元碼閂於該串列時脈訊號SCLK之一上升邊緣(例如:該指令期間203有8個週期用於該二進位碼“00000011”)。
在這個例子之中,指令解碼器150解碼該接收指令碼(例如:該二進位碼“00000011”)以及判定其是否為序列讀取指令。於判定完該序列讀取指令後,指令解碼器150於狀態機151中設定序列讀取狀態。同時,於位址期間204,對應為一表示儲存於陣列160之資料之起始位址,其為該接續讀取指令要求,指令解碼器150(或是其他控制器140之模組)解碼其後之位元組或是經由連接於接腳121之資料輸入線接收之複數個位元組。舉例而言,在位址期間204,一3-位元組位址(例如: 十六進位表示之“03FFF2”)可以透過連接於接腳121之資料輸入線被提供於該記憶體175。每一個3-位元組位址之位元被閂於一串列時脈訊號SCLK之一上升邊緣(例如:對於該3-位元組位址而言,該位址期間204有24個時脈週期)。
於接續讀取狀態時,記憶體175可以接續地輸出資料,於接續讀取指令之啟動位址下,自第一資料組開始進行。舉例來說,控制器140可以提供起始位址和輸出組空間(例如:一位元組)於位址解碼器161。位址解碼器161選擇對應到之起始位址之位元組之陣列160之記憶體單元,並且將所選之記憶體單元耦合至頁緩衝器163。控制器140亦發出控制訊號給頁緩衝器163和其他週邊電路174以將儲存於所選之記憶體單元之第一資料位元組發送至輸出接腳122。每一資料之第一位元組之位元被閂於串列時脈訊號SCLK之一下降邊緣,並且轉送至連接於輸出接腳122之資料輸出線。在這個例子當中,於第2圖所繪之期間205之中,於接續讀取指令之起始位址(例如: 十六進位表示之“03FFF2”)之資料之第一位元組(如第2圖所示之“資料輸出位元組1”)係以8個時脈週期之態輸出。
於序列讀取狀態,若串列時脈SCLK正在運作以及晶片致能訊號CS#維持於低位準,則輸入接腳121不需要額外的指令和位址資料,記憶體175於資料之第一位元組之後,即可持續序列地輸出資料。舉例來說,於資料之第一位元組(十六進位表示“03FFF2”之位址)輸出之後,接續於資料之位元組之位址之資料之位址之第二位元組(例如: 十六進位表示“03FFF3”)輸出至輸出接腳122。資料之第二位元組之每一個位元閂於串列時脈SCLK之一下降邊緣並且轉送於連接至接腳122之資料輸出線。於此,於第2圖所繪之期間206之中,資料之第二位元組(如第2圖所示之“資料輸出位元組2”)係以8個時脈週期之態輸出。
接續讀取狀態可以藉由將晶片致能訊號CS#狀態由低改變至高而被終止。當晶片致能訊號CS#係維持於高位準時,記憶體175係處於一失能(inactive)模式並且停止輸出資料。於該晶片致能訊號CS#從低位準改變至高位準時,記憶體175改變記憶機151之接續讀取狀態之狀態至其他。
當維持晶片致能訊號CS#低位準時,如第2圖所繪示之接續之資料輸出可以藉由終止串列時脈SCLK而以暫停。於此法中,接續讀取狀態係暫停或保存於狀態機151中,並且接續資料出書係暫停的。該接續資料輸出可以藉由重起該串列時脈SCLK而被重起。
記憶體175可以自與記憶體175相接之記憶體控制器接收用以接續讀取指令之指令碼和如前文所述之起始位址。第3圖係與記憶體相接之記憶體控制器之方塊圖,記憶體例如是第1圖所繪示之記憶體175。在這個例子中,記憶體控制器310透過SPI匯流排介面350與記憶體175相接。該記憶體控制器310包括一記憶體介面(I/F)312,該記憶體介面(I/F)312控制該SPI匯流排之訊號(SI輸入訊號,SO輸出訊號,SCLK時脈,CS#訊號)進出該記憶體175。
記憶體控制器310和記憶體175可以係電腦系統之一部分。該記憶體控制器310包括一系統介面(I/F)311,該系統介面(I/F)311透過主機匯流排與電腦系統300之其他組件,例如是用以執行軟體程式之處理器子系統、用以儲存使用者資料之檔案儲存子系統、以及其他元件和控制器(例如:輸入/輸出元件、網路介面元件、匯流排控制器),進行相接。該系統介面311儲存匯入和匯出資料於資料接收緩衝器(Rx)和資料傳送緩衝器(Tx)。
在這個例子中,控制器包括控制有限狀態機315,該控制有限狀態機315與控制器310之其他電路相互連接以執行各種操作,其操作包括對記憶體175進行讀取、設計(程式)、和消除。在這個例子中,用於各種操作之資訊係儲存於配置設備,配置設備例如是讀取、設計(程式)、和消除之配置設備。該控制有限狀態機315透過存取於配置設備(例如:該讀取配置設備)之資訊,於該記憶體175上執行操作(例如:讀取操作);以及透過該SPI匯流排介面350,使該記憶體介面312用以傳送給和接收於該記憶體175指令碼。該控制器可以利用其他樣式之邏輯電路包括如本領域所熟知之特殊目的邏輯電路以實現。於其他實施例中,該控制器包括用以執行電腦程式之一般目的處理器,其用以控制記憶體175上之操作。於其他更多之實施例中,特殊目的邏輯電路和一般目的處理器之組合可以用以實現該控制器。
電腦系統與記憶體175合併之執行於處理器上之高階應用程式,例如像是軟體應用程式或檔案系統程式,其檔案系統程式例如像是光碟檔案系統程式(例如:File Allocation Table or FAT file system)或是自然快閃檔案系統程式(例如:Journaling Flash File System Version 2 or JFFS2),或是快閃轉譯層程式,該快閃轉譯層程式可以產生欲將資料儲存於記憶體175之讀取要求。舉例來說,檔案系統程式可以將讀取要求(來自軟體應用程式)之邏輯位址轉譯為於記憶體175中之實體位址,並且提供該要求資料之實體位址和空間於記憶體控制器(例如:透過該主機匯流排)。舉例來說,當收到來自該檔案系統程式之實體位址時,控制有限狀態機315判定讀取要求之起始實體位址。於其他實施例中,檔案管理系統程式可以提供讀取要求之邏輯位址和所要求之資料之空間於記憶體控制器310。控制有限狀態機315藉由自該檔案系統程式所接收之邏輯位址轉譯為起始實體位址,以判定該讀取要求之起始實體位址。控制有限狀態機315亦判斷用於讀取要求之結尾實體位址。舉例來說,記憶體175之陣列160儲存之資料係以位元組形式儲存,位元組如同前文所述係以3-位元組形式表示該位址。若起始實體位址(讀取要求之第一位元組)係十六進位形式“10AB05”,另一方面要求之資料空間係八位元組,則結尾實體位址(讀取要求之最後位元組)係十六進位形式“10AB0D”。
接著,控制有限狀態機315使記憶體介面312設定晶片致能訊號CS#為低位準。若訊號CS#已經維持在低位準(例如:該記憶體175由於前一操作而係啟動(active)的),則記憶體介面312可以首先設定該訊號CS#為高位準,然後再設定該訊號CS#為低位準。也就是說,該記憶體控制器310(伴隨著該記憶體介面312)可以終止該記憶體175之前一操作,並且藉由施加脈衝於該CS#控制訊號線以重新啟動該記憶體175。該記憶體介面312亦起始耦接於該記憶體175之串列時脈SCLK。該記憶體介面312亦透過該SI輸入訊號,提供指令碼(用於接續讀取指令)和該起始實體位址於該記憶體175。該記憶體175解碼該指令碼和該起始實體位址,以及起始接續讀取操作。該記憶體175自如先前所述之起始實體位址開始接續地輸出資料。該記憶體介面312(例如:受該控制有限狀態機315之指令)可以藉由例如是改變該訊號CS#自低位準為高位準,或是依據處理流程之干擾之一些種類,停止該接續讀取操作,其改變動作可以於自起始實體位址至結尾實體位址被記憶體175輸出,並將所有之位元組儲存於陣列160之後。輸出位元組(也就是要求之資料)可以被控制有限狀態機315處理,並且通過還於(透過該系統介面311和該主機匯流排)執行於處理器子系統之檔案系統程式。
如第2圖所繪示,在記憶體175用於讀取要求以儲存資料之接續讀取操作需要32個時脈週期之用量用於指令碼和讀取要求之起始實體位址,無論是否要求之資料空間為一位元組(8個時脈週期)或是一千個位元組(8192個時脈週期)。因此,平均讀取表現(也就是每一個時脈週期之位元組)在一個小的要求資料空間下(也就是一個或少數個位元組)之讀取要求,或是在每一個要求具有小的要求資料空間之複數個讀取要求之群組,可以係較低的。
然而,若被兩個或兩個以上之讀取要求之要求資料被接續地儲存於記憶體175中,則用於這些讀取要求之資料可以接續地依讀取指令和起始實體位址自記憶體175讀取。舉例來說,用於第一讀取要求之接續讀取操作可以藉由提供記憶體175用於第一讀取要求之讀取指令和起始實體位址而開始。於用於第一讀取要求之資料被記憶體175讀取之後,接續讀取操作可以藉由例如像是停止至記憶體175之串列時脈SCLK和維持該訊號CS#低位準而得以暫停。若跟隨於第一讀取要求之第二讀取要求有接續於第一要求之結尾實體位址之起始實體位址,用於第二讀取要求之資料可以藉由重起該接續讀取操作自記憶體175讀取,該重起,例如像是,重新啟動記憶體175之該串列時脈SCLK,其無須提供另外之第二讀取要求之讀取指令和起始實體位址。只要被下一個讀取要求之要求之資料係接續於前一個讀取要求之資料,資料可以藉由暫停和重新啟動該相同接續讀取操作連續地被記憶體175讀取。用於讀取指令和起始實體位址(為第一讀取要求)之時脈週期係被這些讀取要求所共用,因此改善對於這些讀取要求之每一之平均讀取表現(也就是每一個時脈週期之位元組)。
第4圖係流程圖,該流程圖用於表示產生一指令序列之方法,其用在記憶體裝置上以回應讀取要求。該方法可以藉由控制邏輯電路控制該記憶體裝置用以實行。在這個例子當中,該方法可以由如第3圖所示之記憶體控制器310之讀取存取管理模組所執行。該讀取存取模組包括接續讀取暫停/重起程式,其程式執行暫停或重新啟動用於如文中所述之多樣之讀取要求之接續讀取操作。此用於存取記憶體裝置之方法之實施方式可以顯而易用於存取記憶體裝置之電腦系統上執行之高階應用程式。另一方面,該方法可以由存取記憶體裝置之電腦系統上執行之檔案系統程式之部分軟體所執行。
步驟410係第4圖之流程圖所繪示之回應於讀取要求之存取記憶體裝置之方法之開始。在步驟410中,回應於記憶體裝置中用以儲存資料之第一要求,該方法形成第一讀取序列用於記憶體裝置之指令協定。該第一讀取序列包括指令碼和起始實體位址。
舉例來說,該讀取存取管理模組自存取資料於該記憶體175之系統之主機(例如:處理器和執行於該處理器之應用程式)接收第一讀取要求。該第一讀取要求可以包括例如是用於將資料儲存於記憶體175之起始實體位址和該要求資料之空間。基於該第一讀取要求,該讀取存取管理模組利用該記憶體裝置之指令協定構成第一讀取序列。舉例來說,該第一讀取序列可以包括指令碼(例如:文中前面所述之用於接續讀取指令之二進位碼“00000011”)和一起始實體位址(例如:十六進位表示之“03FFF2”,其中該實體位址意指與該讀取要求直接提供於該記憶體裝置之位址)。
該讀取存取管理模組亦可以計算用於該第一讀取要求之結尾實體位址。另一方面,該主機可以直接地令該起始實體位址和結尾實體位址通過至該讀取存取管理模組。
接著,該讀取存取管理模組使該記憶體介面312透過該SPI匯流排介面350,傳送該第一讀取序列之該指令碼和該起始實體位址至該記憶體175。該記憶體175將該指令碼和該起始實體位址解碼,和設定接續讀取狀態於該記憶體175中(例如:於狀態機151中),並且自起始實體位址開始執行對應之接續讀取操作用以接續地輸出儲存於該記憶體175之資料。對於該第一讀取要求,該讀取存取管理模組(透過該記憶體介面312)接收來自該記憶體175,自該第一讀取序列之起始實體位址開始,接續地輸出之資料。該讀取存取管理模組令接收之資料通過至該主機(透過該記統介面311和該主機匯流排),直到該第一讀取序列之結尾實體位址已被接收並且通過至該主機為止。
該第一讀取序列在該接續讀取操作暫停下結束。該接續讀取操作可以藉由停止至該記憶體175之該串列時脈SCLK和維持該訊號CS#低位準得以暫停,由此,停止接續資料被該記憶體175輸出。舉例而言,接著,該讀取存取管理模組可以儲存一參數,該參數表示該記憶體裝置保持在暫停接續讀取狀態,並偕充分之資訊以確認該暫停接續讀取操作之該結尾實體位址。
在步驟420中,在接收到第二要求時,根據該記憶體裝置之該指令協定,該方法判定第二讀取序列之起始實體位址。在步驟430中,該方法判定該第二讀取序列之該起始實體位址是否接續於該第一讀取序列之結尾實體位址。若該第二讀取序列之該起始實體位址係接續於該第一讀取序列之結尾實體位址,和該記憶體裝置維持在該第一讀取序列之該接續讀取狀態之下,則該方法藉由例如藉由重新啟動SCLK,利用不包括指令碼和起始實體位址的指令協定構成第二讀取序列 (步驟440)。SLCK輸入係與用於讀取指令以及讀取資料序列的位址和資料線分離。這讓SCLK的使用可成為信令協定以暫停及重新啟動序列讀取。其他信令協定亦可被利用,較佳地,可使用與用於指令、位指以及資料流之路徑相分離的信令路徑。
否則,若該當下讀取序列之該起始實體位址不係接續於該前一讀取序列之結尾實體位址,則該方法利用該指令協定構成該第二讀取序列,該第二讀取序列需包括讀取指令,該讀取指令包括指令碼和起始實體位址(步驟450)。
舉例來說,該讀取存取管理模組接收來自該主機(例如:存取該記憶體175之該系統之處理器和另外執行於該處理器上之應用程式)之第二讀取要求和判定第二讀取序列之起始實體位址。該讀取存取管理模組亦計算用於該第二讀取序列之結尾實體位址。
接著,該讀取存取管理模組比較該第二讀取序列之該起始實體位址和該第一讀取序列之該結尾實體位址。若該第二讀取序列之該起始實體位址係接續於該第一讀取序列之一結尾實體位址,則該讀取存取管理模組例如藉由重新啟動串列時脈SCLK,利用不包括指令碼和起始實體位址的指令協定來構成該第二讀取序列。再來,基於不含指令碼之該第二讀取序列,該讀取存取管理模組使該記憶體介面312重新啟動該串列時脈SCLK致使該記憶體175繼續用於該第一讀取序列之該接續讀取操作。對於該第二讀取要求,該讀取存取管理模組(透過該記憶體介面312)接收到自該記憶體175所接續地自該第二讀取序列之該起始實體位址開始所輸出之資料。該讀取存取管理模組令接收之資料通過至該主機,直到該第二讀取序列之該結尾實體位址被接收並通過於該主機為止。
若該第二讀取序列之該起始實體位址不係接續於該第一讀取序列之結尾實體位址,或是該記憶體裝置不係處於暫停接續讀取狀態之下,則該讀取存取管理模組利用該指令協定構成該第二讀取序列,該第二讀取序列需包括讀取指令(接續讀取指令之)。該第二讀取序列更包括該第二讀取要求之該起始實體位址。接著,該讀取存取管理模組使該記憶體介面312透過該SPI匯流排介面350而傳送該指令碼和該起始實體位址至該記憶體175。該記憶體175解碼該指令碼,和設定一新之接續讀取狀態,並且自該第二讀取要求之該起始實體位址開始啟動對應之接續讀取操作和接續第輸出資料。該讀取存取管理模組(透過該記憶體介面312)接收來自記憶體175所輸出之資料,該資料為自用於第二讀取要求之該起始實體位址至結尾實體位址,並且使用於第二讀取要求之接收之資料通過至該主機。
該第二讀取序列,無論是否包括指令碼,將更詳細地描述於下並請參照第5圖。
第5圖是回應於讀取要求,用於存取記憶體裝置(例如:記憶體175)之方法之流程圖。第5圖之該方法可以藉由繪示於第3圖之記憶體控制器310之其他組件和讀取存取管理模組所實現。第5圖之該方法亦可以利用位址參數,例如像是該位址參數儲存自當下接續讀取狀態之記憶體175所讀取之資料之最後區塊之位址。該位址參數可以用來確定自記憶體175接續地輸出之資料之起始位址。該位址參數可以儲存於實體配置,該實體配置可被該讀取存取管理模組所用。
第5圖之方法開始於步驟502。在步驟502,記憶體175設定係接續讀取狀態。舉例來說,當記憶體175電源開啟時,記憶體175可以被設定為一接續讀取狀態。在以下狀況,當如文後和第6圖所示之系統電源開啟、或重新啟動時,已知之起始實體位址很有可能被第一操作所讀取,則預設狀態可以設定為該接續讀取狀態。
如第5圖所示,在步驟504中,讀取存取管理模組接收到從可存取記憶體175之系統之主機(例如:處理器和執行於該處理器之應用程式)來之讀取要求。該讀取要求包括起始實體位址和一要求資料空間。該讀取存取管理模組可以根據該起始實體位址和要求資料空間來計算該讀取要求之結尾實體位址。
在步驟505中,該讀取存取管理模組判定該讀取要求之起始實體位址是否接續於記憶體175在當下接續讀取狀態時所讀取之資料之最後區塊之實體位址。該讀取存取管理模組可以讀取已存之位址參數,該位址參數表示自記憶體175所讀取之資料之最後區塊之實體位址,並且比較該位址參數和該讀取要求之起始讀取位址。
若該讀取要求之該起始實體位址是接續於自記憶體175在當下接續讀取狀態時所讀取之資料之最後區塊之實體位址,則如步驟506示,該讀取存取管理模組使記憶體介面312重新啟動至記憶體175之串列時脈SCLK。如同文前所述,當該串列時脈SCLK重新啟動時,記憶體175在當下接續讀取狀態下,重新啟動以接續地輸出資料。
如第4圖所述,若該讀取要求之該起始實體位址是接續於自記憶體175在當下接續讀取狀態時所讀取之資料之最後區塊之實體位址(也就是接續於前一讀取要求之結尾實體位址之後),回應於該讀取要求之讀取序列不包括用於一新之接續讀取指令之指令碼或位址(步驟440)。該讀取序列僅包括一手段用以重新啟動至記憶體175之串列時脈SCLK(步驟506),致使該記憶體175在當下接續讀取狀態之下重新啟動以接續地自該讀取要求之起始實體位址開始輸出資料。
在第5圖中,讀取存取管理模組(經由記憶體介面312)讀取資料之一區塊(步驟508),並判斷所有要求的資料是否已從記憶體175讀取(步驟510)。讀取存取管理模組於讀取要求之起始實體位址開始自記憶體175讀取區塊,並在從記憶體175所讀取之區塊資料具有讀取要求之結束實體位址時,判斷所有要求的資料是否已經自記憶體175讀取。
若所有要求之資料已經自記憶體175讀取,在步驟512中,該讀取存取管理模組令記憶體介面312關閉該串列時脈SCLK。在步驟514中,該讀取存取管理模組將自記憶體175所讀取之資料之最後區塊之位址紀錄於位址參數。在步驟516中,記憶體介面312維持該晶片致能訊號CS#低位準。藉由關閉該串列時脈SLCK和維持該晶片致能訊號CS#低位準,該當下接續讀取狀態係暫停的但保存在記憶體175中,同時記憶體175依然是啟動的並用以接收接下來的輸入,如同第5圖所示之步驟516至步驟502之反還迴圈。
若該讀取要求之該起始實體位址不是接續於自記憶體175所讀取之資料之最後區塊之實體位址(如步驟505之判定),則該讀取管理模組可以設定記憶體175新之接續讀取狀態。該讀取存取管理模組致使記憶體介面312以設定晶片致能訊號CS#高位準(步驟520)。設定該晶片致能訊號CS#高位準結束狀態機151中之該當下接續讀取狀態並且令記憶體175為無效模式。在步驟522中,該讀取存取管理模組致使記憶體介面312設定該晶片致能訊號CS#低位準以使記憶體175處於啟動模式以便就緒於接收和處理輸入訊號。
在步驟524中,記憶體介面312重新啟動串列時脈SCLK至記憶體175,以使資料可以被輸入和輸出於記憶體175。在步驟526中,記憶體介面312發出讀取要求之指令碼(用於接續讀取指令)和起始實體位址至記憶體175。如同稍早所提,該指令解碼器150解碼該指令碼並且設定新之接續讀取狀態於該狀態機151中,致使記憶體175接續地自起始實體位址開始輸出資料。該讀取存取管理模組接續地自讀取要求之起始實體位址開始讀取資料之區塊,直到所有要求之資料皆已被記憶體175所讀取為止(如同步驟508至步驟510所示之迴圈)。
如第4圖所描述,若該讀取要求之該起始實體位址不是接續於自記憶體175在當下接續讀取狀態時所讀取之資料之最後區塊之實體位址(也就是說,不是接續於前一讀取要求之結尾實體位址之後),該回應於讀取要求之讀取序列包括指令碼,該指令碼用於新之接續讀取指令(步驟450)。如同第5圖所描繪該讀取序列包括一手段,其手段用以施加脈衝至該晶片致能訊號線(步驟520和步驟522),和重新啟動該串列時脈SCLK至記憶體175(步驟524),並且發出指令碼(用於一新之接續讀取指令)和起始實體位址(步驟526)。該讀取序列致使記憶體175在新之接續讀取狀態之下接續地自讀取要求之起始實體位址開始輸出資料。
第6圖是一例之流程圖,該例是記憶體175電源啟動之序。在步驟602中,供應電壓提供於記憶體175(例如:藉由可存取記憶體175之系統)。在步驟604中,記憶體介面312(例如:由該讀取存取管理模組所執行)設定該晶片致能訊號CS#自高位準至低位準以用於記憶體175中。如稍早所述,當晶片致能訊號CS#為低位準,記憶體175為啟動的並可以接收和處理輸入訊號。在步驟606中,記憶體介面312開啟該串列時脈SCLK以輸入至記憶體175。在步驟608中,記憶體介面312發出指令碼和預設實體位址(例如:十六進位表示之“000001”)至記憶體175(透過連接於接腳121之輸入線。該指令碼包括一二位元碼用以接續讀取指令(例如: 如稍早所示之“00000011”)。在發出該指令碼和該預設位址之後,該記憶體介面312自記憶體175中關閉該串列時脈SCLK(步驟610)。在步驟612中,該讀取存取管理模組設定該位址參數為預設位址之前一區塊之位址(例如: 十六進位表示之“000000”),表示自記憶體175在存在接續讀取狀態之下輸出之資料之下一區塊將會是儲存於陣列160中之預設位址之資料之區塊。同時,在接收和解碼該指令碼之後,該指令解碼器150設定狀態機150為接續讀取狀態(步驟620)。在新之接續讀取狀態和一已供預設起始實體位址之下,記憶體175設置以接續地自儲存於陣列160之資料之區塊之預設位址開始輸出資料。由於該串列時脈SCLK在指令碼和預設位址提供至記憶體175之後立馬關閉,所以沒有資料會藉由記憶體175所輸出。在該串列時脈SCLK再一次地開啟之後,記憶體可以重新啟動以接續地自儲存於陣列160之資料之區塊之預設位址開始輸出資料。
在另一個實施例當中,在該串列時脈SCLK關閉之前,一用於一接續讀取指令之指令碼提供於記憶體175,並無需提供一實體位址。在這個例子當中,指令解碼器150設定狀態機151為一接續讀取狀態,該接續讀取狀態設定用以接續地自陣列160中之預設位址(例如:十六進位表示之“000001”)開始輸出資料。該位址參數設定為特殊值(旗標),表示在該串列時脈SCLK再一次地開啟之後,在當下接續讀取狀態下輸出之資料之下一區塊將會是陣列160之預設位址。
據此,文中所述之技術之該些實施例可以使得用於驅動邏輯電路之預設結尾實體位址值用在啟動事件上,像是重新啟動或電源開啟。
因此,第6圖是一個用以回應於讀取要求之存取記憶體裝置之方法之例子,其中讀取存取管理模組儲存參數,該參數表示用於記憶體裝置之實體位址(像是預設實體位址)。在這個例子當中,在接收到讀取要求時,該讀取存取管理模組根據記憶體裝置之指令協定判定讀取序列之起始實體位址,以及若該讀取序列之該起始實體位址符合該儲存之參數,則利用不包括指令碼之指令協定構成該讀取序列,否則利用包括讀取指令之指令協定構成該讀取序列。在接收到所謂的讀取要求之前,該讀取存取管理模組可以發出指令給記憶體裝置,致使記憶體裝置進入暫停接續讀取狀態。該步驟可以於電源開啟或重新啟動時發生,致使記憶體裝置進入暫停接續讀取狀態,並且設定該參數以表示一預設實體位址。順便一提,該參數可以被如上述之上接續讀取操作之結尾實體位址所判定或是構成。
第7圖是時序圖用以描述像是如第5圖所繪示之回應於讀取要求之用於存取記憶體裝置方法。
在這個例子當中,對於第一讀取要求,晶片致能訊號CS#設定為低位準(在情況701時),以設定記憶體175為啟動模式。串列時脈SCLK開啟(在情況702時)。在指令週期750和位址週期751之期間,指令碼(用於接續讀取指令)和起始實體位址分別發出給記憶體175。如同稍早所述,根據所提供之指令碼和起始實體位址,記憶體175設定為接續讀取狀態並且開始接續地輸出資料(自起始實體位址開始),如同第7圖所繪示之時間週期752和753。
在因應於第一讀取要求而使記憶體175輸出資料之後,如第7圖所繪示之情況703時,串列時脈SCLK即停止(步驟512),於同時,晶片致能訊號CS#是維持在低位準(步驟516)。因此,由記憶體175接續地輸出訊號之動作是中止的。記憶體175保持於暫停之由第一讀取要求所初始之接續讀取狀態(時間週期754)。
對於第二讀取要求,若該第二讀取要求之該起始實體位址是接續於該第一讀取要求之該結尾實體位址,在情況704時,串列時脈SCLK便重新啟動(步驟506)。因此記憶體175重新啟動以接續地自第二讀取要求之起始實體位址開始輸出資料,如第7圖所繪示之時間週期755和756。
對於第三讀取要求,若該第三讀取要求之該起始實體位址是接續於該第二讀取要求之該結尾實體位址,如第5圖所繪示之步驟520和522,晶片致能訊號CS#便設定自高位準至低位準,藉由如繪示之該脈衝705。同樣的,在上一接續讀取結束時,SCLK便停止(在這個例子之中,縱使脈衝之時間區間可以是任何時間值,該停止即發生於脈衝705之前)。在晶片致能訊號CS#之中之脈衝705令記憶體175之指令解碼器150重新啟動。在情況706時,串列時脈SCLK重新啟動。在時間週期760和761期間,用於新之接續讀取指令之指令碼和該第三讀取要求之起始實體位址分別發送給記憶體175。如同所述之步驟520至526,記憶體175設定為一新之接續讀取狀態並且開始接續地自該第三讀取要求之該起始實體位址開始輸出資料,如同第7圖所繪示之時間週期762。
第8圖是電腦系統810之方塊圖,該電腦系統可以包括記憶體控制器和如第3圖所繪示之讀取存取管理模組。
電腦系統810傳統上包括處理器子系統814,該處理器子器統814透過匯流排子系統812聯繫於複數個週邊元件。這些週邊元件可以是包括儲存子系統824、使用者介面輸入元件822、使用者介面輸出元件820、和網路介面子系統816,其中儲存子系統824包括記憶體子系統826和檔案儲存子系統828。該輸入和輸出元件讓使用者與電腦系統810相互動作。網路介面子系統816提供介面至外界網路,其介面包括介面用於溝通網路818,並且透過溝通網路818以和對應之其他電腦系統之介面元件耦合。溝通網路818可以包括許多互相連接之電腦系統和溝通連結。這些溝通連結可以是有線之連結、光學連結、無線連結、或是任何其他用於資訊溝通之機制,但是,傳統上,該些溝通連結是以IP為基礎的溝通網路。在一實施例之中,溝通網路818是網際網路,在其他實施例之中,溝通網路818可以是任何適當之電腦網路。
網路介面之實體硬體物件有時候是被稱為網路介面卡(NICs),即便該物件不是一定要以卡片之形式存在:舉例來說,該物件可以是積體電路(ICs)和直接地接於主機板之連結器之形式,或是電腦系統之單獨之積體電路晶片和其他物件所組合之構件之形式。
使用者介面輸入元件822可以包括鍵盤、點入元件、掃描器、與顯示螢幕共用之觸控螢幕、音頻輸入元件、和其他形式之輸入元件,其中點入元鍵像是滑鼠、追蹤球、觸控面板、或繪寫版,其中音頻輸入元件像是聲音辨識系統、麥克風。通常,“輸入元件”形式之使用是意指包括所有可能形式之元件和將資訊輸入至電腦系統810或溝通網路818之方法。
使用者介面輸出元件820可以包括顯示子系統、印表機、傳真機、或無視訊顯示像是音頻輸出元件。該顯示指系統可以包括陰極射線管(CRT),平板元件像是液晶顯示器(LCD)、投影元件、或其他用以產生可見影像之機器。該顯示子系統亦可以提供無視訊顯示像是透過音頻輸出元件。通常,輸出元件” 形式之使用是意指包括所有可能形式之元件和將資訊自電腦系統810輸出至使用者或是其他機器或是電腦系統之方法。
儲存子系統824儲存基本程式和資料結構,用以提供其本發明之特定實施例之功能。舉例來說,本發明之特定實施例之可以實施該功能之各種模組可以儲存於儲存子系統824。舉例來說,用於一些或全部邏輯電路之程式碼可以儲存於儲存子系統824,其中該程式碼被該讀取存取管理模組用以執行如文前所提之存取記憶體裝置,其中該程式碼包括接續讀取暫停/重新啟動功能。這些軟體模組可以通常被處理器子系統814所執行。
記憶體子系統826傳統上包括許多記憶體,其記憶體包括一在程式執行期間用以儲存指令和資料之主要隨機存取記憶體(RAM)830,和用以儲存固定指令之唯讀記憶體(ROM)832。記憶體子系統826亦可以包括快閃記憶體831(例如:該記憶體175),其中該快閃記憶體831可以如說明書所示被記憶體控制器包括該讀取存取管理模組和其接續讀取暫停/重新啟動功能所操作。檔案儲存子系統828提供永久之儲存,其用於程式和資料檔案,亦可以包括伴隨可移出式媒介之硬碟驅動裝置、軟碟驅動裝置、CD ROM驅動裝置、光學驅動裝置、或是可移出式媒介閘。本發明之用於實施特定實施例之功能之模組可以提供於電腦可讀式媒介像是一個或多個CD-ROMs,和可以儲存於檔案儲存子系統828。主機記憶體子系統826包括其他如電腦指令,當電腦指令被處理器子系統814所執行時,其電腦指令致使電腦系統操作或執行如文中所述之功能。如文中所述,一般所謂用在「主機」或「電腦」之處理器和軟體是被執行於處理器子系統814以回應於在包括任何其他侷限的或遠端的用以儲存該指令和資料之主機記憶體子系統826之電腦指令和資料。
匯流排子系統812提供機制用以讓電腦系統810之各種物件和子系統與所提及之彼此溝通。雖然匯流排子系統812如圖繪示般為單線排,在其他實施例中之匯流排子系統可以使用多線排。
電腦系統810本身可以是各種形式包括個人電腦、可攜式電腦、工作平台、電腦終端、網路電腦、電視、中央處理機、伺服器園區、或任何其他資料處理系統,描繪於第8圖之電腦系統810之描述僅意指具體之用於描繪本發明較佳實施例之目的之例子。電腦系統810之許多其他種結構係有可能相較於第8圖所繪之電腦系統810多或少之物件。
雖然本揭露已以較佳實施例揭露如上,然其並非用以限定本揭露。本揭露所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作各種之更動與潤飾。因此,本揭露之保護範圍當視後附之申請專利範圍所界定者為準。
410~450‧‧‧步驟
Claims (22)
- 【第1項】一種回應於複數個讀取要求以存取一記憶體裝置之方法,包括:
回應於一第一要求,利用該記憶體裝置之一指令協定以構成一第一讀取序列,該第一讀取序列包括一指令碼和一起始實體位址;以及
於收到一第二要求時,根據該記憶體裝置之該指令協定以判定一第二讀取序列之一起始實體位址;若該第二讀取序列之該起始實體位址係接續於該第一讀取序列之一結尾實體位址,則利用不具一指令碼之該指令協定構成該第二讀取序列,否則利用具一讀取指令之該指令協定構成該第二讀取序列。 - 【第2項】如申請專利範圍第1項所述之方法,其中該指令碼包括藉由該記憶體裝置之一指令解碼器所譯碼之一位元組或一位元組序列,該第一讀取序列包括一控制線上之一脈衝,該記憶體裝置回應於該控制線上之該脈衝,重置(reset)該指令解碼器。
- 【第3項】如申請專利範圍第1項所述之方法,其中該第一讀取序列包括一控制線上之一脈衝,以及該指令碼包括在至少一資料線上跟隨於該脈衝之一位元組或一位元組序列,該控制線係一晶片致能控制線。
- 【第4項】如申請專利範圍第1項所述之方法,其中該記憶體裝置包括一狀態機,該狀態機包括一接續讀取狀態,該第一讀取序列在該接續讀取狀態暫停時結束,該接續讀取狀態透過一線上之一訊號協定而暫停,該線係分離於至該記憶體裝置之一指令線或一資料線,該接續讀取狀態藉由到該記憶體單元之一晶片致能控制線上之一訊號協定而結束。
- 【第5項】如申請專利範圍第1項所述之方法,其中該記憶體裝置包括一狀態機,該狀態機包括一接續讀取狀態,該第一讀取序列在該接續讀取狀態暫停時結束,該接續讀取狀態藉由停止到該記憶體裝置之一時脈訊號而暫停,該接續讀取狀態藉由再次啟動到該記憶體單元之該時脈訊號而再次啟動。
- 【第6項】如申請專利範圍第1項所述之方法,其中若該第二讀取序列之該起始實體位址係接續於該第一讀取序列之一結尾實體位址之後,則該第二讀取序列包括僅再次啟動到該記憶體裝置之一時脈,使當該記憶體裝置係於一接續讀取狀態時,該記憶體裝置接續地自該第二讀取序列之該起始實體位址輸出資料。
- 【第7項】如申請專利範圍第1項所述之方法,其中若該第二讀取序列之該起始實體位址不接續於該第一讀取序列之一結尾實體位址之後,則該第二讀取序列包括施加一脈衝在一晶片致能控制線上,起始至該記憶體裝置之一時脈,和發出一指令碼使該記憶體裝置接續地自該第二讀取序列之該起始實體位址輸出資料,其中該指令碼包括該第二讀取序列之該起始實體位址。
- 【第8項】如申請專利範圍第1項所述之方法,更包括:
將一讀取要求中的一位址轉譯至一實體位址,該實體位址用於至該記憶體裝置之一讀取指令;
伴隨一指令碼且不具一起始實體位址,在該記憶體裝置之一狀態機中設定一接續讀取狀態;以及
藉由停止到該記憶體裝置之一時脈訊號而使該接續讀取狀態暫停。 - 【第9項】一種耦接於一記憶體裝置之裝置,包括:
一邏輯電路,該邏輯電路配置用以:
回應於一第一要求,利用該記憶體裝置之一指令協定以構成一第一讀取序列,該第一讀取序列包括一指令碼和一起始實體位址;以及
於收到一第二要求時,根據該記憶體裝置之該指令協定以判定一第二讀取序列之一起始實體位址;若該第二讀取序列之該起始實體位址係接續於該第一讀取序列之一結尾實體位址,則利用不具一指令碼之該指令協定構成該第二讀取序列,否則利用具一讀取指令之該指令協定構成該第二讀取序列。 - 【第10項】如申請專利範圍第9項所述之裝置,其中該指令碼包括藉由該記憶體裝置之一指令解碼器所譯碼之一位元組或一位元組序列,該第一讀取序列包括一控制線上之一脈衝,該記憶體裝置回應於該控制線上之該脈衝,重置(reset)該指令解碼器。
- 【第11項】如申請專利範圍第9項所述之裝置,其中該第一讀取序列包括一控制線上之一脈衝,以及該指令碼包括在至少一資料線上跟隨於該脈衝之一位元組或一位元組序列,該控制線係一晶片致能控制線。
- 【第12項】如申請專利範圍第9項所述之裝置,其中該記憶體裝置包括一狀態機,該狀態機包括一接續讀取狀態,該第一讀取序列在該接續讀取狀態暫停時結束,該接續讀取狀態透過一線上之一訊號協定而暫停,該線係分離於至該記憶體裝置之一指令線或一資料線,該接續讀取狀態藉由到該記憶體單元之一晶片致能控制線上之一訊號協定而結束。
- 【第13項】如申請專利範圍第9項所述之裝置,其中該記憶體裝置包括一狀態機,該狀態機包括一接續讀取狀態,該第一讀取序列在該接續讀取狀態暫停時結束,該接續讀取狀態藉由停止到該記憶體裝置之一時脈訊號而暫停,該接續讀取狀態藉由再次啟動到該記憶體單元之該時脈訊號而再次啟動。
- 【第14項】如申請專利範圍第9項所述之裝置,其中若該第二讀取序列之該起始實體位址係接續於該第一讀取序列之一結尾實體位址之後,則該第二讀取序列包括僅再次啟動到該記憶體裝置之一時脈,使當該記憶體裝置係於一接續讀取狀態時,該記憶體裝置接續地自該第二讀取序列之該起始實體位址輸出資料。
- 【第15項】如申請專利範圍第9項所述之裝置,其中若該第二讀取序列之該起始實體位址不接續於該第一讀取序列之一結尾實體位址之後,則該第二讀取序列包括施加一脈衝在一晶片致能控制線上,起始至該記憶體裝置之一時脈,和發出一指令碼使該記憶體裝置接續地自該第二讀取序列之該起始實體位址輸出資料,其中該指令碼包括該第二讀取序列之該起始實體位址。
- 【第16項】如申請專利範圍第9項所述之裝置,其中該邏輯電路係更配置用以將一讀取要求中的位址轉譯至一實體位址,該實體位址用於該記憶體裝置之一讀取指令;該邏輯電路係更配置用以將該記憶體裝置之一狀態機設定為接續讀取狀態,其中該記憶體裝置伴隨一指令碼且不具一起始實體位址,在該記憶體裝置之一狀態機中設定一接續讀取狀態;以及藉由停止到該記憶體裝置之一時脈訊號而使該接續讀取狀態暫停。
- 【第17項】一種用以存取一記憶體裝置以回應於複數個讀取要求之方法,包括:
儲存一參數,該參數表示用於該記憶體裝置之一實體位址;以及
在接收到一讀取要求時,根據該記憶體裝置之一指令協定以判定一讀取序列之一起始實體位址;若該讀取序列之該起始實體位址符合儲存之該參數,則利用不具一指令碼之該指令協定構成該讀取序列,否則利用具一讀取指令之該指令協定構成該讀取序列。 - 【第18項】如申請專利範圍第17項所述之方法,其中該方法更包括在接收到該讀取要求之前,發出一指令給該記憶體裝置,使該記憶體裝置進入一暫停接續讀取狀態;以及判定該參數是否係自一前一之接續讀取操作下之結尾實體位址之後。
- 【第19項】如申請專利範圍第17項所述之方法,其中該方法更包括在電源開啟或重新啟動時,立即使該記憶體裝置進入一暫停接續讀取狀態,和設定該參數以表示一預設實體位址。
- 【第20項】一種耦接於一記憶體裝置之裝置,包括:
一邏輯電路,該邏輯電路配置用以:
儲存一參數,該參數表示用於該記憶體裝置之一實體位址;以及
在接收到一讀取要求時,根據該記憶體裝置之一指令協定以判定一讀取序列之一起始實體位址;若該讀取序列之該起始實體位址符合儲存之該參數,則利用不具一指令碼之該指令協定構成該讀取序列,否則利用具一讀取指令之該指令協定構成該讀取序列。 - 【第21項】如申請專利範圍第20項所述之裝置,其中該邏輯電路更係配置用以:
在接收到該讀取要求之前,發出一指令給該記憶體裝置,使該記憶體裝置進入一暫停接續讀取狀態;以及
判定該參數是否係自一前一之接續讀取操作下之結尾實體位址之後。 - 【第22項】如申請專利範圍第20項所述之裝置,其中該邏輯電路更係配置用以:
在電源開啟或重新啟動時,立即使該記憶體裝置進入一暫停接續讀取狀態,和設定該參數以表示一預設實體位址。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/291,998 US9411521B2 (en) | 2014-05-30 | 2014-05-30 | Method and apparatus for improving sequential memory read preformance |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201545164A true TW201545164A (zh) | 2015-12-01 |
TWI543175B TWI543175B (zh) | 2016-07-21 |
Family
ID=54701767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103134837A TWI543175B (zh) | 2014-05-30 | 2014-10-07 | 記憶體存取方法和裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9411521B2 (zh) |
CN (1) | CN105224480B (zh) |
TW (1) | TWI543175B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102192198B1 (ko) * | 2014-02-24 | 2020-12-17 | 삼성전자주식회사 | 전자 장치 및 그것의 통신 방법 |
JP2017027479A (ja) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | データ読出し方法及び情報処理システム |
US10152262B2 (en) | 2016-05-03 | 2018-12-11 | Micron Technology, Inc. | Memory access techniques in memory devices with multiple partitions |
KR102469958B1 (ko) | 2017-10-27 | 2022-11-25 | 삼성전자주식회사 | 블록 주소 없이 액세스되는 불휘발성 메모리 장치 및 그 동작 방법 |
JP2019164486A (ja) * | 2018-03-19 | 2019-09-26 | 東芝メモリ株式会社 | 情報処理システム、情報処理方法及びメモリシステム |
WO2020057229A1 (zh) * | 2018-09-21 | 2020-03-26 | 华为技术有限公司 | 数据检索方法及装置 |
US10977121B2 (en) | 2018-10-17 | 2021-04-13 | Macronix International Co., Ltd. | Fast page continuous read |
US11048649B2 (en) | 2018-10-17 | 2021-06-29 | Macronix International Co., Ltd. | Non-sequential page continuous read |
US11360185B2 (en) * | 2018-10-24 | 2022-06-14 | Infineon Technologies Ag | Phase coded FMCW radar |
US10957384B1 (en) | 2019-09-24 | 2021-03-23 | Macronix International Co., Ltd. | Page buffer structure and fast continuous read |
US11302366B2 (en) | 2020-03-06 | 2022-04-12 | Macronix International Co., Ltd. | Method and system for enhanced read performance in low pin count interface |
US11249913B2 (en) | 2020-03-06 | 2022-02-15 | Macronix International Co., Ltd. | Continuous read with multiple read commands |
US11409443B2 (en) * | 2020-12-01 | 2022-08-09 | Western Digital Technologies, Inc. | Intelligent memory wear leveling |
CN116504293B (zh) * | 2023-06-27 | 2023-10-13 | 芯天下技术股份有限公司 | nor flash的读取方法、装置、存储芯片及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071570A1 (en) * | 2003-09-26 | 2005-03-31 | Takasugl Robin Alexis | Prefetch controller for controlling retrieval of data from a data storage device |
CN102012788B (zh) * | 2009-09-07 | 2012-07-18 | 群联电子股份有限公司 | 下达读取指令与数据读取方法、闪存控制器与储存系统 |
US8996785B2 (en) * | 2009-09-21 | 2015-03-31 | Aplus Flash Technology, Inc. | NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with serial interface |
US20130056260A1 (en) * | 2011-09-01 | 2013-03-07 | Pyromation, Inc. | Terminal connector head |
KR102131802B1 (ko) * | 2013-03-15 | 2020-07-08 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법 |
-
2014
- 2014-05-30 US US14/291,998 patent/US9411521B2/en active Active
- 2014-10-07 TW TW103134837A patent/TWI543175B/zh active
- 2014-10-22 CN CN201410565843.6A patent/CN105224480B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TWI543175B (zh) | 2016-07-21 |
CN105224480A (zh) | 2016-01-06 |
US9411521B2 (en) | 2016-08-09 |
US20150347027A1 (en) | 2015-12-03 |
CN105224480B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI543175B (zh) | 記憶體存取方法和裝置 | |
US10275377B2 (en) | Dynamic boot image streaming | |
US20190079558A1 (en) | Docking device, electrical device, and mac address cloning method | |
JP2008009817A (ja) | 半導体装置及びデータ転送方法 | |
US20090049232A1 (en) | Execute-in-place implementation for a nand device | |
US11055220B2 (en) | Hybrid memory systems with cache management | |
US9507744B2 (en) | Handling two SGPIO channels using single SGPIO decoder on a backplane controller | |
US11132308B2 (en) | Semiconductor device and semiconductor system | |
US9892032B2 (en) | Management of random cache read operations | |
TW201344444A (zh) | 主機板及應用於該主機板的資料處理方法 | |
JP2016143422A (ja) | シリアルデバイスの構成 | |
CN116610601A (zh) | 一种数据传输装置及其控制方法、装置、介质 | |
KR20170073266A (ko) | 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 | |
US20040167999A1 (en) | Data transfer control device, electronic instrument, program and method of fabricating electronic instrument | |
JPH09259068A (ja) | 拡張入出力インターフェイス | |
TWI716909B (zh) | 記憶體控制系統及操作記憶體控制系統的方法 | |
TWI591483B (zh) | 交換器系統 | |
TW200832141A (en) | Semiconductor integrated circuit, system device including semiconductor integrated circuit, and semiconductor integrated circuit control method | |
US9606951B2 (en) | External electronic device and interface controller and external electronic device control method | |
CN113127399B (zh) | 一种通用串列汇流排装置以及存取方法 | |
TWI815725B (zh) | 電腦系統 | |
TWI612424B (zh) | 交換器系統 | |
JP2006215648A (ja) | コンピュータの高速起動システム及び方法 | |
US20200293429A1 (en) | Semiconductor Apparatus and Debug System | |
JP6810962B2 (ja) | データ処理装置、データ転送装置、データ処理方法、及びデータ転送プログラム |