TWI667657B - 記憶體裝置及其操作方法 - Google Patents
記憶體裝置及其操作方法 Download PDFInfo
- Publication number
- TWI667657B TWI667657B TW106143910A TW106143910A TWI667657B TW I667657 B TWI667657 B TW I667657B TW 106143910 A TW106143910 A TW 106143910A TW 106143910 A TW106143910 A TW 106143910A TW I667657 B TWI667657 B TW I667657B
- Authority
- TW
- Taiwan
- Prior art keywords
- read
- target data
- buffer
- memory device
- logic circuit
- Prior art date
Links
Landscapes
- Read Only Memory (AREA)
Abstract
本發明實施例係揭露一種記憶體裝置,包括一記憶體陣列、一邏輯電路、一感測放大器電路及一讀取緩衝器。邏輯電路用以回應於一讀取指令及一初始位址,執行一讀取操作。於讀取操作時,邏輯電路依據初始位址於記憶體陣列中找到一目標資料。感測放大器電路用以於讀取操作時,從記憶體陣列中讀出目標資料。讀取緩衝器用以於讀取操作時,暫存並輸出目標資料。當一中斷事件發生於讀取操作期間,讀取緩衝器保留讀取緩衝器的一暫存內容,且邏輯電路記錄一讀取狀態。
Description
本發明是有關於一種記憶體裝置及其讀取操作方法。
隨著計算機時代的來臨,計算機系統被廣泛應用於各式各樣的電子產品(例如個人電腦、手機等)。一般而言,計算機系統是由硬體與軟體構成。記憶體則是硬體的諸多元件中的重要元件之一。
記憶體可用來儲存資料,並在需要時進行讀取。現有的記憶體在讀取一筆資料的過程中,若因某些原因而被迫中斷(例如收到其他優先度高於讀取的指令),會造成該次讀取無效。已讀取的部分資料會被捨棄。換言之,若記憶體在讀取操作被中斷,就要花費額外的時間重新從頭開始讀取操作。
有鑑於上述問題,如何提出一種記憶體裝置及其讀取操作方法,已然成為重要的課題之一。
為達上述目的,本發明實施例係揭露一種記憶體裝置,包括一記憶體陣列、一邏輯電路、一感測放大器電路及一讀取緩衝器。邏輯電路用以回應於一讀取指令及一初始位址,執行一讀取操作。於讀取操作時,邏輯電路依據初始位址於記憶體陣列中找到一目標資料。感測放大器電路用以於讀取操作時,從記憶體陣列中讀出目標資料。讀取緩衝器用以於讀取操作時,暫存並輸出目標資料。當一中斷事件發生於讀取操作期間,讀取緩衝器保留讀取緩衝器的一暫存內容,且邏輯電路記錄一讀取狀態。
為達上述目的,本發明實施例係揭露一種記憶體裝置的操作方法包括下列步驟。接收一讀取指令及一初始位址。回應於該讀取指令,執行一讀取操作。讀取操作包括依據初始位址,找出一目標資料;讀出目標資料,並暫存目標資料至一讀取緩衝器;以及輸出目標資料。當一中斷事件發生於讀取操作期間,保留讀取緩衝器的一暫存內容,且記錄一讀取狀態。
依據本發明實施例的記憶體裝置及其操作方法可減少於讀取目標資料的讀取操作被中斷後繼續讀取目標資料所需的時間,進而提高記憶體裝置的整體效率。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
請參照第1圖,第1圖繪示依據本發明實施例的記憶體裝置的方塊圖。記憶體裝置10耦接至一控制器90,而受控於控制器90。在本實施例中,記憶體裝置10與控制器90之間的傳輸介面例如是串行外設介面(Serial Peripheral Interface, SPI),本發明不以此為限。記憶體裝置10例如透過至少三條信號線CSB、SCLK、SIO耦接至控制器90。
控制器90透過信號線CSB選取或不選取記憶體裝置10。當控制器90選取記憶體裝置10時,記憶體裝置10處於可操作的狀態;反之,當控制器90不選取記憶體裝置10時,記憶體裝置10處於不可操作的狀態。當控制器90選取記憶體裝置10時,控制器90可透過信號線SCLK將時脈信號傳送至記憶體裝置10,以控制記憶體裝置10的操作時序。控制器90透過信號線SIO將寫入指令、讀取指令及抹除指令等傳送至記憶體裝置10。當記憶體裝置10接收來自控制器90的指令時,可依據指令的類型執行對應的操作。此外,控制器90與記憶體裝置10亦可透過信號線SIO進行資料的傳輸,例如寫入操作時,控制器90透過信號線SIO將要寫入的資料傳送至記憶體裝置10;讀取操作時,記憶體裝置10將讀出的資料透過信號線SIO傳送至控制器90。
記憶體裝置10包括一邏輯電路100、一記憶體陣列102、一感測放大器電路104以及一讀取緩衝器106。
邏輯電路100是用以接收來自控制器90的指令,並依據指令的類型操作記憶體陣列102、感測放大器電路104及讀取緩衝器106。
記憶體陣列102耦接至邏輯電路100。記憶體陣列102可以是非揮發性的(non-volatile),例如NOR閘快閃(NOR gate flash)記憶體陣列、NAD閘快閃(NAND gate flash)記憶體陣列等。記憶體陣列102包含多個記憶胞(memory cell)以二維(2D)或三維(3D)的方式排列。
感測放大器電路104耦接至邏輯電路100及記憶體陣列102。感測放大器電路104可用以感測記憶體陣列102內儲存的資料,並將資料從記憶體陣列102中讀出。資料被感測放大器電路104讀出後,會將資料暫存至讀取緩衝器106。
讀取緩衝器106耦接至邏輯電路100及感測放大器電路104。讀取緩衝器106用以暫存感測放大器電路104讀出的資料,並將資料輸出至控制器90。
請參照第2圖,第2圖繪示依據本發明實施例的記憶體裝置的操作方法的流程圖。記憶體裝置10的操作方法包括步驟S201~步驟S209,可用以操作記憶體裝置10。
在步驟S201中,接收一讀取指令(read command)及一初始位址。讀取指令及初始位址是由控制器90所發出,透過信號線SIO傳送至記憶體裝置10。
在步驟S203中,回應於讀取指令執行一讀取操作。具體來說步驟S203可包括步驟S2031~步驟S20335。
在步驟S2031中,依據初始位址(start address)找到一目標資料。一般來說,初始位址是代表儲存有目標資料的資料序列的第一個位元所在記憶體陣列102內記憶胞的記憶體位址(memory address)。當邏輯電路100收到來自控制器90的讀取指令及初始位址後,初始位址會先被暫存至一位址暫存器(未繪示)。接著,邏輯電路100依據初始位址,於記憶體陣列102中找到目標資料所在的記憶胞。
在步驟S2033中,讀出並暫存目標資料。具體來說,當目標資料的存放位置被找到,邏輯電路100會指示感測放大器電路104將目標資料讀出。接著,被感測放大器電路104讀出的目標資料會被暫存至讀取緩衝器106。
在步驟S2035中,輸出目標資料。具體來說,當目標資料被暫存在讀取緩衝器106後,讀取緩衝器106會陸續將目標資料透過信號線SIO輸出至控制器90。
舉例來說,假設目標資料是一筆長度為32位元(bit)的資料;感測放大器電路104從記憶體陣列102中讀出目標資料時,每個時脈週期讀出的位元數為8位元;讀取緩衝器106的長度為32位元;信號線SIO每個時脈週期可傳輸8個位元。在這個例子中,感測放大器電路104每個時脈週期從記憶體陣列102中讀出目標資料的其中8位元(從起始位址開始),並將該8個位元暫存至讀取緩衝器106。感測放大器電路104花費四個時脈週期才能讀出全部的目標資料。在部分的目標資料(例如8位元)被暫存至讀取緩衝器106後,讀取緩衝器106即透過信號線SIO每個時脈週期輸出目標資料的其中8位元至控制器90。讀取緩衝器106花費四個時脈週期輸出將目標資料完全輸出至控制器90。換言之,步驟S2033及步驟S2035會重複執行多次直到目標資料完全輸出至控制器90(即讀取操作完成)。
在步驟S205中,判斷是否有一中斷事件發生。所謂「中斷事件」指的是造成讀取操作(步驟S203)在完成之前被迫中斷的事件。舉例來說,在讀取操作完成之前,記憶體裝置10收到來自控制器90的優先度高於讀取指令的指令(例如寫入指令)。中斷事件例如發生在執行步驟S2033的期間或執行步驟S2035的期間。當有中斷事件發生,執行步驟S207;當沒有中斷事件發生,則結束本流程(即讀取操作未被中斷而得以順利完成)。
在步驟S207中,保留一讀取緩衝器的一暫存內容,並記錄一讀取狀態。所謂「暫存內容」指的是讀取緩衝器106中暫存的資料(例如部分或全部的目標資料)。讀取狀態可以是由邏輯電路100所記錄,可用以記錄被中斷事件發生時讀取操作的執行狀態。讀取狀態例如是包括發生中斷事件的時間點、目標資料已被(感測放大器電路104)讀出並暫存(至讀取緩衝器106)的位元數量或目標資料已由讀取緩衝器106輸出至控制器90的位元數量等。然而,無論中斷事件發生的時間點(例如執行步驟S2033的期間或執行步驟S2035的期間)為何,讀取緩衝器106的暫存內容皆會被保留(即暫存內容將不會被清除)。
在步驟S209中,當接收一繼續讀取指令,依據讀取狀態及讀取緩衝器的暫存內容讀取目標資料。步驟S209的細節可包括兩個實施例,細節將在分別底下進行說明。
在步驟S209的第一實施例中,假設中斷事件發生時,部分的目標資料已被感測放大器電路104讀出並暫存至讀取緩衝器106。在執行步驟S207後,讀取緩衝器106的暫存內容(即已暫存且仍未被輸出的部分的目標資料)會被保留,當邏輯電路100接收來自控制器90的繼續讀取指令,邏輯電路100便可依據讀取狀態指示感測放大器電路104繼續從記憶體陣列中讀出其餘的目標資料。舉例來說,假設中斷事件發生時,感測放大器電路104已讀出目標資料(共32位元)的其中16位元並暫存至讀取緩衝器106。在執行步驟S207後,讀取緩衝器106會保留已暫存且未被輸出的部分的目標資料(例如8位元),而邏輯電路100會記錄讀取狀態。執行步驟S209時,邏輯電路100依據讀取狀態指示感測放大器電路104將目標資料的其餘16位元讀出。當讀取其餘的目標資料時,可以從在記憶體陣列中的未讀取的目標資料開始讀出,或者從已讀出的部分的目標資料中選擇一個起始位元開始繼續讀出。
在步驟S209的第二實施例中,假設中斷事件發生時,全部的目標資料已被感測放大器電路104讀出,且暫存至讀取緩衝器106。讀取緩衝器106還未開始將目標資料傳送至控制器90,或者讀取緩衝器106可能已將部分的目標資料輸出至控制器90。當邏輯電路100接收來自控制器90的繼續讀取指令,邏輯電路100便可依據讀取狀態指示讀取緩衝器106將目標資料或其餘部分的目標資料輸出至控制器90。舉例來說,假設中斷事件發生時,讀取緩衝器106已輸出目標資料(共32位元)的其中16位元至控制器90。在步驟S207中,讀取緩衝器106會保留仍暫存於讀取緩衝器內的部分的目標資料(16位元),並記錄讀取狀態。執行步驟S209時,邏輯電路100依據讀取狀態指示讀取緩衝器106將其餘部分的目標資料傳送至控制器90。在輸出其餘部分的目標資料時,可以從未輸出的目標資料開始輸出,或者從已輸出的部分的目標資料中選擇一個起始位元開始繼續傳送。
第二實施例的時序圖可如第3圖所示。由第3圖中可知,當記憶體裝置10接收到讀取指令C_read及初始位址A後,需要花費一延遲時間L才能將部分的目標資料暫存至讀取緩衝器106。接著,資料輸出D_out1是讀取緩衝器106在傳送目標資料至控制器90(同時感測放大器電路104可能仍在持續將未讀出的目標資料讀出)。中斷事件E發生時全部的目標資料已被感測放大器電路104讀出,但仍有部分的目標資料仍未被讀取緩衝器106輸出至控制器90。待中斷事件E結束後,記憶體裝置10接收到來自控制器90繼續讀取指令C_readcon。由於無須再等待感測放大器電路104將目標資料從記憶體陣列102中讀出,故繼續讀取時不會出現延遲(或延遲很短)。讀取緩衝器106於資料輸出D_out2將其餘的目標資料傳送至控制器90。
總結來說,當讀取操作期間發生中斷事件時,藉由保留緩衝暫存器106的暫存內容及記錄讀取狀態,記憶體裝置10可以回應繼續讀取指令,依據暫存內容及讀取狀態繼續讀取目標資料。也就是說,記憶體裝置10可回應於繼續讀取指令繼續將被中斷事件所中斷的讀取操作完成,而不用為了讀取同一個目標資料重頭開始一個新的讀取操作。依據本發明實施例揭露的記憶體裝置及其操作方法,可以減少於讀取目標資料的讀取操作被中斷後繼續讀取目標資料所需的時間,進而提高記憶體裝置的整體效率。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10:記憶體裝置 100:邏輯電路 102:記憶體陣列 104:感測放大器電路 106:讀取緩衝器 90:控制器 CSB、SCLK、SIO:信號線 S201~S209:步驟 C_read:讀取指令 A:初始位址 L:延遲時間 D_out1、D_out2:資料輸出 E:中斷事件 C_readcon:繼續讀取指令
第1圖繪示依據本發明實施例的記憶體裝置的方塊圖。 第2圖繪示依據本發明實施例的記憶體裝置的讀取操作方法的流程圖。 第3圖繪示依據本發明實施例的記憶體裝置的時序圖。
Claims (10)
- 一種記憶體裝置,包括: 一記憶體陣列; 一邏輯電路,用以回應於一讀取指令及一初始位址,執行一讀取操作,於該讀取操作時,該邏輯電路依據該初始位址於該記憶體陣列中找到一目標資料; 一感測放大器電路,用以於該讀取操作時,從該記憶體陣列中讀出該目標資料;以及 一讀取緩衝器,用以於該讀取操作時,暫存並輸出該目標資料, 其中當一中斷事件發生於該讀取操作期間,該讀取緩衝器保留該讀取緩衝器的一暫存內容,且該邏輯電路記錄一讀取狀態。
- 如申請專利範圍第1項所述之記憶體裝置,其中當接收一繼續讀取指令,該邏輯電路依據該讀取狀態及該暫存內容繼續讀取該目標資料。
- 如申請專利範圍第2項所述之記憶體裝置,其中當該中斷事件發生,部分的該目標資料已被該感測放大器電路由該記憶體陣列讀出並暫存至該讀取緩衝器時,該邏輯電路回應於該繼續讀取指令,依據該讀取狀態及該暫存內容指示該感測放大器電路將其餘部分的該目標資料由該記憶體陣列中讀出。
- 如申請專利範圍第2項所述之記憶體裝置,其中當該中斷事件發生,全部的該目標資料已被該感測放大器電路讀出並暫存至該讀取緩衝器時,該邏輯電路回應於該繼續讀取指令,依據該讀取狀態及該暫存內容指示該讀取緩衝器輸出該目標資料。
- 如申請專利範圍第2項所述之記憶體裝置,其中當該中斷事件發生時,全部的該目標資料已被該感測放大器電路讀出並暫存至該讀取緩衝器,且部分的該目標資料已被輸出,該邏輯電路回應於該繼續讀取指令,依據該讀取狀態及該暫存內容指示該讀取緩衝器輸出其餘部分的該目標資料。
- 一種記憶體裝置的操作方法,包括: 接收一讀取指令及一初始位址;以及 回應於該讀取指令,執行一讀取操作,該讀取操作包括: 依據該初始位址,找出一目標資料; 讀出該目標資料,並暫存該目標資料至一讀取緩衝器;以及 輸出該目標資料, 其中當一中斷事件發生於該讀取操作期間,保留該讀取緩衝器的一暫存內容,且記錄一讀取狀態。
- 如申請專利範圍第6項所述之操作方法,其中當接收一繼續讀取指令,依據該讀取狀態及該暫存內容繼續讀取該目標資料。
- 如申請專利範圍第7項所述之操作方法,其中當該中斷事件發生,部分的該目標資料已被讀出並暫存至該讀取緩衝器時,回應於該繼續讀取指令,依據該讀取狀態及該暫存內容讀出其餘部分的該目標資料。
- 如申請專利範圍第7項所述之操作方法,其中當該中斷事件發生,全部的該目標資料已被讀出並暫存至該讀取緩衝器時,回應於該繼續讀取指令,依據該讀取狀態及該暫存內容輸出該目標資料。
- 如申請專利範圍第7項所述之操作方法,其中當該中斷事件發生,全部的該目標資料已被讀出並暫存至該讀取緩衝器,且部分的該目標資料已被輸出時,回應於該繼續讀取指令,依據該讀取狀態及該暫存內容輸出其餘部分的該目標資料。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106143910A TWI667657B (zh) | 2017-12-14 | 2017-12-14 | 記憶體裝置及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106143910A TWI667657B (zh) | 2017-12-14 | 2017-12-14 | 記憶體裝置及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201928953A TW201928953A (zh) | 2019-07-16 |
TWI667657B true TWI667657B (zh) | 2019-08-01 |
Family
ID=68049152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106143910A TWI667657B (zh) | 2017-12-14 | 2017-12-14 | 記憶體裝置及其操作方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI667657B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805501A (en) * | 1996-05-22 | 1998-09-08 | Macronix International Co., Ltd. | Flash memory device with multiple checkpoint erase suspend logic |
JP2000092278A (ja) * | 1998-09-08 | 2000-03-31 | Canon Inc | 画像読取装置及び画像形成装置 |
JP2001189827A (ja) * | 1999-12-28 | 2001-07-10 | Canon Inc | 画像読み取り装置、その制御方法、及びその制御プログラムを格納したコンピュータにより読み取り可能な記憶媒体 |
JP2003283764A (ja) * | 2002-03-26 | 2003-10-03 | Sharp Corp | 画像読取装置及び画像読取方法 |
US8850103B2 (en) * | 2009-08-28 | 2014-09-30 | Microsoft Corporation | Interruptible NAND flash memory |
TWI582775B (zh) * | 2015-04-14 | 2017-05-11 | 旺宏電子股份有限公司 | 記憶體裝置與其操作方法 |
-
2017
- 2017-12-14 TW TW106143910A patent/TWI667657B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805501A (en) * | 1996-05-22 | 1998-09-08 | Macronix International Co., Ltd. | Flash memory device with multiple checkpoint erase suspend logic |
JP2000092278A (ja) * | 1998-09-08 | 2000-03-31 | Canon Inc | 画像読取装置及び画像形成装置 |
JP2001189827A (ja) * | 1999-12-28 | 2001-07-10 | Canon Inc | 画像読み取り装置、その制御方法、及びその制御プログラムを格納したコンピュータにより読み取り可能な記憶媒体 |
JP2003283764A (ja) * | 2002-03-26 | 2003-10-03 | Sharp Corp | 画像読取装置及び画像読取方法 |
US8850103B2 (en) * | 2009-08-28 | 2014-09-30 | Microsoft Corporation | Interruptible NAND flash memory |
TWI582775B (zh) * | 2015-04-14 | 2017-05-11 | 旺宏電子股份有限公司 | 記憶體裝置與其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201928953A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI512476B (zh) | 用以控制非依電性記憶體裝置中之操作之方法以及相關電腦程式產品、電腦可讀儲存媒體、記憶體裝置、及主機裝置 | |
US9304691B2 (en) | Memory system and bank interleaving method | |
US6721820B2 (en) | Method for improving performance of a flash-based storage system using specialized flash controllers | |
EP2973572B1 (en) | System and method of reading data from memory concurrently with sending write data to the memory | |
JP2008009942A (ja) | メモリシステム | |
TWI684860B (zh) | 用來進行讀取加速之方法以及資料儲存裝置及其控制器 | |
CN102096647A (zh) | 多芯片存储器系统和相关的数据传送方法 | |
CN111796759B (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
US20150149741A1 (en) | Storage System and Control Method Thereof | |
US11442664B2 (en) | Memory system and method of operating the same | |
TWI696078B (zh) | 記憶體裝置及其操作方法 | |
US9607706B1 (en) | Semiconductor memory device | |
CN107797755B (zh) | 固态硬盘系统的原子写入方法以及使用该方法的装置 | |
JP5925549B2 (ja) | メモリシステムおよびバンクインターリーブ方法 | |
TWI667657B (zh) | 記憶體裝置及其操作方法 | |
CN109935252B (zh) | 存储器装置及其操作方法 | |
TW202011204A (zh) | 快閃記憶體控制器及方法 | |
TWI661352B (zh) | 資料儲存裝置及其資料寫入方法 | |
US10566062B2 (en) | Memory device and method for operating the same | |
US20160266974A1 (en) | Memory controller, data storage device and data write method | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
KR20090053164A (ko) | 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 | |
JP2004288147A (ja) | シリアルメモリに対するxipシステム及びその方法 | |
JP2003203490A (ja) | 半導体記憶装置、制御装置、および半導体記憶装置の制御方法 | |
TWI740092B (zh) | 儲存裝置及巨集指令的執行方法 |