TWI639086B - 具有可中斷指令序列的記憶體及其操作方法 - Google Patents

具有可中斷指令序列的記憶體及其操作方法 Download PDF

Info

Publication number
TWI639086B
TWI639086B TW106118389A TW106118389A TWI639086B TW I639086 B TWI639086 B TW I639086B TW 106118389 A TW106118389 A TW 106118389A TW 106118389 A TW106118389 A TW 106118389A TW I639086 B TWI639086 B TW I639086B
Authority
TW
Taiwan
Prior art keywords
instruction
instruction sequence
write
sequence
logic
Prior art date
Application number
TW106118389A
Other languages
English (en)
Other versions
TW201743220A (zh
Inventor
陳耕暉
張坤龍
羅思覺
廖惇雨
Original Assignee
旺宏電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 旺宏電子股份有限公司 filed Critical 旺宏電子股份有限公司
Publication of TW201743220A publication Critical patent/TW201743220A/zh
Application granted granted Critical
Publication of TWI639086B publication Critical patent/TWI639086B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

一種記憶體元件包括指令邏輯允許指令以指令通訊協定中斷識別寫入操作的第一指令序列,然後直接進行接收和解碼識別讀取操作的第二指令序列,而不會發生與完成第一指令序列相關連的延遲。此外,指令邏輯被配置來回應發出於第二指令序列之後的第三指令序列。第三指令序列的嵌入操作和完成被中斷的第一指令序列相關聯,且能夠執行由第一指令序列所識別的嵌入式操作。

Description

具有可中斷指令序列的記憶體及其操作方法
本揭露書是有關於一種具有嵌入式邏輯(embedded logic)的記憶體元件,用來響應指令序列。特別是用來響應可中斷指令序列。
請參照第1圖,第1圖係繪示一種習知基本記憶體系統的簡化示意圖。在第1圖所繪示的基本記憶體系統中,主機2是用來執行以邏輯位址來讀取和寫入資料的程序。主機2通過通信連結(communication line)3與控制器4進行通信。在一些實施例中,主機2可以藉由微控制器單元(microcontroller unit,MCU)或專用記憶體控制器晶片(dedicated memory controller chip)中的軟體或其他邏輯結構來加以實現。在一些實施例中,主機2與控制器4可以在單一處理器上實現。在另一些實施例中,主機2與控制器4可以包括一部分複雜的資料處理系統。控制器4係做為主機2和實體記憶元件,例如記憶體6,之間的介面。控制器4將較高階的讀取和寫入請求轉換成特定記憶體6的指令語言。對於快閃記憶體而言,控制器4可以包括在一些系統中被稱 為記憶體技術元件(Memory Technology Device,MTD)的介面層。在該通用配置中,控制器4負責以與記憶體6相容的方式,結合記憶體6來編寫讀取和寫入操作的指令序列。
控制器通過匯流排(bus)5連接至記憶體6。為了說明起見,「匯流排」一詞,是指位於匯流排節點(bus nodes)之間,包括位於記憶體系統中的控制器4和記憶體6之間的匯流排節點(例如,記憶體控制器,微控制器或控制記憶體元件之操作的其他匯流排節點),用來傳送資料的通信系統。匯流排包括匯流排線(例如,實體層連接線,光纖,無線鏈路等)及匯流介面。其中,匯流介面包括位於元件上的輸入/輸出電路以及位於元件上的邏輯,二者係被整合來實現符合匯流排規範的通信協定。
在第1圖的配置中,控制器4使用具有多條匯流排線I/O 0~N的匯流排結構以及晶片選擇線(chip select line,CSB)(在本實施例中,係低電位致能)和時脈線(clock line,CK)。例如,匯流排5可以包括串列週邊介面(serial peripheral interface,SPI)匯流排或其他同步串列通信介面(synchronous serial communication interface),其特徵在於同步時脈線,晶片選擇線和與同步時脈線上的同步時脈同步的一個或多個資料線。串列週邊介面,通常使用四線同步串列通信協定,採用全雙工模式(full duplex mode)(時脈線、晶片選擇線、主設備輸入/從設備輸出(master in/slave out,MISO)或主設備輸出/從設備輸入(master out/slave in,MOSI)進行通信。串列週邊介面的一種變體形式,是使用單一雙向資料線(ingle bidirectional data line)(從設備輸入/ 從設備輸出(slave out/slave in,SISO)),而不是兩條單向資料線(MOSI和MISO)。另一種變體形式,是使用多條平行資料線(例如,IO0至IOn)來增加輸送量的多重輸入輸出串列週邊介面(I/O SPI)。與平行匯流排架構相比,這些串列匯流排架構結合了速度以及降低接腳數目的雙重優勢。其他匯流排標準包括I2C,其包括四線同步串列通信協定(four-wire synchronous serial communication protocol),但是採用差動信號(differential signaling),故而僅能提供單一條單工通信通道(single simplex communication channel)。
在一些高速記憶體系統中,例如可能用於所謂的就地執行(execution-in-place,XIP)系統的應用程式,期望能夠非常頻繁且非常快速地讀取資料以支援主機系統的任務功能。在例如快閃記憶體的某些記憶體類型中,寫入可以包括可能需要耗費大量時間的寫入操作和抹除操作。因此,如果主機需要在執行寫入操作和抹除操作期間讀取資料,則通常得等待這些操作完成之後方能進行。一些記憶體系統會實施寫入和抹除的暫停操作(suspend operations),允許控制器在寫入和抹除操作已經開始執行之後,發出暫停指令。回應於暫停指令,記憶體元件會執行退出寫入和抹除操作的操作。當完成時,會使系統接受讀取指令序列。然而,在關鍵讀取步驟中的時間延遲,可能造成系統性能的嚴重限制。
此外,由其是在串列協定(serial protocols)中,寫入指令序列可能相當長。例如,頁面寫入指令序列在匯流排上,可能需要數百位元組(bytes)的資料傳輸,包括指令碼,位址碼和整頁的資料。 且指令序列本身不可中斷。這個現象造成如第2圖所繪示的情況,主機可能希望快速地讀取資料,但是在發出暫停指令之前,必須等待幾百個時脈週期,直到寫入指令序列完成。且在進行讀取之前,還得等待暫停操作的完成。
第2圖係繪示使用串列週邊介面相容匯流排來實現的時序圖。其繪示晶片選擇線CSB(低電位致能)、時脈線CK和資料線DATA。在最上方一行中,從左到右進行寫入操作,晶片選擇線CSB從高電位切換到低電位,代表指令序列的開始。在本實施例中,控制器4隨後發出一個寫入操作碼WR,接著發出複數個位址位元組A1、A2、A3,然後是複數個資料位元組D1到Dn。在寫入指令序列的末端,晶片選擇線CSB從低電位切換為高電位21,係代表指令序列的結束,可使記憶體使用嵌入式邏輯進行寫操作。在一些先前的實施方式中,晶片選擇線CSB的電位切換21必須在指令序列中的最後一筆資料輸入後發生,否則操作將中止。例如,假設主機希望在寫入指令序列完成之前的時間點20或任何其他時間點讀取資料,則寫入指令序列必須先完成,隨後是晶片選擇線CSB從低電位切換為高電位。這樣的作法,使記憶體元件可以開始進行嵌入式的寫操作。然後,控制器使晶片選擇線CSB產生從高電位切換為低電位,指示另一個指令序列的開始。控制器發出暫停指令23,並且記憶體執行暫停操作。等到指定長度的時間之後或直到由記憶體提供就緒訊號之後,控制器7可以使晶片選擇線CSB在時間點22從低電位切換為高電位。此時,記憶體已準備好接受新的指令序列,如第2圖的下方一行所示。新的指令序列是本實施例 中的關鍵讀取,其中晶片選擇線CSB從高電位切換為低電位代表另一個指令序列的開始。控制器發出包括讀取操作碼RD,隨後發出位址位元組A1、A2和A3的指令序列,再使記憶體重新返回資料位元組D1至Dn。因此,如第2圖所示,控制器從其主機接收到請求之後,需要等待大量的時間。而這些等待時間係發生在控制器能夠由記憶體元件中存取所請求的資料之前。
第3圖和第4圖係顯示控制器中用來形成第2圖所示之指令序列的邏輯流程。從第3圖開始,當主機請求寫入(參見步驟100)時,操作程序開始進行。然後,主機發出寫入指令,其包括指令碼、位址位元組和要載入到記憶體(參見步驟101)中的資料。控制器中的邏輯判斷資料載入是否完成(參見步驟102)。如果資料載入在步驟102沒有完成,則載入另一個位元組或字串資料(參見步驟103),且操作程序繼續進行,直到資料載入完成。當資料載入完成時,記憶體元件進入嵌入式寫入操作程序,控制器等待嵌入式寫入操作程序的完成(參見步驟104)。
第4圖係繪示在方塊104所示的嵌入式寫入操作已經開始之後,接收到讀取請求的操作流程。第4圖從步驟106嵌入式寫入流程開始。主機中的邏輯監視是否出現讀取請求(參見步驟107)。如果沒有讀取請求,邏輯判斷嵌入式寫入操作程序是否完成(參見步驟108)。如果嵌入式寫入操作程序尚未完成,控制器繼續尋找讀取請求。在完成嵌入式寫入操作(參見步驟108)之後,控制器進入待機狀態(參見步驟100)。如果接收到讀取請求(參見步驟107),則控制器發出暫停指令(參 見步驟110)。然後,控制器等待記憶體的暫停就緒訊號(參見步驟111)。在接收到暫停準備就緒(參見步驟111)之後,控制器發出讀取指令序列,並且等待讀取操作程序的完成(參見步驟112)。讀取操作完成後,控制器發出恢復指令(參見步驟113)。恢復指令是暫停指令的互補,並使記憶體元件繼續執行被暫停的寫入操作程序。
因此,可以看出,當在寫入指令序列發出的期間以及在記憶體元件回應寫入指令序列而執行嵌入式寫入操作流程的期間內請求進行讀取操作,會引入實質的延遲。這種延遲可能會干擾高速記憶體系統中的關鍵讀取操作(mission-critical read operations)。
某些記憶體元件可以執行所謂的同時讀寫(read-while-write,RWW)操作。這些系統可以允許在嵌入式寫入操作正在進行時發出讀取指令。在這種情況下,如參考第2圖至第4圖所述,控制器可能不需要發出暫停指令。然而,寫入指令序列必須在讀取指令被發出去之前完成。此外,為了避免在記憶體元件上所進行的多個單獨操作之間產生相互干擾,適於被同時讀寫操作所存取的資料,可能有某些限制。例如,記憶體元件可能需要多重區塊架構(multiple bank architecture),以使讀取操作可在不同於併行寫入操作(parallel program operation)的記憶體庫上執行。即使在同時讀寫系統中,等待寫入指令序列的完成所涉及的延遲,仍可能在高速記憶體系統中引入顯著的多餘延遲。
解決讀取延遲問題的另一種方法包括引入隨機存取記憶體(Dynamic Random Access Memory,DRAM)9或其他高速記憶 體,如第5圖所繪示。在第5圖所繪示的記憶體系統中,控制器7被耦合至快閃記憶體8和隨機存取記憶體9。隨機存取記憶體9與和快閃記憶體8相互耦合的匯流排共用相同的資料線。隨機存取記憶體9可以被操作為各種配置的快取系統(cache system),藉以在某些情況下減少延遲。然而,額外的硬體和空間需求以及所需的額外邏輯處理可能會增加這類型系統的成本和費用。
因此,有需要提供一種可以降低高速記憶體系統中的讀取等待時間的系統。
本說明書的一實施例揭露一種記憶體元件,包括一個指令邏輯,允許在第一指令序列(例如頁面寫入序列)完成之前,中斷第一指令序列,然後直接對在控制器層級或主機層級上具有較高實施優先等級的第二指令序列進行接收和解碼程序,而不會發生與完成第一指令序列相關連的延遲。此外,此一指令邏輯係建構來在第二指令序列完成之後,回應第三指令序列,並且在完成與第二指令序列相關聯的嵌入式操作經之後,回應某些類型的指令,藉以完成被中斷的第一指令,並且執行由第一指令序列所標識的操作,例如頁面寫入操作。這些較高優先等級的指令序列,可以是為特定系統指定的,可以包括在主機或控制器層級被指定用於較高優先等級的其他序列,例如讀取序列(read sequences)、寫入暫存器序列(Write Register sequences)、寫入狀態序列(Write Status sequences)、設定保護配置序列(Set protect configuration sequences),讀取ID序列(Read ID sequences)、讀取狀態序列(Read status sequences)和抹除特殊暫存器序列(Erase special Registers sequences)等。而為了簡單說明起見,以下所述實施例中的較高優先等級指令序列,都僅針對讀取指令序列來進行說明。
本說明書的另一實施例揭露一種包括記憶體,例如NOR快閃記憶體之類的非揮發性記憶體元件。此記憶體元件具有匯流排界面,例如同步序列埠(synchronous serial port)。在一個實施例中,匯流排界面包括同步序列埠,且匯流排界面符合串列週邊介面(SPI)協議。記憶體元件包括用於存取記憶體並執行記憶體讀取和寫入操作的控制電路。例如對於快閃記憶體而言,控制電路包括可根據從指令邏輯所接收到的指令,而自動執行寫入和抹除操作的邏輯和偏壓電路(bias circuits)。記憶體元件還包括支援可中斷指令序列的指令邏輯。因此,本實施例中的指令邏輯係被配置來對匯流排界面上所接收到的指令序列進行解碼。指令序列可以包括操作碼,以及在匯流排界面上接收或發送的位址和資料中的一者或二者。指令邏輯還被配置來使控制電路能夠執行由指令序列所標識的操作。如本文所述,在接收到第一指令序列的同時,指令邏輯回應第一控制訊號(例如,晶片選擇訊號的第一次電位切換)而中斷第一指令序列。由於第一指令序列被中斷,因此與被第一指令序列所標識之操作相關聯的嵌入操作,在第一指令序列被中斷之前尚未被完全定義,且在某些情況下甚至尚未被啟動。指令邏輯回應跟隨於第一控制訊號之後的第二控制訊號(例如晶片選擇線CSB訊號的第二次電位切換),以接收第二指令序 列,並且對第二指令序列進行解碼,並啟動控制電路執行由第二指令序列所標識的操作。第一和第二控制訊號可以分別是,例如晶片選擇線上的單一個脈衝的前沿和後沿(leading and trailing edges)。匯流排界面在完成第二指令序列而釋出空間之後,指令邏輯可以回應第三控制訊號接收第三指令序列,並對第三指令序列進行解碼。第三指令序列可以包括操作碼,以及位址和資料中的一者或二者,可用以恢復被中斷的第一指令序列,並使控制電路能夠執行由第一指令序列所標識的操作。
在本說明書的一些實施例中,記憶體元件中的指令邏輯包括緩衝器,藉以能在解碼和執行第二指令序列的期間內,至少保留一部分的第一指令序列。此外,指令邏輯可以使用儲存在緩衝器中的一部分第一指令序列來對第三指令序列進行解碼。
在本說明書的一些實施例中,第一指令序列的操作碼,可標識出用來寫入由特殊匯流排線的匯流排界面所接收之資料的寫入操作;且第二指令序列的操作碼,可標識出用來讀取由相同特殊匯流排線的匯流排界面所接收之資料的讀取操作。
在本說明書的一些實施例中,第一指令序列的操作碼可以標識一寫入操作,並且第三指令序列包括第一指令序列的操作碼和位址。為了能夠實現與寫入操作相關聯的嵌入式操作,需要一個除第一控制訊號之外,另一個能夠確認寫入序列已被完成的事件。在本實施例中,寫入確認事件可以包括一種由指令序列所接收之資料數量的計數,或一種顯示指令序列已達到位址邊界(address boundary)的指示。
在本說明書的一些實施例,中第一指令序列的操作碼可以標識一寫入操作,並且第三指令序列包括一種與寫入操作碼不同,且不包括位址,的繼續寫入操作碼。
在本說明書的一些實施例中,第一指令序列的操作碼可以標識一寫入操作,並且第一指令序列可以標識一寫入計數(write count)。指令邏輯在接收到第一控制訊號的同時,可以判斷是否接收到由寫入計數所指定位於指令序列中的所有資料。如果沒有接收到所有的資料,則指令邏輯可以進入等待第二控制訊號的模式。如果已經接收到由寫入計數所指定的所有資料,則可以在第三指令序列結束時,根據所接收到的第一控制訊號或其他控制訊號啟動嵌入式寫入操作。
在本說明書的一些實施例中,第一指令序列的操作碼可以標識一寫入操作,指令邏輯係用來在接收跟隨於第三指令序列後的控制訊號之後,接收寫入確認操作碼,並且對寫入確認操作碼進行解碼,並且回應寫入確認操作碼,啟動由第一指令序列所標識的嵌入操作。
在本說明書的一些實施例中,可以多次中斷寫入指令序列。
本說明書的一實施例揭露一種操作記憶體的方法,其包括可中斷的指令序列。
說明書的一實施例揭露一種支援可中斷指令序列的指令協定以及用來實現指令協定的記憶體控制器。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
2‧‧‧主機
3‧‧‧通信連結
4、7‧‧‧控制器
5‧‧‧匯流排
6‧‧‧記憶體
8‧‧‧快閃記憶體
9‧‧‧隨機存取記憶體
20、22、30、32、33、40、41、42、43、50、52、53、60、62、64、70、72、74、84、90、92‧‧‧時間點
21‧‧‧晶片選擇線的電位切換
31、51、61、71、81、91‧‧‧控制訊號
34、44、W.CONF‧‧‧確認操作碼
54A‧‧‧位元組序列
63、73、83、CT‧‧‧寫入計數碼
86‧‧‧寫入確認碼
100‧‧‧請求寫入
101‧‧‧載入寫入指令
102‧‧‧判斷資料載入是否完成
103‧‧‧載入另一個位元組或字串資料
104‧‧‧進入嵌入式寫入操作程序
106‧‧‧嵌入式寫入流程開始
107‧‧‧是否出現讀取請求
108‧‧‧判斷嵌入式寫入操作程序是否完成
109‧‧‧待機狀態
110‧‧‧發出暫停指令
111‧‧‧等待記憶體的暫停就緒訊號
112‧‧‧讀取操作程序是否完成
113‧‧‧發出恢復指令
200、300、400、500、600、700‧‧‧待機模式
201‧‧‧偵測晶片選擇線是否從高電位切換至低電位
202‧‧‧解碼由匯流排接收的指令
203、303、503、603、703‧‧‧寫入指令
204、304、403、504、604、704‧‧‧讀取指令
205、306、76、506‧‧‧寫入確認指令
206、307、406、507、606‧‧‧其他指令
207‧‧‧載入寫入位址位元組
208‧‧‧偵測晶片選擇線是否從低電位切換至高電位
209‧‧‧載入資料位元組
210‧‧‧載入讀取位址位元組
211‧‧‧讀取記憶體陣列並輸出讀取資料
212‧‧‧執行嵌入式寫入
301‧‧‧偵測晶片選擇線是否從高電位切換至低電位
302‧‧‧解碼由匯流排接收的指令
305、405、505、605、705‧‧‧繼續寫入指令
310‧‧‧載入寫入位址位元組
310A‧‧‧載入寫入位址位元組
311‧‧‧偵測晶片選擇線是否從低電位切換至高電位
312‧‧‧載入資料位元組
314‧‧‧載入讀取位址位元組
315‧‧‧讀取記憶體陣列並輸出讀取資料
317‧‧‧偵測晶片選擇線是否從低電位切換至高電位
318‧‧‧載入資料位元組
320‧‧‧執行嵌入式寫入
401‧‧‧偵測晶片選擇線是否從高電位切換至低電位
402‧‧‧解碼由匯流排接收的指令
407‧‧‧載入寫入位址位元組
408‧‧‧載入寫入計數
409‧‧‧偵測晶片選擇線是否從低電位切換至高電位
410‧‧‧載入資料位元組
411‧‧‧判斷是否已接收到最後一個資料位元組
412‧‧‧執行嵌入式寫入
415‧‧‧載入讀取位址位元組
416‧‧‧讀取記憶體陣列並輸出讀取資料
418‧‧‧偵測晶片選擇線是否從低電位切換至高電位
419‧‧‧載入資料位元組
420‧‧‧判斷是否已接收到最後一個資料位元組
501‧‧‧偵測晶片選擇線是否從高電位切換至低電位
502‧‧‧解碼由匯流排接收的指令
510‧‧‧載入寫入位址位元組
511‧‧‧載入寫入計數
512‧‧‧偵測晶片選擇線是否從低電位切換至高電位
513‧‧‧載入資料位元組
514‧‧‧判斷是否已接收到最後一個資料位元組
514A‧‧‧將晶片選擇線切換至高電位
516‧‧‧載入讀取位址位元組
517‧‧‧讀取記憶體陣列並輸出讀取資料
520‧‧‧偵測晶片選擇線是否從低電位切換至高電位
521‧‧‧載入資料位元組
522‧‧‧判斷是否已接收到最後一個資料位元組
522A‧‧‧將晶片選擇線切換至高電位
524‧‧‧執行嵌入式寫入
601‧‧‧偵測晶片選擇線是否從高電位切換至低電位
602‧‧‧解碼由匯流排接收的指令
607‧‧‧載入寫入位址位元組
608‧‧‧載入寫入計數
609‧‧‧偵測晶片選擇線是否從低電位切換至高電位
610‧‧‧載入資料位元組
611‧‧‧判斷是否已接收到最後一個資料位元組
615‧‧‧載入讀取位址位元組
616‧‧‧讀取記憶體陣列並輸出讀取資料
618‧‧‧偵測晶片選擇線是否從低電位切換至高電位
619‧‧‧載入資料位元組
620‧‧‧判斷是否已接收到最後一個資料位元組
621‧‧‧判斷是否為寫入確認碼
622‧‧‧將偵測晶片選擇線切換至高電位
623‧‧‧執行嵌入式寫入
624‧‧‧錯誤狀態
701‧‧‧偵測晶片選擇線是否從高電位切換至低電位
702‧‧‧解碼由匯流排接收的指令
708‧‧‧載入寫入位址位元組
709‧‧‧偵測晶片選擇線是否從低電位切換至高電位
710‧‧‧載入資料位元組
711‧‧‧判斷是否達到邊界位址
715‧‧‧載入讀取位址位元組
716‧‧‧讀取記憶體陣列並輸出讀取資料
717‧‧‧偵測晶片選擇線是否從低電位切換至高電位
718‧‧‧載入資料位元組
719‧‧‧判斷是否達到邊界位址
720‧‧‧執行嵌入式寫入操作
800‧‧‧積體電路
802‧‧‧輸入/輸出
804‧‧‧串列時脈
805‧‧‧時脈產生器
806‧‧‧位址產生器
814‧‧‧資料暫存器
820‧‧‧指令邏輯
822‧‧‧狀態機
824‧‧‧靜態隨機存取記憶體緩衝器
826‧‧‧高壓產生器
828‧‧‧記憶體陣列
830‧‧‧X解碼器
832‧‧‧Y解碼器
834‧‧‧感測放大器
836‧‧‧輸出緩衝器
900‧‧‧啟動寫入功能
901‧‧‧發出寫指令序列
902‧‧‧判斷是否中斷寫入指令序列
903‧‧‧發出讀取指令序列
904‧‧‧判斷是否完成讀取
905‧‧‧發出繼續寫入指令
906‧‧‧載入資料並判斷是否已完成寫入指令序列
907‧‧‧發出寫入確認指令
CK‧‧‧時脈線
I/O 0~N‧‧‧匯流排線
CSB‧‧‧晶片選擇線
WR‧‧‧寫入操作碼
A1、A2、A3‧‧‧位址
RD‧‧‧讀取操作碼
54、55、65、75、85、95、D1~Dn、Dy、Dy+1、Dy+2‧‧‧資料位元組
DATA‧‧‧資料線
W.CON‧‧‧繼續寫入操作碼
W.CONF‧‧‧寫入確認操作碼
CS#、RESET#、GND、VDD SIOO、SIO1、SI、SO、SIO2、SIO3‧‧‧引腳
第1圖係繪示一種習知基本記憶體系統的簡化示意圖;第2圖係根據習知技術所繪示的寫入指令序列,暫停指令和讀取指令序列的時序圖;第3圖和第4圖係繪示用來形成第2圖之指令序列的控制器操作流程圖;第5圖係根據習知技術所繪示,包括DRAM快取記憶體的記憶體系統簡化示意圖;第6圖係繪示具有寫入確認指令以及包括操作碼、位址和資料之可中斷寫入指令序列的時序圖;第7圖係繪示另一種具有寫入確認指令但不具有位址之可中斷寫入指令序列的時序圖;第8圖係繪示一種位於記憶體元件中,用來對應第6圖和第7圖所示之可中斷寫入指令序列之指令邏輯的流程圖;第9圖係繪示一種具有寫入確認指令之可中斷寫入指令序列的時序圖。其中,繼續寫入指令序列可不包含被中斷之前所接收的第一寫入指令序列所載入的資料;第9A圖係繪示一種具有寫入確認指令和繼續寫入指令序列的可中斷寫入指令序列的時序圖; 第10圖係繪示一種位於記憶體元件中,用來回應如第9圖所示之可中斷寫入指令序列之指令邏輯的流程圖;第10A圖係繪示一種位於記憶體元件中,用來回應如第9A圖所示之可中斷寫入指令序列之指令邏輯的流程圖;第11圖係繪示一種包括寫入計數碼和繼續寫入指令之可中斷寫入指令序列的時序圖;第12圖係繪示一種位於記憶體元件中,用來對應如第11圖所示之可中斷寫入指令序列之指令邏輯的流程圖;第13圖係繪示一種包括繼續寫入指令序列和寫入確認指令之可中斷寫入指令序列的時序圖;第14圖係繪示一種位於記憶體元件中,用來對應如第13圖所示之可中斷寫入指令序列之指令邏輯的流程圖;第15圖係繪示一種包括寫入計數碼、繼續寫入指令序列和寫入確認碼之可中斷寫入指令序列的時序圖,其中寫入確認碼係繼續寫入指令序列的一部分;第16圖係繪示一種位於記憶體元件中,用來對應如第15圖所示之可中斷寫入指令序列之指令邏輯的流程圖;第17圖係繪示一種可中斷寫入指令序列的時序圖,其中寫入指令序列的結束,係由指令序列之外部資料所提供的位址邊界或寫入計數來決定; 第17A圖係繪示另一種可中斷寫入指令序列的時序圖,其中寫入指令序列的結束,係由指令序列之外部資料所提供的位址邊界或寫入計數來決定;第18圖係繪示一種位於記憶體元件中,用來對應如第17圖所示之可中斷寫入指令序列之指令邏輯的流程圖;第18A圖係繪示一種位於記憶體元件中,用來對應如第17A圖所示之可中斷寫入指令序列之指令邏輯的流程圖;第19圖係繪示一種記憶體元件的簡化方塊圖,其包括支援本說明書所述之可中斷寫入指令序列的指令邏輯和控制電路;第20圖係繪示一種形成本說明書所述之可中斷寫入指令序列的記憶體控制器簡化操作流程圖。
為了對本發明之上述實施例及其他目的、特徵和優點能更明顯易懂,下文特提供本技術之實施例,配合所附圖式第1圖至第20圖進行詳細說明。其中,圖式第1圖至第5圖係做為先前技術之背景資訊,並已詳述如前。
請參照第6圖,第6圖係根據本說明書的一實施例所繪示之可中斷寫入指令序列的時序圖。
為了達到本說明書所述的目的,指令序列包括位元組或位元組序列以及可選擇控制訊號(optional control signals)。包括位元組序列的指令序列可以包括第一位元組或多位 元組的集合,其包括操作碼。第二位元組或一位元組可以包括由操作碼所標識的操作位址。在寫入指令序列中,跟隨在位址之後的位元組可以包括在執行寫入操作時所要寫入的資料。在讀取指令序列中,指令序列可以藉由位址位元組來做為結束。某些類型的指令序列可以是僅包括一個或多個位元組的操作碼。另一些類型的寫入指令序列可以不需要位址。
一個位元組由8個位元(bits)所組成,是許多積體電路邏輯和記憶體電路中所使用的基本儲存單元。基本儲存單元可以具有其他大小,包括例如一位元、兩位元、四位元、16位元等等。因此,使用「位元組」一詞來描述上述指令序列以及本說明書其他實施例的描述方式,通常也適用於使用不同尺寸之儲存單元的電路;差別只是以「儲存單元」或「儲存單元集合」的來描述方式,來替換「位元組」或「位元組集合」一詞。而且,在一些實施例中,可以在單個指令序列中使用不同尺寸的儲存單元,例如將一個或多個四位元的儲存單元加以結合,以形成一個八位元的儲存單元。
第6圖係繪示晶片選擇線CSB(在本實施例中,係低電位致能)、時脈線CK以及使用於像串列週邊介面這樣的同步序列埠之資料匯流排線或線路DATA的時序圖。
第一指令序列係藉由將晶片選擇線CSB從高電位切換到低電位,以及開啟時脈線CK的時脈週期來起始。第一個指令序列的第一個位元組(在初始時脈脈衝期間接收到8位)包括應 用於可中斷寫入序列的操作碼WR。在一些實施例中,操作碼WR可以標識頁面寫入操作。在本實施例中,接下來的三個位元組包括用於寫入操作的起始位址。在位址之後,提供寫入操作的資料。在第三資料位元組D3之後的時間點30,控制器中斷了第一指令序列。在本實施例中,指令序列係被第一控制訊號31所中斷,此第一控制訊號31將晶片選擇線CSB從低電位切換到高電位,而沒有相應用來結束寫入序列的指令。在中斷第一指令序列時,控制器再次將晶片選擇線CSB從高電位切換到低電位,並提供第二指令序列。在本實施例中,第二指令序列的第一個位元組是讀取操作碼RD。緊跟在第一個位元組之後的三個位元組包括此一讀取操作的起始位址。在接收到起始位址之後,記憶體上的指令邏輯會啟動嵌入式讀取操作,並且在跟隨於位址後面的時脈週期內,從記憶體向控制器提供輸出資料。在讀取操作完成時,控制器在時間點32會將晶片選擇線CSB從低電位切換到高電位。稍後,控制器會將晶片選擇線CSB從高電位切換為低電位以啟動第三指令序列。第三指令序列包括恢復被中斷的寫入指令序列。在本實施例中,第三指令序列的第一個位元組是可中斷寫入序列的操作碼WR(與第一指令序列中所使用的操作碼相同)。接下來的三個位元組包括位址,而緊跟在後的位元組包括要被寫入的資料。在提供最後一個資料位元組之後,控制器在時間點33將晶片選擇線CSB從低電位切換到高電位。在本實施例中,嵌入式寫入操作在此階段並不啟動。相反的,控制器將晶片選擇線CSB從高電位切換到低電位,然後提供一個包括寫入確認操作碼W.CONF 34的單一位元組指令序列。在接收到寫入確認操作碼34時,指令邏輯啟 動記憶體上的控制電路,使用嵌入式邏輯來執行寫入操作。在本實施例以及本說明書所描述的其他指令序列中,在一些實施例中,控制器可以插入「虛擬(dummy)」週期。
前述的可中斷寫入指令序列可以被中斷無限多次,並藉由重複此一可中斷的寫入序列直到其成功來加以恢復。
第7圖係繪示類似第6圖的另一個指令序列,差別僅在於,第7圖所繪示的可中斷寫入指令序列省略了位址位元組。
在第7圖的實施例中,第一指令序列是藉由將晶片選擇線CSB從高電位切換到低電位,以及開啟時脈線CK的時脈週期來起始。第一指令序列的第一位元組包括應用於不具備位址位元組的中斷寫入序列的操作碼WR。在本實施例中,緊跟在後的位元組包括用於寫入操作的資料。寫入的位址資訊是由指令序列以外的邏輯來提供,例如由記憶體元件上的位址計數器或狀態暫存器提供,並藉由其他邏輯程序將位址資訊載入。
控制器決定在時間點40中斷第一指令序列。為了中斷該序列,晶片選擇線CSB在時間點41電位從低切換到高,其中並沒有用來結束第一指令序列的相應指令。然後,晶片選擇線CSB再度從高電位切換到低電位,以標示第二指令序列的開始。在本實施例中,第二指令序列的第一個位元組是讀取操作碼RD。緊接於第一個位元組之後的三個位元組包括讀取操作的起始位址。在接收到起始位址後,記憶體上的指令邏輯會啟動嵌入式讀取操作,並且在緊接於位址之後的時脈週期內,從記憶體向控制器提供輸出資料。在讀取操作完成時,控制器在時間點42將晶片選擇線CSB從低電位切換到高電位。稍後,控制器在度將晶片選擇線 CSB從高電位切換至低電位,藉以起始第三指令序列。第三指令序列包括恢復被中斷的寫入指令序列。在本實施例中,第三指令序列的第一個位元組是可中斷寫入序列的操作碼WR(與第一指令序列中所使用的操作碼相同)。接下來的位元組包括要被寫入的資料,以及如上所述由其他位址來源所提供的位址資訊。在提供最後一個資料位元組之後,控制器在時間點43將晶片選擇線CSB從低電位切換到高電位。在本實施例中,嵌入式寫入操作不會在此階段啟動。相反的,控制器將晶片選擇線CSB從高電位切換到低電位,然後提供一個包括寫入確認操作碼44的單一位元組指令序列。在接收到寫入確認操作碼44時,指令邏輯啟動記憶體上的控制電路,使用嵌入式邏輯來執行寫入操作。
第8圖係繪示一種位於記憶體元件中,用來接收第6圖和第7圖所述之第一、第二和第三指令序列的指令邏輯流程圖。在本實施例中,流程圖是以指令邏輯處於待機模式200的狀態下開始。在待機中,指令邏輯監控晶片選擇線CSB,以偵測其電位是否從高電位切換到低電位(參見步驟201)。當其電位從高電位切換到低電位發生後,指令邏輯針對用來標識由匯流排所接收之指令的操作碼進行解碼(參見步驟202)。指令邏輯可以針對各種操作碼,包括寫入指令203、讀取指令204、寫入確認指令205以及由箭頭206所標示的其他指令進行解碼。
如果指令邏輯解碼到寫入指令,則繼續從指令序列載入位址位元組,或從另一個位址來源讀取位址位元組(參見步驟207)。在接收到位址位元組後,指令邏輯會監控晶片選擇線CSB以偵測其電位是否從低電位切換到高電位(參見步驟208)。如果未 檢測到其電位切換,則指令邏輯從指令序列載入資料位元組(參見步驟209)。在步驟209之後,指令邏輯返回步驟208以確定晶片選擇線CSB是否從低電位切換到高電位。該循環步驟將會繼續,直到偵測到晶片選擇線CSB從低電位切換到高電位為止。如果在步驟208偵測到晶片選擇線CSB從低電位切換到高電位,則指令邏輯返回到待機模式200,並且監控晶片選擇線CSB是否從高電位切換到低電位。
如果指令是讀取指令204,則指令邏輯載入與讀取操作相關聯的位址位元組(參見步驟210),並啟動嵌入式電路以讀取記憶體陣列並輸出所讀取的資料(參見步驟211)。在讀取操作完成時,記憶體可以發出就緒訊號,或者控制器可以偵測到操作結束並返回待機模式200。
如果指令是寫入確認指令205,則指令邏輯可以驗證它是否正確載入要被寫入的指令序列,並啟動記憶體上的控制電路以存取記憶體陣列並執行嵌入式寫入操作(參見步驟212)。在啟動嵌入式寫入操作之後,控制器可以返回待機模式200。為了方便說明起見,可以藉由簡單地設定一個控制訊號,或是嵌入式電路所使用,可標示完成此一操作要求的控制訊號,或是藉由其他更複雜的訊號來「起動」控制電路。
第9圖係繪示另一種使用繼續寫入操作碼的可中斷寫入指令序列。
在第9圖的實施例中,第一指令序列係藉由將晶片選擇線CSB從高電位切換到低電位,以及開啟時脈線CK的時脈週期來起始。第一指令序列的第一個位元組(在初始時脈脈衝期間接 收到8位元)包括用於可中斷寫入序列的操作碼WR。在一些實施例中,操作碼WR可以標識頁面寫入操作。在本實施例中,接下來的三個位元組包括用於寫入操作的起始位址。緊跟在位址後的是提供寫入操作的資料。在第三資料位元組D3之後的時間點50,控制器中斷了第一指令序列。在本實施例中,第一指令序列係被第一控制訊號51中斷,第一控制訊號51將晶片選擇線CSB從低電位切換到高電位,其中並沒有用來結束寫入序列的相應指令。在第一指令序列中斷時,控制器再次將晶片選擇線CSB從高電位切換到低電位(第二控制訊號)並提供第二指令序列。在本實施例中,第二指令序列的第一個位元組是讀取操作碼RD。接在第一個位元組之後的三個位元組包括讀取操作的起始位址。在接收到起始位址後,記憶體上的指令邏輯啟動嵌入式讀取操作,並且於緊接在位址後的時脈週期內,從記憶體向控制器提供輸出資料。讀取操作完成後,控制器在時間點52將晶片選擇線CSB從低電位切換到高電位。
稍後,控制器會將晶片選擇線CSB從高電位切換到低電位以啟動第三指令序列。第三指令序列包括恢復被中斷的寫入指令序列。在本實施例中,第三指令序列的第一位元組54是用於恢復前述之可中斷寫入序列的繼續寫入操作碼W.CON。同樣的,在本實施例中,記憶體元件的指令邏輯儲存了恢復指令序列中所使用,且接收自第一指令序列中的位元組。因此,第三指令序列中緊接繼續寫入操作碼的位元組,包括要被寫入的資料。在本實施例中,第一指令序列是在第三資料位元組D3之後被中斷的,而在第三指令序列中,緊接在繼續寫入操作碼之後的第一個 位元組,即是該可中斷寫入序列(第一指令序列)的第四個資料位元組D4。
在提供最後一個資料位元組之後,控制器在時間點53將晶片選擇線CSB從低電位切換到高電位。在本實施例中,在此階段並不會啟動嵌入式寫入操作。相反的,控制器會將晶片選擇線CSB從高電位切換到低電位,然後提供包括寫入確認操作碼W.CONF的單一位元組55指令序列。當接收到寫入確認操作碼W.CONF時,指令邏輯啟動記憶體上的控制電路,以使用嵌入式邏輯來執行頁面寫入操作。
第9A圖係繪示類似第9圖的另一種可中斷寫入指令序列。其在第三指令序列中,緊接於繼續寫入操作碼W.CON之後提供了寫入位址。這些位址可以是來自被中斷的寫入指令序列的寫入位址的全部或一部分,並且在位元組序列54A中重複。資料位元組Dy、Dy+1、Dy+2...可以是位元組序列54A中的位址的位元組,也可以是序列中的下一個位元組。如果繼續寫入操作碼的頁面位址與被中斷的寫入指令序列的頁面位址不同,則可以在序列中的這個不同點上提供不同的資料集,或者可以將此一情形視為寫入序列因為頁面位址更改而中止。
第10圖係繪示一種位於記憶體元件中,用來接收第9圖所述之第一、第二和第三指令序列的指令邏輯流程圖。在本實施例中,流程圖是以指令邏輯處於待機模式300的狀態下開始。在待機中,指令邏輯監控晶片選擇線CSB,偵測其是否從高電位切換到低電位(參見步驟301)。當CSB從高電位切換到低電 位發生後,指令邏輯針對用來標識由匯流排所接收之指令的操作碼進行解碼(參見步驟302)。指令邏輯可以針對各種操作碼,包括寫入指令303、讀取指令304、繼續寫入指令305、寫入確認指令306以及由箭頭307所標示的其他指令進行解碼。
如果指令邏輯是對寫入指令進行解碼,則繼續從指令序列載入位址位元組(參見步驟310)。在接收到位址位元組之後,指令邏輯監控晶片選擇線CSB,以偵測其是否從低電位切換到高電位(參見步驟311)。如果未偵測到電位切換,則指令邏輯從指令序列載入資料位元組(參見步驟312)。在步驟312之後,指令邏輯返回步驟311以確定晶片選擇線CSB是否從低電位切換到高電位。該循環步驟將會繼續,直到偵測到晶片選擇線CSB的電位切換為止。如果在步驟311偵測到電位切換,則指令邏輯返回到待機模式300,同時儲存在中斷之前所接收到的一部分指令序列。在待機模式300中,指令邏輯監控晶片選擇線CSB以偵測是否從高電位切換到低電位。如果指令是讀取指令304,則指令邏輯載入與讀取操作相關聯的位址位元組(參見步驟314),並啟動嵌入式電路以讀取記憶體陣列並輸出所讀取的資料(參見步驟315)。讀取操作完成後,記憶體返回待機模式300。
如果指令是繼續寫入指令305,則指令邏輯監控晶片選擇線CSB以偵測是否從低電位切換到高電位(參見步驟317)。如果未偵測到電位切換,則從指令序列載入資料位元組(參見步驟318)。在步驟318載入資料位元組之後,指令邏輯返回步驟317,繼續監控晶片選擇線CSB。如果步驟317偵測到從低電位 切換到高電位,則指令邏輯返回待機模式300;同時將在中斷之前所接收到的一部分指令序列儲存在緩衝器中。
如果指令是寫入確認指令306,則指令邏輯可以驗證它是否正確載入要被寫入的指令序列,並啟動記憶體上的控制電路以存取記憶體陣列並執行嵌入式寫入操作(參見步驟320)。
第10A圖係繪示類似第10圖的另一種位於記憶體元件上的指令邏輯流程圖,二者的差別指在於,第10A圖所示的資料序列有做修改。該修改內容是,如果指令是繼續寫入指令305,則指令邏輯從指令序列載入寫入位址位元組(參見步驟310A)。然後,指令邏輯在等待晶片選擇訊號(chip select signal)切換的同時,順序載入資料位元組(參見步驟317-318)。第10A圖的其他流程與第10圖相同。
第11圖係繪示使用繼續寫入操作碼,但不使用寫入確認指令,的另一種可中斷寫入指令序列的時序圖。
在第11圖的實施例中,第一指令序列係藉由將晶片選擇線CSB從電位高切換到低電位,以及開啟時脈線CK的時脈週期來起始。第一指令序列的第一個位元組(在初始時脈脈衝期間接收到8位元)包括用於可中斷寫入序列的操作碼WR。在一些實施例中,操作碼WR可以標識頁面寫入操作。在本實施例中,接下來的三個位元組包括用於寫入操作的起始位址。緊跟在起始位址之後的指令序列包括寫入計數碼63(CT),該計數碼可標識要包括在指令序列中之位元組的數量。位址寫入計數之後,則提供進行寫入操作所需的資料。在第二個資料位元組D2之後的時間點60,控制 器中斷了第一指令序列。在本實施例中,指令序列係被第一控制訊號61所中斷,第一控制訊號61將晶片選擇線CSB從低電位切換到高電位,其中並沒有用來結束寫入序列的相應指令。在第一指令序列中斷時,指令邏輯將第一指令序列中所接收的資訊儲存於緩衝器中,以供稍後恢復操作使用。此外,控制器再次將晶片選擇線CSB從高電位切換到低電位(第二控制訊號)並提供第二指令序列。在本實施例中,第二指令序列的第一個位元組是讀取操作碼RD。接在第一個位元組之後的三個位元組包括讀取操作的起始位址。在接收到起始位址後,記憶體上的指令邏輯啟動嵌入式讀取操作,並且於緊接在位址後的時脈週期內,從記憶體向控制器提供輸出資料。讀取操作完成後,控制器在時間點62將晶片選擇線CSB從低電位切換到高電位。稍後,控制器將晶片選擇線CSB從高電位切換為低電位,藉以起始第三指令序列。
第三指令序列包括恢復被中斷之指令序列的寫入指令序列。在本實施例中,第三指令序列的第一個位元組65是用來恢復可中斷寫入序列的繼續寫入操作碼W.CON。同樣在本實施例中,記憶體元件的指令邏輯儲存了接收自第一指令序列,用來恢復第一指令序列的位元組。因此,在第三指令序列中,緊跟著繼續寫入操作碼的位元組包括要被寫入的資料。在本實施例中,第一指令序列是在第二個資料位元組D2之後被中斷的,而在第三指令序列中,位於繼續寫入操作碼之後的第一個位元組,即是可中斷寫入序列的第三個資料位元組D3。
在提供最後一個資料位元組之後(或假設序列再被中斷),控制器在時間點64將晶片選擇線CSB從低電位切換到高電位。此時,指令邏輯判斷接收來自於第一和第三指令序列之組合的位元組數目是否與寫入計數操作碼匹配。如果指令邏輯發現已經接收到整個序列,則指令邏輯啟動記憶體元件上的控制電路,執行嵌入式寫入操作。否則,指令邏輯返回到待機模式,同時儲存已經接收到的一部分指令序列,以用於後續可能的寫入指令序列恢復操作。
第12圖係繪示一種位於記憶體元件中,用來接收第11圖所述之第一、第二和第三指令序列的指令邏輯流程圖。在本實施例中,流程圖是以指令邏輯處於待機模式400的狀態下開始。在待機中,指令邏輯監控晶片選擇線CSB偵測是否從高電位切換到低電位(參見步驟401)。當電位切換發生時,指令邏輯針對用來標識由匯流排所接收之指令的操作碼進行解碼(參見步驟402)。指令邏輯可以針對各種操作碼,包括寫入指令403、讀取指令404、繼續寫入指令405以及由箭頭406所標示的其他指令進行解碼。
如果指令邏輯對寫入指令進行解碼,則繼續從指令序列中載入位址位元組,或從另一個位址來源讀取位址位元組(參見步驟407)。然後指令邏輯會載入寫入計數(參見步驟408)。在接收到位址位元組和寫入計數之後,指令邏輯會監控晶片選擇線CSB,以偵測是否從低電位切換到高電位(參見步驟409)。如果 未檢測到電位切換,則指令邏輯從指令序列載入資料位元組(參見步驟410)。在步驟410之後,指令邏輯藉由將所接收到的位元組數量與寫入計數進行比對,來判斷是否已接收到最後一個資料位元組(參見步驟411)。如果最後一個資料位元組未被接收,則指令邏輯返步驟409以確定晶片選擇線CSB是否從低電位切換到高電位。該循環步驟將會繼續,直到接收到所有的資料位元組,或直到偵測到晶片選擇線CSB的電位切換為止。
如果在步驟409偵測到電位切換,則指令邏輯返回到待機模式400,同時將在中斷之前所接收到的一部分指令序列加以儲存。在待機模式400中,指令邏輯監控晶片選擇線CSB路,以偵測是否從高電位切換到低電位。如果在步驟411確定已經接收到最後一個資料位元組,則指令邏輯會針對完整的指令序列是否就緒進行驗證,以啟動控制電路存取記憶體陣列並執行嵌入式寫入操作(參見步驟412)。在一些實施例中,於步驟411之後,指令邏輯會判斷晶片選擇線CSB是否從低電位切換到高電位(未繪示),並且根據這個電位切換來驗證完整的指令序列已就緒,然後啟動控制電路來存取記憶體陣列並執行嵌入式寫操作(參見步驟412)。
如果指令是讀取指令404,則指令邏輯載入與讀取操作相關聯的位址位元組(參見步驟415),並啟動嵌入式電路以讀取記憶體陣列並輸出所讀取的資料(參見步驟416)。讀取操作完成後,記憶體偵測到操作結束並返回待機模式400。
如果指令是繼續寫入指令405,則指令邏輯監控晶片選擇線CSB以偵測是否從低電位切換到高電位(參見步驟418)。如果未偵測到電位切換,則從指令序列載入資料位元組(參見步驟419)。在步驟419之後,指令邏輯藉由將所接收到的位元組數量與寫入計數進行比對,來確定是否接收到最後一個資料位元組(參見步驟420)。如果最後一個資料位元組尚未被接收,則指令邏輯返回到步驟418以確定晶片選擇線CSB是否從低電位切換到高電位。該循環步驟將會繼續,直到接收到所有的資料位元組,或直到偵測到晶片選擇線CSB的電位切換為止。
如果在步驟418偵測到電位切換,則指令邏輯返回到待機模式400,同時儲存在中斷之前所接收到的一部分指令序列。在待機模式400中,指令邏輯監控晶片選擇線CSB以偵測是否從高電位切換到低電位。
如果在步驟420確定已經接收到最後一個資料位元組,則指令邏輯會針對完整的指令序列是否就緒進行驗證,以啟動控制電路存取記憶體陣列並執行嵌入式寫入操作(參見步驟412)。在一些實施例中,於步驟420之後,指令邏輯會判斷晶片選擇線CSB是否從低電位切換到高電位(未繪示),並且根據這個電位切換來驗證完整的指令序列已就緒,然後啟動控制電路來存取記憶體陣列並執行嵌入式寫操作(參見步驟412)。
第13圖係繪示另一種具有寫入計數,且使用繼續寫入操作碼和寫入確認指令之可中斷寫入指令序列的時序圖。
在第13圖的實施例中,第一指令序列係藉由將晶片選擇線CSB從高電位切換到低電位,以及開啟時脈線CK的時脈週期來起始。第一指令序列的第一個位元組(在初始時脈脈衝期間接收到8位元)包括用於可中斷寫入序列的操作碼WR。在一些實施例中,操作碼WR可以標識頁面寫入操作。在本實施例中,接下來的三個位元組包括用於寫入操作的起始位址。緊跟在起始位址之後的指令序列包括寫入計數碼73,該計數碼可標識要包括在指令序列中之位元組的數量。位址寫入計數之後,則提供進行寫入操作所需的資料。在第二個資料位元組D2之後的時間點70,控制器中斷了第一指令序列。在本實施例中,指令序列係被第一控制訊號71所中斷,第一控制訊號71將晶片選擇線CSB從低電位切換到高電位,其中並沒有用來結束寫入序列的相應指令。在第一指令序列中斷時,指令邏輯將第一指令序列中所接收的資訊儲存於緩衝器中,以供稍後恢復操作使用。此外,控制器再次將晶片選擇線CSB從高電位切換到低電位(第二控制訊號)並提供第二指令序列。在本實施例中,第二指令序列的第一個位元組是讀取操作碼RD。接在第一個位元組之後的三個位元組包括讀取操作的起始位址。在接收到起始位址後,記憶體上的指令邏輯啟動嵌入式讀取操作,並且於緊接在位址後的時脈週期內,從記憶體向控制器提供輸出資料。讀取操作完成後,控制器在時間點72將晶片選擇線CSB從低電位切換到高電位。稍後,控制器將晶片選擇線CSB從高電位切換為低電位,藉以起始第三指令序列。
第三指令序列包括恢復被中斷之指令序列的寫入指令序列。在本實施例中,第三指令序列的第一個位元組75是用來恢復可中斷寫入序列的繼續寫入操作碼W.CON。同樣在本實施例中,記憶體元件的指令邏輯儲存了接收自第一指令序列,用來恢復第一指令序列的位元組。因此,在第三指令序列中,緊跟著繼續寫入操作碼的位元組包括要被寫入的資料。在本實施例中,第一指令序列是在第二個資料位元組D2之後被中斷的,而在第三指令序列中,位於繼續寫入操作碼之後的第一個位元組,即是可中斷寫入序列的第三個資料位元組D3。
在提供最後一個資料位元組Dn之後,控制器在時間點74將晶片選擇線CSB從低電位切換到高電位。此時,指令邏輯判斷並儲存一個旗標(flag),以顯示接收來自於第一和第三指令序列之組合的位元組數目是否與寫入計數操作碼匹配。不過,在此一階段中嵌入式寫入操作並未被啟動。在本實施例中,指令邏輯後續需要一個寫入確認指令76,在完成寫入指令序列或繼續寫入指令序列之後,指令邏輯接收到具有正確數量之資料位元組的寫入確認指令,指令邏輯會啟動記憶體元件中的控制電路,執行嵌入式寫入操作。否則,指令邏輯返回到待機模式。
第14圖係繪示一種位於記憶體元件中,用來接收第13圖所述之第一、第二和第三指令序列的指令邏輯流程圖。在本實施例中,流程圖是以指令邏輯處於待機模式500的狀態下開始。在待機中,指令邏輯監控晶片選擇線CSB偵測是否從高電位切換 到低電位(參見步驟501)。當電位切換發生時,指令邏輯針對用來標識由匯流排所接收之指令的操作碼,進行解碼(參見步驟502)。指令邏輯可以針對各種操作碼,包括寫入指令503、讀取指令504、繼續寫入指令505、寫入確認指令506以及由箭頭507所標示的其他指令進行解碼。
如果指令邏輯對寫入指令503進行解碼,則繼續從指令序列中載入位址位元組(參見步驟510)。然後指令邏輯會載入寫入計數(參見步驟511)。在接收到位址位元組和寫入計數之後,指令邏輯會監控晶片選擇線CSB,以偵測是否從低電位切換到高電位的(參見步驟512)。如果未檢測到電位切換,則指令邏輯從指令序列載入資料位元組(參見步驟513)。在步驟513之後,指令邏輯藉由將所接收到的位元組數量與寫入計數進行比對,來確定是否已接收到最後一個資料位元組(參見步驟514)。如果最後一個資料位元組未被接收,則指令邏輯返步驟512以確定晶片選擇線CSB是否從低電位切換到高電位。該循環步驟將會繼續,直到接收到所有的資料位元組,或直到偵測到晶片選擇線CSB的電位切換為止。
如果在步驟512偵測到電位切換,則指令邏輯返回到待機模式500,同時將在中斷之前所接收到的一部分指令序列加以儲存。在待機模式500中,指令邏輯監控晶片選擇線CSB路,以偵測是否從高電位切換到低電位。
如果在步驟514確定已經接收到最後一個資料位元組,則將晶片選擇線CSB的低電位切換為高電位(參見步驟514A),則指令邏輯返回到待機模式500,同時儲存一個能顯示已接收到寫入指令所有資料序列的旗標或其他標示。在接收到寫入確認指令之後,如下所述,啟動嵌入式寫入操作。
如果指令是讀取指令504,則指令邏輯載入讀取操作相關聯的位址位元組(參見步驟516),並啟動嵌入式電路以讀取記憶體陣列並輸出所讀取的資料(參見步驟517)。讀取操作完成後,記憶體可以發出就緒訊號,或者控制器可以偵測到操作結束並返回待機模式500。
如果指令是繼續寫入指令505,則指令邏輯監控晶片選擇線CSB以偵測是否從低電位切換到高電位(參見步驟520)。如果未偵測到電位切換,則從指令序列載入資料位元組(參見步驟521)。在步驟521載入資料位元組之後,指令邏輯會藉由將所接收到的位元組數目與寫入計數進行比對來判斷是否已接收到最後一個資料位元組(參見步驟522)。如果最後一個資料位元組尚未被接收,則指令邏輯返回到步驟520以偵測晶片選擇線CSB是否從低電位切換到高電位。該循環步驟將會繼續,直到接收到所有的資料位元組,或直到偵測到晶片選擇線CSB的電位切換為止。
如果在步驟520偵測到晶片選擇線CSB從低電位切換到高電位,則指令邏輯返回到待機模式500,同時將被中斷之前所接收的一部分指令序列儲存在緩衝器中。
如果在步驟522確定已經接收到最後一個資料位元組,則將晶片選擇線CSB的低電位切換為高電位(參見步驟522A)之後,指令邏輯返回到待機模式500,同時儲存一個旗標或其他指示,顯示寫入指令序列的所有資料已被接收到了。
如果指令是寫入確認指令506,則指令邏輯可以驗證它是否正確載入要被寫入的指令序列,並啟動記憶體上的控制電路,藉以存取記憶體陣列並執行嵌入式寫入操作(參見步驟524)。啟用嵌入式寫入操作後,控制器可以返回到待機模式500。
第15圖係繪示另一種具有寫入計數,且使用繼續寫入操作碼和寫入確認指令之可中斷寫入指令序列的時序圖。
在第15圖的實施例中,第一指令序列係藉由將晶片選擇線CSB從高電位切換到低電位,以及開啟時脈線CK的時脈週期來起始。第一指令序列的第一個位元組(在初始時脈脈衝期間接收到8位元)包括用於可中斷寫入序列的操作碼WR。在一些實施例中,操作碼WR可以標識頁面寫入操作。在本實施例中,接下來的三個位元組包括用於寫入操作的起始位址。緊跟在起始位址之後的指令序列包括寫入計數碼83,該計數碼可標識要包括在指令序列中之位元組的數量。位址寫入計數之後,則提供進行寫入操作所需的資料。在第二個資料位元組D2之後的時間點80,控制器中斷了第一指令序列。在本實施例中,指令序列係被第一控制訊號 81所中斷,第一控制訊號81將晶片選擇線CSB從低電位切換到高電位,其中並沒有用來結束寫入序列的相應指令。在第一指令序列中斷時,指令邏輯將第一指令序列中所接收的資訊儲存於緩衝器中,以供稍後恢復操作使用。此外,控制器再次將晶片選擇線CSB從高電位切換到低電位(第二控制訊號)並提供第二指令序列。在本實施例中,第二指令序列的第一個位元組是讀取操作碼RD。接在第一個位元組之後的三個位元組包括讀取操作的起始位址。在接收到起始位址後,記憶體上的指令邏輯啟動嵌入式讀取操作,並且於緊接在位址後的時脈週期內,從記憶體向控制器提供輸出資料。讀取操作完成後,控制器在時間點82將晶片選擇線CSB從低電位切換到高電位。稍後,控制器將晶片選擇線CSB從高電位切換至低電位,藉以起始第三指令序列。
第三指令序列包括恢復被中斷之指令序列的寫入指令序列。在本實施例中,第三指令序列的第一個位元組85是用來恢復可中斷寫入序列的繼續寫入操作碼W.CON。同樣在本實施例中,記憶體元件的指令邏輯儲存了接收自第一指令序列,用來恢復第一指令序列的位元組。因此,在第三指令序列中,緊跟著繼續寫入操作碼的位元組包括要被寫入的資料。在本實施例中,第一指令序列是在第二個資料位元組D2之後被中斷的,而在第三指令序列中,位於繼續寫入操作碼之後的第一個位元組,即是可中斷寫入序列的第三個資料位元組D3。
在提供最後一個資料位元組之後,例如使用寫入計數來加以確定,寫入指令序列中會包括一個可以確認寫入指令序列之終點的寫入確認碼86。在此之後,控制器在時間點84將晶片 選擇線CSB從低電位切換到高電位。此時,指令邏輯會判斷:寫入指令序列中的最後一個位元組,是否為寫確認碼。如果指令邏輯藉由寫入確認碼認定已經接收到整個寫入指令序列,則指令邏輯啟動記憶體元件上的控制電路,藉以使用嵌入式邏輯執行頁面寫入操作。否則,指令邏輯返回到待機模式。
第16圖係繪示一種位於記憶體元件中,用來接收第15圖所述之第一、第二和第三指令序列的指令邏輯流程圖。在本實施例中,流程圖是以指令邏輯處於待機模式600的狀態下開始。在待機中,指令邏輯監控晶片選擇線CSB偵測是否從高電位切換到低電位(參見步驟601)。當電位切換發生時,指令邏輯針對用來標識由匯流排所接收之指令的操作碼進行解碼(參見步驟502)。指令邏輯可以針對各種操作碼,包括寫入指令603、讀取指令604、繼續寫入指令605以及由箭頭606所標示的其他指令進行解碼。
如果指令邏輯對寫入指令進行解碼,則繼續從指令序列中載入位址位元組(參見步驟607)。然後指令邏輯會載入寫入計數(參見步驟608)。在接收到位址位元組和寫入計數之後,指令邏輯會監控晶片選擇線CSB,以偵測其是否從低電位切換到高電位(參見步驟609)。如果未檢測到電位切換,則指令邏輯從指令序列載入資料位元組(參見步驟610)。在步驟610之後,指令邏輯藉由將所接收到的位元組數量與寫入計數進行比對,來確定是否已接收到最後一個資料位元組(參見步驟611)。如果最後一個資料位元組未被接收,則指令邏輯返步驟609以確定晶片選擇線CSB是否從低電位切換到高電位。該循環步驟將會繼續,直到接收到所有的資料位元組,或直到偵測到晶片選擇線CSB的電位切換為止。
如果在步驟609偵測到電位切換,則指令邏輯返回到待機模式600,同時將在中斷之前所接收到的一部分指令序列加以儲存。在待機模式600中,指令邏輯監控晶片選擇線CSB路,以偵測是否從高電位切換到低電位。
如果在步驟609確定已經接收到最後一個資料位元組,則指令邏輯判斷下一個位元組是否為寫入確認碼(參見步驟621)。如果步驟609已經接收到寫入確認碼,在步驟622中,指令邏輯會監控晶片選擇線CSB路的電位切換。當步驟622偵測到從低電位切換到高電位時,指令邏輯會針對完整的指令序列是否就緒進行驗證,並啟動控制電路執行嵌入式寫入操作(參見步驟623)。在一些實施例中,於步驟621之後,指令邏輯會並沒有監控晶片選擇線CSB路的電位切換,而是直接針對完整的指令序列是否就緒進行驗證,並啟動控制電路執行嵌入式寫入操作(參見步驟623)。假如在步驟621中,沒有偵測到寫入驗證指令,則指令邏輯會判定發生了錯誤狀態(參見步驟624),並且可以導入執行其他恢復操作。
如果指令是讀取指令604,則指令邏輯載入讀取操作相關聯的位址位元組(參見步驟615),並啟動嵌入式電路以讀取記憶體陣列並輸出所讀取的資料(參見步驟616)。讀取操作完成後,記憶體可以發出就緒訊號,或者控制器可以偵測到操作結束並返回待機模式600。
如果指令是繼續寫入指令605,則指令邏輯監控晶片選擇線CSB以偵測是否從低電位切換到高電位(參見步驟618)。如果未偵測到電位切換,則從指令序列載入資料位元組(參 見步驟619)。在步驟619之後,指令邏輯會藉由將所接收到的位元組數目與寫入計數進行比對,來判斷是否已接收到最後一個資料位元組(參見步驟620)。如果最後一個資料位元組尚未被接收,則指令邏輯返回到步驟618以偵測晶片選擇線CSB是否從低電位切換到高電位。該循環步驟將會繼續,直到接收到所有的資料位元組,或直到偵測到晶片選擇線CSB的電位切換為止。
如果在步驟618偵測到電位切換,則指令邏輯返回到待機模式600,同時儲存在中斷之前所接收到的一部分指令序列。在待機模式600中,指令邏輯監控晶片選擇線CSB以偵測是否從高電位切換到低電位。
如果在步驟618判定已經接收到最後一個資料位元組,則指令邏輯判斷下一個位元組是否為寫入確認碼(參見步驟621),同時執行上述步驟。
第17圖係繪示一種可中斷寫入指令序列的時序圖,其中寫入指令序列的完成,係藉由偵測位址邊界的方式來決定。
在第17圖的實施例中,第一指令序列係藉由將晶片選擇線CSB從高電位切換到低電位,以及開啟時脈線CK的時脈週期來起始。第一指令序列的第一個位元組包括用於可中斷寫入序列的操作碼WR。在一些實施例中,操作碼WR可以標識頁面寫入操作。在本實施例中,接下來的三個位元組包括用於寫入操作的起始位址。緊跟在起始位址之後,則提供進行寫入操作所需的資料。在第三個資料位元組D3之後的時間點90,控制器中斷了第一指令序列。在本實施例中,指令序列係被第一控制訊號91所中斷, 第一控制訊號91將晶片選擇線CSB從低電位切換到高電位,其中並沒有用來結束寫入序列的相應指令。在第一指令序列中斷時,控制器再次將晶片選擇線CSB從高電位切換到低電位(第二控制訊號)並提供第二指令序列。在本實施例中,第二指令序列的第一個位元組是讀取操作碼RD。接在第一個位元組之後的三個位元組包括讀取操作的起始位址。在接收到起始位址後,記憶體上的指令邏輯啟動嵌入式讀取操作,並且於緊接在位址後的時脈週期內,從記憶體向控制器提供輸出資料。讀取操作完成後,控制器在時間點92將晶片選擇線CSB從低電位切換到高電位。稍後,控制器將晶片選擇線CSB從高電位切換為低電位,藉以起始第三指令序列。
第三指令序列包括恢復被中斷之指令序列的寫入指令序列。在本實施例中,第三指令序列的第一個位元組95可以是與第一指令序列之寫入操作碼相同的可中斷寫入序列寫入操作碼WR。接著操作碼的三個位元組包括寫入操作的起始位址。這些位址位元組可以與被中斷的寫入指令序列具有相同的位址;但是如果被中斷的寫入指令序列無法被恢復,則這些位址位元組可以具有與被中斷之寫入指令序列不同的位址。緊跟在位址位元組之後的,包括要寫入的資料。在提供最後一個資料位元組之後,指令邏輯可以判定最後一個資料位元組是否與位址邊界(例如被寫入之記憶體中的頁面邊界)相互匹配。這可以藉由比對指令序列所提供的起始位址與目前所使用的位址邊界來判定。也可以藉由偵測第15圖之指令序列所攜帶或儲存於記憶體元件之暫存器或其他 來源中的寫入計數,比較指令序列的起始位址和當前位址邊界之間的差異來確定。
在提供最後一個資料位元組之後,控制器在時間點94將晶片選擇線CSB從低電位切換到高電位。此時,指令邏輯會判斷定是否已經達到位址邊界。如果指令邏輯發現已經接收到整個序列,則指令邏輯會啟動記憶體元件中的控制電路,藉以使用嵌入式邏輯執行寫入操作。否則,指令邏輯會返回到待機模式。
第17A圖係繪示類似第17圖的另一種使用繼續寫入指令來恢復指令序列的可中斷寫入指令序列時序圖,如前所述該繼續寫入指令係位在位元組95循環之中,且後續可以連接著資料位元組,而不需提供新的位址信息。在此一時序圖中,資料位元組可以在最後成功傳送的資料位元組(D3)(寫入指令序列被中斷的時間點90之前)之後,依序開始。恢復指令序列中的最後一個資料位元組Dn可以藉由到達預定的位址邊界來偵測。而位址邊界,如第17圖所述,可藉由寫入指令序列中的資料位元組數量,或者使用其它寫入計數邏輯來判定。
第18圖係繪示一種位於記憶體元件中,用來接收第17圖所述之第一、第二和第三指令序列的指令邏輯流程圖。在本實施例中,流程圖是以指令邏輯處於待機模式700的狀態下開始。在待機中,指令邏輯監控晶片選擇線CSB偵測是否從高電位切換到低電位(參見步驟701)。當電位切換發生時,指令邏輯針對用來標識由匯流排所接收之指令的操作碼進行解碼(參見步驟702)。指令邏輯可以針對各種操作碼,包括寫入指令703、讀取指令704以及由箭頭706所標示的其他指令進行解碼。
如果指令邏輯對寫入指令進行解碼,則繼續從指令序列中載入寫入操作的位址位元組(參見步驟708)。在接收到位址位元組之後,指令邏輯會監控晶片選擇線CSB,以偵測是否從低電位切換到高電位(參見步驟709)。如果未檢測到電位切換,則指令邏輯從指令序列載入資料位元組(參見步驟710)。然後,指令邏輯會判斷這些資料位元組是否與用來進行寫入操作的邊界位址集(參見步驟711)相互對應。這個操作可以由指令邏輯來進行。而操作的方式,則是將接收自指令序列的起始位址和當前的邊界位址進行比對,同時考量已接收到的資料之位元組數目的偏移量來進行判斷。
如果未偵測到邊界位址,則指令邏輯返回到步驟709,監控晶片選擇線CSB的電位切換。如果在步驟709,偵測到晶片選擇線CSB的電位切換,則指令邏輯返回待機模式700。
如果步驟711確定已經達到邊界位址,則指令邏輯可以啟動記憶體元件上的控制電路,以存取記憶體陣列並執行嵌入式寫入操作(參見步驟720)。在一些實施例中,指令邏輯在啟動嵌入式寫入操作之前會等待晶片選擇線CSB的電位切換。
如果在步驟702中,被解碼的指令是讀取指令704,則指令邏輯從指令序列載入讀取操作的位址位元組(參見步驟715)。然後指令邏輯啟動記憶體元件上的控制電路,以讀取記憶體陣列並執行嵌入式讀取操作(參見步驟716)。
第18A圖是用來對應第17A圖所示的順序的邏輯流程圖。與第18圖類似,但增加了繼續寫入指令的邏輯。此處僅針對第18圖所附加的部分進行描述。如第17A圖所述,解碼器可 以在位元組95循環接收繼續寫入指令。如果所接收的指令是繼續寫入指令705,則指令邏輯監控晶片選擇線CSB,以偵測是否從低電位切換到高電位(參見步驟717)。如果沒有偵測到晶片選擇線CSB的電位切換,則從指令序列載入資料位元組(參見步驟718)。
然後,指令邏輯會判定資料位元組是否與用於寫入操作的邊界位址集相互對應(參見步驟719)。指令邏輯可以藉由比對接收自指令序列的起始位址和當前的邊界位址,同時考量已接收到的資料之位元組數目的偏移量來執行此操作。
如果未偵測到邊界位址,則指令邏輯返回到步驟717以監控晶片選擇線CSB的電位切換。如果在步驟717處偵測到晶片選擇線CSB的電位切換,則指令邏輯返回待機模式700。
如果在步驟719中已經確定達到邊界位址,則指令邏輯會啟動記憶體元件上的控制電路,以存取記憶體陣列並執行嵌入式寫入操作(參見步驟720)。在一些實施例中,指令邏輯在啟動嵌入式寫入操作之前會等待晶片選擇線CSB的電位切換。
如果在步驟717中偵測到晶片選擇線CSB從低電位切換到高電位,則指令邏輯返回到待機模式700,而在一些實施例中,還會將指令序列被中斷之前所接收的一部分指令序列儲存到緩衝器。
第19圖係繪示一種積體電路800,例如SPI NOR快閃記憶體的簡化方塊圖,其包括支援本說明書所述之可中斷寫入指令序列的指令邏輯和控制電路。積體電路800可以藉由單一晶片來實現。
輸入/輸出方塊802係表示符合串列週邊介面標準的同步串列匯流排,並具有標準引腳。引腳CS#是用於晶片選擇,可以對應於上述的晶片選擇線CSB。引腳CS#為低電位時,元件被選取。引腳RESET#允許重設元件的操作狀態,終止當前正在運行的程序並重設狀態機。引腳GND和VDD分別用來接地和供電。在標準串列週邊介面中,引腳SI和SO分別為串列資料輸入和輸出。在雙串列週邊介面操作中,引腳SI和SO成為雙向輸入/輸出:引腳SIO0和SIO1。在四線串列週邊介面操作中,引腳SIO2和SIO3可用於更高速的傳輸。前述配置僅係例示,因此更多引腳的配置是可能。積體電路800還可提供串列時脈(Serial clock,SLCK)804。積體電路800上的時脈產生器805產生用於指令邏輯820和積體電路其他元件的時脈訊號。在本實施例中,時脈產生器805由串列時脈804的引腳接收串列時脈訊號。由輸入/輸出方塊802所代表的匯流排介面,可以支援雙倍資料速率(double data rate,DDR)或單倍資料速率(single data rate,SDR)通訊協定。
在各種實施例中可以使用其他類型的串列介面。可以使用NOR快閃記憶體以外的記憶體技術。
在一些實施例中,用於表示本說明書中指令序列之開始和結束的控制訊號可以是,輸入/輸出方塊802中的一條或多條匯流排線上的訊號。例如,在一些實施例中,可以切換CS#或RESET#,例如這些訊號在第一次電位切換中,可以是從低電位到高電位,或者在第二電位切換中從高電位到低電位。另外,結束事件(termination event)可以由晶片的控制邏輯內部產生。
位址產生器806包括提供用於存取記憶體陣列的位址序列的電路。
在一些實施例中,資料暫存器814可以充當輸入緩衝器來儲存一部分的指令序列。資料和參數可以儲存在靜態隨機存取記憶體(Static Random-Access Memory,SRAM)緩衝器824中,以支持可中斷寫入操作和其他操作。在一些實施例中,資料暫存器814可以是靜態隨機存取記憶體緩衝器824的一部分。
積體電路800還包括可產生內部控制訊號的指令邏輯820以及諸如具有支援偏置電路之狀態機822的控制電路。高壓產生器826,可產生所需的任何的高壓,例如用於讀取、寫入和抹除操作。指令邏輯820可執行諸如第8圖、第10圖、第12圖、第14圖、第16圖和第18圖所描述的程序,以及上述程序的不同變型,藉以支援可中斷寫入操作。包括狀態機822的控制電路在本實施例中可執行嵌入式寫入、除和讀取操作,當被指令邏輯啟動時,可藉以存取記憶體陣列828。
記憶體陣列828包括X解碼器830和Y解碼器832,且資料訊號經由感測放大器(sense amplifier)834輸出。輸出緩衝器836可以保存從記憶體元件輸出的輸出資料。
在第19圖所繪示的實施例中,指令序列包括藉由輸入/輸出方塊802之SIO引腳所接收的字元組序列。指令邏輯820可以包括用來對操作碼進行解碼、將起始位址的路徑指定(route)到位址計數器,並提供控制訊號以設定並啟動指令序列所標識的嵌入式程序,包括使用狀態機822的寫入(例如,寫入和抹除操作)和讀取程序的邏輯。第19圖所繪示的實施例是一種使用串列匯流 排介面藉以次第存取資料的串列快閃記憶體元件。串列匯流排介面包括至少一個同步時脈訊號CK,其中承載資料的儲存單元,其容量寬度大於或等於一個位元的資料訊號,且大於或等於至少一個晶片選擇訊號(chip select signal)。使用串列匯流排介面,可以支援上述指令序列。
上述配置可用於支援符合串列週邊介面標準匯流排架構的匯流排,其中序列埠(CS)對應於串列週邊介面的晶片選擇線;序列埠(CK)對應於串列週邊介面串列時脈(SCLK);序列埠0對應於串列週邊介面的主設備輸出/從設備輸入(MOSI)序列埠;序列埠1對應於串列週邊介面的第一主設備輸入/從設備輸出序列埠(MISO1);序列埠2對應於串列週邊介面的第二主設備輸入/從設備輸出序列埠(MISO2);且序列埠8對應於串列週邊介面的第三主設備輸入/從設備輸出序列埠(MISO3)。本說明書所描述的技術可以與其他標準和非標準匯流排架構一起使用,包括例如I2C。
本領域具有通常知識的技術人員應當理解,第19圖僅僅是提供一個實施例的例示,任何可支援如本說明書所述之可中斷寫入指令序列的元件,可以是由第19圖所衍生,例如包括不同方式連接和不同元件,的不同變化形式。
第19圖所繪示的實施例包括NOR快閃記憶體陣列。也可以使用其他類型的記憶體系統,包括含有相變記憶體(phase change memory,PCM)、電阻記憶體,又稱為可變電阻式記憶體(Resistive random-access memory,RRAM或ReRAM)、NAND快閃記憶體、磁阻式記憶體等記憶體元件的非 揮發性記憶體(nonvolatile memory)類型。此外,也可以使用包括其他非揮發性記憶體類型,例如隨機存取記憶體,的記憶體系統。
第20圖係繪示一種用來形成第9圖之指令序列的記憶體控制器簡化操作流程圖。此一流程圖亦可藉由潤飾或修改來形成如第6圖、第7圖、第9A圖、第11圖、第13圖、第15圖、第17圖和第17A圖中所繪示的指令序列。該控制器邏輯的變化形式亦可以實現上述功能,並支援其他通訊協定的可中斷寫入指令序列。
邏輯程序由控制器啟動寫入功能(參見步驟900)開始。控制器發出如上所述的寫指令序列(參見步驟901)。控制器判斷是否需要為了進行讀取程序而中斷寫入指令序列(參見步驟902)。如果控制器判定要中斷指令序列,則發出控制訊號,例如切換晶片選擇線CSB的電位,並發出讀取指令序列(參見步驟903)。控制器再判斷是否已完成讀取程序(參見步驟904)。如果沒有完成,則控制器會等待。如果完成,則控制器發出繼續寫入指令以恢復被中斷的寫入指令序列(參見步驟905)。控制器載入資料並且判斷是否已完成寫入指令序列(參見步驟906),如果已完成,則發出寫入確認指令(參見步驟907)。
如果在步驟906中,控制器判定寫入指令序列未完成,則返回到步驟902以判斷是否需要為了進行讀取程序而中斷寫入指令序列。
如果在步驟902中,控制器判定不需要為了進行讀取程序而中斷寫入指令序列,則流程跳到步驟906以判斷寫入指令 序列是否完成。當本實施例的寫入指令序列完成時,控制器發出寫入確認指令(參見步驟907)。在其它實施例中,可以不使用寫確認指令,而採用其他技術,例如採用寫入計數或記憶體元件中的邏輯,藉由偵測位址邊界或發出標示寫入序列已結束的其他訊號,來使記憶體元件知悉寫入指令序列已結束。
上述邏輯程序顯示控制器可以任意地多次中斷可中斷寫入指令序列,以進行指定的較高優先等級的操作,例如讀取操作。
根據上述邏輯程序以及適用於其他可中斷寫入指令序列通訊協定的其他變化邏輯程序,記憶體控制器或(用來執行任何邏輯程序且)與記憶體控制器均等的邏輯,可以發出寫入指令序列。其寫入指令序列可以包含,例如可能是發生在頁面寫入序列中的大量資料位元組。當被要求執行關鍵讀取操作時,則控制器可以中斷冗長的寫入指令序列,並完成讀取指令序列並接收所讀取的資料,而不會發生與完成第一指令序列相關連的延遲。完成讀取操作後,可以恢復被中斷的寫指令序列。此外,上述邏輯程序顯示,可以多次中斷冗長的寫入指令序列,以支援任務關鍵讀取操作。
本說明書描述了一種具有指令通訊協定以及支援邏輯的串列快閃記憶體,其包括頁面寫入指令和寫入確認指令的指令。其中,頁面的資料係在頁面寫入指令之後次第發出。
本說明書描述了一種具有指令通訊協定以及支援邏輯的串列快閃記憶體,其具有包括頁面寫指令,繼續寫入指令 和寫入確認指令的指令。資料係在這些指令中的一個或多個的組合之後次第發出。
本說明書描述了一種具有指令通訊協定以及支援邏輯的串列快閃記憶體,其具有包括頁面寫指令,繼續寫入指令和寫入確認指令的指令。資料係在這些指令中的一個或多個的組合之後次第發出。
在用來實現本說明書所描述各種實施例的各項通訊協定中,「時脈線(CLK)」、「晶片選擇線(CSB)」和「資料線(DATA)」的容量寬度(匯流排線的數量)可以是一條或多條(1字元到n字元)。(例如:CLK、CLK#、DATA0~DATAn、CSB1,CSB2)。
在用來實現本說明書所描述各種實施例的各項通訊協定中,「位址」週期(例如:0到n個週期)的數量,根據特定尋址方案(addressing scheme deployed),可以是一個或多個。且位址的字元數量,也可以根據所使用的尋址方案而有所變化。
在用來實現本說明書所描述各種實施例的各項通訊協定中,「指令」週期的數量(例如:「寫入」、「讀取」、「繼續寫入」、「寫確認」和「寫入計數」),取決於匯流排線的代碼長度和數量,而可以是一個或多個。
在用來實現本說明書所描述各種實施例的各項通訊協定中,「寫入計數」相關的資料單元可以是任意的(例如:1個字元/案元組/字串/頁面(bit/byte/word/page)到n個字元/案元組/字串/頁面)。
在用來實現本說明書所描述各種實施例的各項通訊協定中,可以使用雙倍資料速率和單倍資料速率接收器和發送器(transmitters)來操作「指令」、「位址」和「DATA」線路(資料可以在上升邊緣(rising edge)和下降邊緣(falling edge)同時有效,或資料可以在升邊緣或下降邊緣其中一者時有效。)
在用來實現本說明書所描述各種實施例的各項通訊協定中,寫入序列可以包括也可以不包括「虛擬循環」。
「寫入指令、寫入位址、寫入資料、寫入計數、繼續寫入、寫入確認、寫入中止」可以使用元件中適當的解碼邏輯和資源,依照實際需要做任意組合。
本說明書揭露由記憶體控制器或記憶體元件所執行的多個邏輯流程圖。其中,邏輯可以藉由使用儲存在電腦系統可存取的記憶體中之電腦程式的處理器來加以實現,並且可由處理器通,過專用邏輯硬體,包括現場可程式積體電路(field programmable integrated circuits)、在電路中的狀態機以及專用邏輯硬體和電啂程式的組合來執行。該技術領域中具有通常知識者當可理解,本說明書中的所有流程圖和不同步驟是可以任意組合、平行操作或以不同的順序執行操作,而不影響所實際的功能。在一些實施例中,只要進行適當的潤飾及修改,前述步驟的重新排列組合也能獲得相同的結果。在其他實施例中,當滿足某些條件時,前述步驟的重新排列組合將獲得相同的結果。此外,本說明書中的流程圖僅供例示理解本發明的相關步驟,因此仍可 以在所述流程圖的前面、後面或中間額外附加用來達成其他功能的步驟。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何該技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (20)

  1. 一種記憶體元件,包括:一記憶體;一匯流排介面;一控制電路,用來存取該記憶體,並執行該記憶體的複數個讀取操作和複數個寫入操作;以及一指令邏輯,配置來對由該匯流排介面所接收的複數個指令序列進行解碼,並啟動該控制電路執行該些指令序列所標識的複數個操作;其中每一該些指令序列包括複數個對應操作碼以及一位址和一資料中的一者或二者;在接收到一第一指令序列時,該指令邏輯回應一第一控制訊號而中斷該第一指令序列;該指令邏輯回應發出於該第一控制訊號之後的一第二控制訊號,而接收一第二指令序列,並對該第二指令序列進行解碼,且啟動該控制電路來執行該第二指令序列所識別的複數個操作;該指令邏輯在完成該第二指令序列之後,回應一第三控制訊號而接收一第三指令序列,並對該第三指令序列進行解碼,其中該第三指令序列包括用以完成被中斷的該第一指令序列的一操作碼和一資料,並且啟動該控制電路,以執行該第一指令序列所識別的該些操作。
  2. 如申請專利範圍第1項所述之記憶體元件,其中該匯流排介面包括一同步串列匯流排(synchronous serial bus)。
  3. 如申請專利範圍第1項所述之記憶體元件,其中該指令邏輯包括用於保存至少一部分該第一指令序列的一緩衝器,並且該指令邏輯使用儲存在該緩衝器中的至少一部分該第一指令序列,來對該第三指令序列進行解碼。
  4. 如申請專利範圍第1項所述之記憶體元件,其中該第一指令序列的一第一對應操作碼係用來識別一寫入操作,且該第二指令序列的一第二對應操作碼係用來識別一讀取操作。
  5. 如申請專利範圍第1項所述之記憶體元件,其中該第一指令序列的一第一對應操作碼係用來識別一寫入操作,用以寫入經由位於一匯流排線之該匯流排介面所接收到的複數個資料;該第二指令序列的一第二對應操作碼係用來識別一讀取操作,且該第二對應操作碼同樣係由位於該匯流排線的該匯流排介面所接收。
  6. 如申請專利範圍第1項所述之記憶體元件,其中該第一指令序列的一對應操作碼和一位址係用來識別一寫入操作,且該第三指令序列包括該第一指令序列中的該對應操作碼和該位址。
  7. 如申請專利範圍第1項所述之記憶體元件,其中該第一指令序列的一對應操作碼係用來識別一寫入操作,且該第三指令序列包括一繼續寫入操作碼和一位址。
  8. 如申請專利範圍第1項所述之記憶體元件,其中該第一指令序列的一對應操作碼係用來識別一寫入操作以及一寫入計數。
  9. 如申請專利範圍第1項所述之記憶體元件,其中該指令邏輯係建構來啟動與該第一指令序列相關的一嵌入式操作,以回應在該第三指令序列之後,由該匯流排介面所接收到的一寫入確認操作碼。
  10. 一種記憶體元件的操作方法,包括:提供一記憶體元件包括一記憶體、一匯流排介面、一控制電路以及一指令邏輯;該控制電路用來存取該記憶體,並執行該記憶體的複數個讀取操作和複數個寫入操作;該指令邏輯配置來對由該匯流排介面所接收的複數個指令序列進行解碼,並啟動該控制電路執行該些指令序列所標識的複數個操作;其中每一該些指令序列包括複數個對應操作碼以及一位址和一資料中的一者或二者;在接收到一第一指令序列時,中斷該第一指令序列,以回應一第一控制訊號;回應發出於該第一控制訊號之後的一第二控制訊號,接收一第二指令序列,並對該第二指令序列進行解碼,且啟動該控制電路來執行該第二指令序列所識別的複數個操作;在完成該第二指令序列之後,回應一第三控制訊號,接收一第三指令序列,並對該第三指令序列進行解碼,其中該第三指令序列包括用以完成被中斷的該第一指令序列的一操作碼和一資料;以及接收該第三指令序列之後,啟動該控制電路,以執行該第一指令序列所識別的該些操作。
  11. 如申請專利範圍第10項所述之記憶體元件的操作方法,其中該匯流排介面包括一同步串列匯流排。
  12. 如申請專利範圍第10項所述之記憶體元件的操作方法,更包括將至少一部分該第一指令序列的保存於一緩衝器中,並且使用儲存在該緩衝器中的至少一部分該第一指令序列來對該第三指令序列進行解碼。
  13. 如申請專利範圍第10項所述之記憶體元件的操作方法,其中該第一指令序列的一第一對應操作碼係用來識別一寫入操作,且該第二指令序列的一第二對應操作碼係用來識別一讀取操作。
  14. 如申請專利範圍第10項所述之記憶體元件的操作方法,其中該第一指令序列的一第一對應操作碼係用來識別一寫入操作,用以寫入經由位於一匯流排線之該匯流排介面所接收到的複數個資料;該第二指令序列的一第二對應操作碼係用來識別一讀取操作,且該第二對應操作碼同樣係由位於該匯流排線的該匯流排介面所接收。
  15. 如申請專利範圍第10項所述之記憶體元件的操作方法,其中該第一指令序列的一對應操作碼和一位址係用來識別一寫入操作,且該第三指令序列包括該第一指令序列中的該對應操作碼和該位址。
  16. 如申請專利範圍第10項所述之記憶體元件的操作方法,其中該第一指令序列的一對應操作碼係用來識別一寫入操作,且該第三指令序列包括一繼續寫入操作碼和一位址。
  17. 如申請專利範圍第10項所述之記憶體元件的操作方法,其中該第一指令序列的一對應操作碼係用來識別一寫入操作以及一寫入計數,且該第三指令序列包括一繼續寫入操作碼。
  18. 如申請專利範圍第10項所述之記憶體元件的操作方法,其中該第三指令序列在序列的最後一個週期,包括一繼續寫入操作碼。
  19. 一種記憶體元件,包括:一非揮發性記憶體(nonvolatile memory);一同步串列匯流排介面;一控制電路,用來存取該記憶體,並執行該非揮發性記憶體的複數個讀取操作和複數個寫入操作;以及一指令邏輯,配置來對由該同步串列匯流排介面所接收的複數個指令序列進行解碼,並啟動該控制電路執行該些指令序列所標識的複數個操作;其中每一該些指令序列包括複數個對應操作碼以及一位址和一資料中的一者或二者;在接收到一第一指令序列時,該指令邏輯回應一第一控制訊號而中斷該第一指令序列,該第一指令序列包含一頁面寫入操作的一操作碼;該指令邏輯回應發出於該第一控制訊號之後的一第二控制訊號,而接收一第二指令序列,並對該第二指令序列進行解碼,該第二指令序列包括一其他操作的一操作碼,且啟動該控制電路來執行該第二指令序列所識別的該其他操作;該指令邏輯在完成該第二指令序列之後,回應一第三控制訊號而接收一第三指令序列,並對該第三指令序列進行解碼,該第三指令序列包括用以完成被中斷的該第一指令序列的一操作碼和一資料,並且啟動該控制電路,以執行該第一指令序列所識別的該頁面寫入操作。
  20. 如申請專利範圍第19項所述的記憶體元件,其中該第一指令序列中該頁面寫入操作的複數個資料,係經由位於一匯流排線的該同步串列匯流排介面所接收;該第二指令序列的一對應操作碼,同樣係由位於該匯流排線的該同步串列匯流排介面所接收。
TW106118389A 2016-06-07 2017-06-03 具有可中斷指令序列的記憶體及其操作方法 TWI639086B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662346577P 2016-06-07 2016-06-07
US62/346,577 2016-06-07
US15/411,731 2017-01-20
US15/411,731 US10289596B2 (en) 2016-06-07 2017-01-20 Memory and method for operating a memory with interruptible command sequence

Publications (2)

Publication Number Publication Date
TW201743220A TW201743220A (zh) 2017-12-16
TWI639086B true TWI639086B (zh) 2018-10-21

Family

ID=58578892

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106118389A TWI639086B (zh) 2016-06-07 2017-06-03 具有可中斷指令序列的記憶體及其操作方法

Country Status (4)

Country Link
US (1) US10289596B2 (zh)
EP (1) EP3255552B1 (zh)
CN (1) CN107480081B (zh)
TW (1) TWI639086B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182102B2 (en) 2018-12-28 2021-11-23 Micron Technology, Inc. Host inquiry response generation in a memory device
CN112130898A (zh) * 2019-06-24 2020-12-25 华为技术有限公司 一种插入同步指令的方法及装置
US11327912B2 (en) * 2019-09-12 2022-05-10 Qualcomm Incorporated Controlling the application time of radio frequency front end triggers based on execution of sequences
JP2022092965A (ja) 2020-12-11 2022-06-23 キオクシア株式会社 メモリシステム
TWI765543B (zh) * 2021-01-26 2022-05-21 創惟科技股份有限公司 用於車載主機系統的通用序列埠匯流排切換器之切換方法
US11847077B2 (en) * 2021-12-06 2023-12-19 Himax Technologies Limited Serial peripheral interface integrated circuit and operation method thereof
TWI784853B (zh) * 2021-12-23 2022-11-21 新唐科技股份有限公司 資料偵測電路以及處理裝置
CN115686635B (zh) * 2023-01-03 2023-04-18 杭州米芯微电子有限公司 一种无时钟电路的mcu结构以及相应的电子设备
CN116775542B (zh) * 2023-08-22 2023-11-03 成都芯脉微电子有限责任公司 一种ai芯片、系统及数据处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW454147B (en) 1999-01-25 2001-09-11 Dell Usa Lp Recoverable software installation process and apparatus for a computer system
TWI221968B (en) 2001-06-23 2004-10-11 Motorola Inc System having an apparatus for controlling use of a communication bus and method for controlling use of a communication bus in a system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307779B1 (en) 2000-07-28 2001-10-23 Micron Technology, Inc. Method and circuitry for bank tracking in write command sequence
JP2002230893A (ja) * 2001-01-30 2002-08-16 Pioneer Electronic Corp 情報記録再生装置、情報記録再生方法及び再生記録手順プログラムを記録したプログラム記録媒体
US6715000B2 (en) * 2001-03-16 2004-03-30 Texas Instruments Incorporated Method and device for providing high data rate for a serial peripheral interface
US7562180B2 (en) 2006-03-28 2009-07-14 Nokia Corporation Method and device for reduced read latency of non-volatile memory
US7769909B2 (en) * 2006-12-04 2010-08-03 Atmel Corporation Device and method for access time reduction by speculatively decoding non-memory read commands on a serial interface
US8224884B2 (en) * 2007-07-06 2012-07-17 XMOS Ltd. Processor communication tokens
US8102710B2 (en) * 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for setting access and modification for synchronous serial interface NAND
US20090138638A1 (en) * 2007-11-27 2009-05-28 Microsoft Corporation Serial Peripheral Interface for a Transceiver Integrated Circuit
WO2009140112A1 (en) * 2008-05-13 2009-11-19 Rambus Inc. Fractional program commands for memory devices
WO2010143209A1 (en) 2009-06-10 2010-12-16 Francesco Falanga Suspension of memory operations for reduced read latency in memory arrays
US8266369B2 (en) * 2009-12-18 2012-09-11 Nxp B.V. Flash memory interface
TW201301028A (zh) 2011-06-16 2013-01-01 Amic Technology Corp 用於串列式快閃記憶體之同時讀寫方法
US20130339681A1 (en) * 2012-06-18 2013-12-19 Freescale Semiconductor, Inc. Temporal Multithreading
CN103777894A (zh) * 2012-10-25 2014-05-07 深圳市中兴微电子技术有限公司 解决存储器读写冲突的方法及装置
US9812200B2 (en) 2014-07-08 2017-11-07 Adesto Technologies Corporation Concurrent read and write operations in a serial flash device
US20160350240A1 (en) * 2015-05-29 2016-12-01 Analog Devices Global Serial peripheral interface host port

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW454147B (en) 1999-01-25 2001-09-11 Dell Usa Lp Recoverable software installation process and apparatus for a computer system
TWI221968B (en) 2001-06-23 2004-10-11 Motorola Inc System having an apparatus for controlling use of a communication bus and method for controlling use of a communication bus in a system

Also Published As

Publication number Publication date
CN107480081B (zh) 2020-05-12
CN107480081A (zh) 2017-12-15
EP3255552B1 (en) 2019-10-09
US20170351636A1 (en) 2017-12-07
EP3255552A1 (en) 2017-12-13
US10289596B2 (en) 2019-05-14
TW201743220A (zh) 2017-12-16

Similar Documents

Publication Publication Date Title
TWI639086B (zh) 具有可中斷指令序列的記憶體及其操作方法
TWI684868B (zh) 記憶體控制器及其操作方法以及記憶體系統之控制方法
TWI659422B (zh) 半導體記憶裝置及連續讀出方法
US8316174B2 (en) Microcontroller based flash memory digital controller system
TWI626544B (zh) 用於控制非揮發性記憶卡的主機、以及操作主機及系統的方法
US7657696B2 (en) Method to detect NAND-flash parameters by hardware automatically
JP6622446B2 (ja) エンベデッドマルチメディアカード(eMMC)、それを制御するホスト、及びeMMCシステムの動作方法
JP2009517742A (ja) マイクロコントローラに基づくフラッシュメモリデジタルコントローラシステムのためのコマンドデコーダ
JP4643729B2 (ja) インタリーブ制御装置、インタリーブ制御方法及びメモリシステム
CN111984559B (zh) 用于数据传送的系统及存储器装置
US10503438B1 (en) Memory sub-system supporting non-deterministic commands
US11755509B2 (en) Deterministic operation of storage class memory
US9508400B1 (en) Storage device and operating method thereof
JP2019114318A (ja) Nandプログラミングフェイルを処理するための内部コピー
TW201447573A (zh) 串列周邊介面控制器、串列周邊介面快閃記憶體及其存取方法和存取控制方法
TW201643737A (zh) 組態串列裝置
KR20210099493A (ko) 이중 slc/qlc 프로그래밍 및 리소스 해제
KR20210102019A (ko) Nand 드롭된 커맨드 검출 및 복구
US11983411B2 (en) Methods, devices and systems for including alternate memory access operations over memory interface
US11734184B2 (en) Effective avoidance of line cache misses
JP2009217310A (ja) メモリアクセス方法及びメモリアクセス装置
TWI701553B (zh) 反及閘快閃記憶體的讀取方法
KR101028855B1 (ko) 시리얼 플래시 컨트롤러