TWI640872B - 記憶體控制電路單元、記憶體儲存裝置及其控制方法 - Google Patents
記憶體控制電路單元、記憶體儲存裝置及其控制方法 Download PDFInfo
- Publication number
- TWI640872B TWI640872B TW106122801A TW106122801A TWI640872B TW I640872 B TWI640872 B TW I640872B TW 106122801 A TW106122801 A TW 106122801A TW 106122801 A TW106122801 A TW 106122801A TW I640872 B TWI640872 B TW I640872B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- host system
- storage device
- signal string
- signal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/4408—Boot device selection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明的一範例實施例提供一種記憶體儲存裝置的控制方法,其包括:偵測由主機系統控制的第一訊號串;根據第一訊號串運行開機碼並進入開機碼模式;以及於開機碼模式下接收來自主機系統的指令且不運行記憶體儲存裝置中的可複寫式非揮發性記憶體模組所儲存的韌體碼。藉此,可提升記憶體儲存裝置的操作彈性。
Description
本發明是有關於一種記憶體控制電路單元、記憶體儲存裝置及其控制方法。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,記憶體儲存裝置需要與主機系統建立連線。在連線建立階段,記憶體儲存裝置與主機系統會執行交握操作,以確認彼此的時脈是否同步及/或傳遞各式交握訊息。在連線建立之後,記憶體儲存裝置才有能力識別來自主機系統的指令並與主機系統通訊。然而,在某些情況下,例如主機系統或記憶體儲存裝置的連線參數設定錯誤或記憶體儲存裝置的韌體損毀,則記憶體儲存裝置與主機系統之間的連線可能無法順利建立,使得記憶體儲存裝置無法與主機系統無法通訊。
為了解決上述問題,一般會在記憶體儲存裝置的主機板上預留一個工程用接腳。當需要進入開機碼模式時,工程人員需要使用工具將記憶體儲存裝置拆解並手動將此工程用接腳接地,以強制記憶體儲存裝置進入開機碼模式並在開機碼模式下進行除錯。但是,這種做法不一定適用於所有類型的記憶體儲存裝置。此外,拆解記憶體儲存裝置的動作除了麻煩外也容易造成硬體損壞或其他問題。
本發明的一範例實施例提供一種記憶體控制電路單元、記憶體儲存裝置及其控制方法,可更有彈性地控制記憶體儲存裝置。
本發明的一範例實施例提供一種記憶體控制電路單元,其用於控制記憶體儲存裝置,所述記憶體控制電路單元包括主機介面、記憶體介面、訊號偵測電路及記憶體管理電路。所述主機介面用以耦接至主機系統。所述記憶體介面用以耦接至所述記憶體儲存裝置的可複寫式非揮發性記憶體模組。所述記憶體管理電路耦接至所述主機介面、所述記憶體介面及所述訊號偵測電路。所述訊號偵測電路用以偵測由所述主機系統控制的第一訊號串。所述記憶體管理電路用以根據所述第一訊號串運行開機碼並進入開機碼模式。在進入所述開機碼模式之後,所述記憶體管理電路更用以於所述開機碼模式下接收來自所述主機系統的指令且不運行所述可複寫式非揮發性記憶體模組所儲存的韌體碼。
在本發明的一範例實施例中,在進入所述開機碼模式之後,所述記憶體管理電路更用以於所述開機碼模式下與所述主機系統建立連線。
在本發明的一範例實施例中,在所述訊號偵測電路偵測所述第一訊號串之前,所述記憶體管理電路更用以從所述可複寫式非揮發性記憶體模組載入所述韌體碼並基於所述韌體碼之運行而嘗試與所述主機系統建立連線。
在本發明的一範例實施例中,所述訊號偵測電路偵測所述第一訊號串的操作,是在所述記憶體管理電路無法基於所述韌體碼之運行而與所述主機系統建立連線之後執行。
在本發明的一範例實施例中,所述訊號偵測電路包括重置計數器與微控制器。所述重置計數器用以偵測來自所述主機系統的訊號串中的有效脈衝。所述微控制器耦接至所述重置計數器並且用以根據所述重置計數器的偵測結果判斷是否偵測到所述第一訊號串。
在本發明的一範例實施例中,所述記憶體管理電路更用以根據所述第一訊號串執行至少一次系統重置。
本發明的另一範例實施例提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組。所述記憶體控制電路單元用以偵測由所述主機系統控制的第一訊號串。所述記憶體控制電路單元更用以根據所述第一訊號串運行開機碼並進入開機碼模式。在進入所述開機碼模式之後,所述記憶體控制電路單元更用以於所述開機碼模式下接收來自所述主機系統的指令且不運行所述可複寫式非揮發性記憶體模組所儲存的韌體碼。
在本發明的一範例實施例中,在進入所述開機碼模式之後,所述記憶體控制電路單元更用以於所述開機碼模式下與所述主機系統建立連線。
在本發明的一範例實施例中,在偵測所述第一訊號串之前,所述記憶體控制電路單元更用以從所述可複寫式非揮發性記憶體模組載入所述韌體碼並基於所述韌體碼之運行而嘗試與所述主機系統建立連線。
在本發明的一範例實施例中,所述記憶體控制電路單元偵測所述第一訊號串的操作,是在所述記憶體控制電路單元無法基於所述韌體碼之運行而與所述主機系統建立連線之後執行。
在本發明的一範例實施例中,所述記憶體控制電路單元包括訊號偵測電路。所述訊號偵測電路用以偵測來自所述主機系統的訊號串中的有效脈衝以判斷是否偵測到所述第一訊號串。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以根據所述第一訊號串執行至少一次系統重置。
本發明的另一範例實施例提供一種控制方法,其用於控制包括可複寫式非揮發性記憶體模組的記憶體儲存裝置,所述控制方法包括:偵測由主機系統控制的第一訊號串;根據所述第一訊號串運行開機碼並進入所述記憶體儲存裝置的開機碼模式;以及在進入所述開機碼模式之後,於所述開機碼模式下接收來自所述主機系統的指令且不運行所述可複寫式非揮發性記憶體模組所儲存的韌體碼。
在本發明的一範例實施例中,所述的控制方法更包括:在進入所述開機碼模式之後,於所述開機碼模式下與所述主機系統建立連線。
在本發明的一範例實施例中,所述的控制方法更包括:在偵測所述第一訊號串之前,從所述可複寫式非揮發性記憶體模組載入所述韌體碼,並基於所述韌體碼之運行而嘗試與所述主機系統建立連線。
在本發明的一範例實施例中,偵測由所述主機系統控制的所述第一訊號串的操作,是在無法基於所述韌體碼之運行而與所述主機系統建立連線之後執行。
在本發明的一範例實施例中,所述第一訊號串是經由所述記憶體儲存裝置與所述主機系統之間的重置接腳傳輸。
在本發明的一範例實施例中,所述第一訊號串是經由所述記憶體儲存裝置的電源接腳傳輸。
在本發明的一範例實施例中,所述電源接腳是用以提供電源至所述可複寫式非揮發性記憶體模組。
在本發明的一範例實施例中,偵測由所述主機系統控制的所述第一訊號串的步驟包括:分析來自所述主機系統的訊號串;以及若所述訊號串的脈衝樣式符合預設條件,判定偵測到所述第一訊號串。
在本發明的一範例實施例中,所述的控制方法更包括:根據所述第一訊號串執行所述記憶體儲存裝置的至少一次系統重置。
基於上述,在偵測到由主機系統控制的第一訊號串之後,記憶體儲存裝置會運行開機碼並進入開機碼模式。然後,記憶體儲存裝置可於開機碼模式下接收並識別來自主機系統的指令。特別是,在基於第一訊號串而進入開機碼模式之後,儲存於記憶體儲存裝置之可複寫式非揮發性記憶體模組中的韌體碼並不會被運行,以避免受損壞或尚未設定的韌體碼影響。藉此,可更有彈性地控制記憶體儲存裝置。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
以下提出多個範例實施例來說明本發明,然而本發明不僅限於所例示的多個範例實施例。又範例實施例之間也允許有適當的結合。在本案說明書全文(包括申請專利範圍)中所使用的「耦接」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。此外,「訊號」一詞可指至少一電流、電壓、電荷、溫度、資料、或任何其他一或多個訊號。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。
請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料儲存至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的安全數位(Secure Digital, SD)卡32、小型快閃(Compact Flash, CF)卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded Multi Media Card, eMMC)341及/或嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)儲存裝置342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
連接介面單元402用以將記憶體儲存裝置10耦接至主機系統11。在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準、通用序列匯流排(Universal Serial Bus, USB)標準、SD介面標準、超高速一代(Ultra High Speed-I, UHS-I)介面標準、超高速二代(Ultra High Speed-II, UHS-II)介面標準、記憶棒(Memory Stick, MS)介面標準、MCP介面標準、MMC介面標準、eMMC介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、eMCP介面標準、CF介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是以電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變記憶胞之臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化(programming)記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組406中的每一個記憶胞具有多個儲存狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位元。
在本範例實施例中,可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
在本範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面(page)或是實體扇(sector)。若實體程式化單元為實體頁面,則此些實體程式化單元通常包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼等管理資料)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504及記憶體介面506。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路502的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。例如,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。此唯讀記憶體儲存有開機碼(boot code)。當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。然後,記憶體管理電路502的微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的記憶胞或其群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組406中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令序列以從可複寫式非揮發性記憶體模組406中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組406中抹除。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組406執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,記憶體管理電路502還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組406以指示執行相對應的操作。
主機介面504是耦接至記憶體管理電路502並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面504來傳送至記憶體管理電路502。在本範例實施例中,主機介面504是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路502要存取可複寫式非揮發性記憶體模組406,記憶體介面506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收操作等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路502產生並且透過記憶體介面506傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在一範例實施例中,記憶體控制電路單元404還包括錯誤檢查與校正電路508、緩衝記憶體510與電源管理電路512。
錯誤檢查與校正電路508是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正操作以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路508會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正操作。
緩衝記憶體510是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路512是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
在一範例實施例中,可複寫式非揮發性記憶體模組406中還儲存有用於與主機系統11建立連線的韌體碼。須注意的是,所述用於與主機系統11建立連線的韌體碼實際上還可以包括其他功能,例如,開機及/或系統初始化等,本發明不加以限制。在偵測到開機訊號(例如,從主機系統11上電)時,記憶體管理電路502會運行開機碼。響應於開機碼的運行,此韌體碼亦可被記憶體管理電路502載入並運行。然後,記憶體管理電路502會基於此韌體碼之運行而嘗試與主機系統11建立連線。若記憶體儲存裝置10與主機系統11之間的連線成功建立,記憶體管理電路502可識別來自主機系統11的指令並且主機系統11可基於此連線來傳輸指令給記憶體儲存裝置10,以指示記憶體儲存裝置10執行資料寫入、讀取或刪除等操作。然而,若記憶體儲存裝置10與主機系統11之間的連線無法成功建立,則記憶體管理電路502將無法識別來自主機系統11的指令。
在一範例實施例中,記憶體控制電路單元404更包括訊號偵測電路507。訊號偵測電路507耦接至記憶體管理電路502、主機介面504及記憶體介面506。訊號偵測電路507用以偵測由主機系統11控制的訊號串(亦稱為第一訊號串)。例如,第一訊號串可由主機系統11產生並經由主機介面504的至少一接腳傳輸至記憶體儲存裝置10。例如,在一範例實施例中,第一訊號串可經由主機介面504的重置接腳傳輸,並且第一訊號串包括來自主機系統11的重置訊號。或者,在一範例實施例中,第一訊號串是經由主機介面504的電源接腳傳輸,並且第一訊號串包括由主機系統11提供的電源訊號。在一範例實施例中,此電源接腳是用以提供電源至可複寫式非揮發性記憶體模組406。
在一範例實施例中,訊號偵測電路507會分析來自主機系統11的訊號串。例如,此訊號串是經由記憶體儲存裝置10的重置接腳或電源接腳傳輸。若此訊號串的脈衝樣式符合預設條件,訊號偵測電路507會判定偵測到第一訊號串。例如,符合預設條件的脈衝樣式可由此訊號串中的多個脈衝組成,且此些脈衝的振幅、頻率、波形及/或脈寬符合一預設規則。若此訊號串的脈衝樣式不符合預設條件,訊號偵測電路507不會判定偵測到第一訊號串。
在一範例實施例中,若記憶體儲存裝置10與主機系統11之間的連線無法基於上述韌體碼之運行而成功建立,則主機系統11會發送第一訊號串至記憶體儲存裝置10。此外,在另一範例實施例中,主機系統11亦可對應於其他條件或根據使用者操作而發送第一訊號串至記憶體儲存裝置10,本發明不加以限制。例如,在一範例實施例中,主機系統11亦可以在記憶體儲存裝置10出廠前或送修時發送第一訊號串至記憶體儲存裝置10。
在訊號偵測電路507偵測到第一訊號串之後,記憶體管理電路502會根據第一訊號串運行開機碼並進入開機碼模式。然後,記憶體管理電路502會於開機碼模式下接收來自主機系統11的指令並執行對應於此指令的操作。但是,須注意的是,若開機碼是根據所測得的第一訊號串而運行,則在運行開機碼之後,記憶體管理電路502不會接續運行可複寫式非揮發性記憶體模組406所儲存的韌體碼。換言之,在訊號偵測電路507偵測到第一訊號串之後,記憶體管理電路502會進入並停留於開機碼模式,而不執行上述用於建立與主機系統11之間的連線的韌體碼。
在一範例實施例中,在基於第一訊號串而進入開機碼模式之後,記憶體管理電路502會於開機碼模式下與主機系統11建立連線。若記憶體儲存裝置10與主機系統11之間的連線於開機碼模式下成功建立,則主機系統11可基於所建立的連線傳送指令至記憶體儲存裝置10,並且記憶體管理電路502可於開機碼模式下基於所建立的連線而識別來自主機系統11的指令。例如,在一範例實施例中,基於在開機碼模式下建立的連線,主機系統11可傳送用於更新儲存於可複寫式非揮發性記憶體模組406中的韌體碼的指令、用於調整記憶體儲存裝置10之設定參數的指令或其他類型的指令,而記憶體管理電路502可根據所接收到的指令於開機碼模式下執行相應的操作,例如更新韌體碼、調整設定參數及/或修復錯誤資訊等。在一範例實施例中,在根據接收到的指令執行更新韌體碼、調整設定參數及/或修復錯誤資訊等操作之後,當記憶體儲存裝置10下次啟動時,記憶體儲存裝置10與主機系統11之間的連線可基於所載入並運行的韌體碼而成功建立。藉此,在記憶體儲存裝置10下次啟動後,記憶體管理電路502可不進入及/或停留於開機碼模式。
在一範例實施例中,若可複寫式非揮發性記憶體模組406中尚未儲存韌體碼、可複寫式非揮發性記憶體模組406中的韌體碼損壞或此韌體碼中的參數設定錯誤,則停留於開機碼模式而不執行可複寫式非揮發性記憶體模組406中的韌體碼可避免記憶體儲存裝置10與主機系統11之間的連線建立失敗及/或記憶體儲存裝置10開機失敗等錯誤程序重複發生。反之,若記憶體儲存裝置10與主機系統11之間的連線可基於所運行的韌體碼而成功建立,則記憶體儲存裝置10可不進入開機碼模式。
圖6是根據本發明的一範例實施例所繪示的訊號偵測電路的示意圖。
請參照圖6,在本範例實施例中,訊號偵測電路507可偵測具有特定樣式(pattern)的重置訊號RST。其中,具有特定樣式的重置訊號RST即為第一訊號串。若偵測到具有特定樣式的重置訊號RST,訊號偵測電路507會發送一個通知訊號至記憶體管理電路502。記憶體管理電路502會根據此通知訊號運行開機碼。然後,記憶體管理電路502會進入並停留於開機碼模式。
在一範例實施例中,每偵測到重置訊號RST中的一個有效脈衝,記憶體管理電路502會根據此有效脈衝執行一次系統重置。在此,有效脈衝是指振幅大於一預設值的脈衝,以與訊號中的雜訊區隔。例如,假設第一訊號串是由重置訊號RST中的4個連續或不連續的有效脈衝組成,則記憶體管理電路502會根據這4個有效脈衝執行4次系統重置。須注意的是,在前3次執行的系統重置中,記憶體管理電路502每次皆會運行開機碼並接續運行儲存於可複寫式非揮發性記憶體模組406中的韌體碼。但是,在第4次執行的系統重置中,由於已偵測到具有特定樣式的重置訊號RST,因此記憶體管理電路502在運行開機碼後會停留在開機碼模式,而不運行儲存於可複寫式非揮發性記憶體模組406中的韌體碼。
在一範例實施例中,訊號偵測電路507包括重置計數器601與微控制器602。重置計數器601耦接至微控制器602。重置計數器601用以偵測重置訊號RST中有效脈衝的發生次數及/或頻率。例如,重置計數器601可使用一個時脈訊號來取樣重置訊號RST並將取樣結果傳送給微控制器602。微控制器602可根據重置計數器601的偵測結果判斷是否偵測到第一訊號串。例如,微控制器602可根據重置計數器601的偵測結果判斷重置訊號RST的脈衝樣式是否符合預設條件。若是,微控制器602可判定偵測到第一訊號串。反之,則表示未偵測到第一訊號串。
圖7是根據本發明的另一範例實施例所繪示的訊號偵測電路的示意圖。
請參照圖7,在本範例實施例中,訊號偵測電路507可偵測具有特定樣式的電源訊號VCC。其中,具有特定樣式的電源訊號VCC即為第一訊號串。例如,在本範例實施例中,訊號偵測電路507包括重置計數器701與微控制器702。重置計數器701與微控制器702分別相同或相似於重置計數器601與微控制器602,在此便不贅述。若偵測到具有特定樣式的電源訊號VCC,訊號偵測電路507會發送一個通知訊號至記憶體管理電路502。記憶體管理電路502會根據此通知訊號運行開機碼以進入並停留於開機碼模式。
在一範例實施例中,每偵測到電源訊號VCC中的一個有效脈衝,記憶體管理電路502也會根據此有效脈衝執行一次系統重置。或者,在一範例實施例中,記憶體管理電路502只會在識別出具有特定樣式的電源訊號VCC(即第一訊號串)之後執行系統重置,而不會根據電源訊號VCC中的每一個有效脈衝執行系統重置。
須注意的是,在本範例實施例中,電源訊號VCC是用以提供電源給可複寫式非揮發性記憶體模組406,而電源訊號VCCQ2則是提供電源給記憶體控制電路單元404。例如,電源訊號VCC的邏輯高電壓準位可約為3.3伏特,而電源訊號VCCQ2的邏輯高電壓準位則可約為1.8伏特,但本發明不限於此。此外,電源訊號VCC的傳輸路徑不同於電源訊號VCCQ2的傳輸路徑。在一範例實施例中,訊號偵測電路507是分析電源訊號VCC以偵測第一訊號串,而非分析電源訊號VCCQ2。
圖8是根據本發明的另一範例實施例所繪示的訊號偵測電路的示意圖。
請參照圖8,在本範例實施例中,訊號偵測電路507可選擇性地分析重置訊號RST或電源訊號VCC以偵測第一訊號串。例如,在本範例實施例中,訊號偵測電路507包括重置計數器801、微控制器802及多工器803。重置計數器801與微控制器802分別相同或相似於重置計數器601與微控制器602,在此便不贅述。多工器803用以選擇性地將重置訊號RST與電源訊號VCC的其中之一傳送給重置計數器801。換言之,在圖8的範例實施例中,主機系統11可控制重置訊號RST或電源訊號VCC來傳送第一訊號串。此外,訊號偵測電路507可根據是否可取得重置訊號RST(或電源訊號VCC)來決定要分析重置訊號RST或電源訊號VCC。
在一範例實施例中,若記憶體儲存裝置10(或主機介面504)具有重置接腳,則主機系統11可經由重置接腳傳送帶有第一訊號串的重置訊號RST給記憶體儲存裝置10。在此狀況下,微控制器802可指示多工器803讓重置訊號RST通過。或者,在一範例實施例中,若記憶體儲存裝置10(或主機介面504)不具有重置接腳,則主機系統11可經由電源接腳傳送帶有第一訊號串的電源訊號VCC給記憶體儲存裝置10。在此狀況下,微控制器802可指示多工器803讓電源訊號VCC通過。
須注意的是,圖4至圖8的電路元件及其結構僅為範例,而非用以限制本發明。在其他未提及的實施例中,圖4至圖8中至少部分電路元件的耦接關係可以被改變,部分電路元件可以被具有相同或相似功能的電路元件取代,及/或可以加入更多電路元件以提供額外功能,視實務上需求而定。
圖9A是根據本發明的一範例實施例所繪示的重置訊號的示意圖。請參照圖9A,重置訊號RST可帶有分別對應於訊息A與B的兩種有效脈衝,其中,對應於信息A的有效脈衝具有脈寬W1,對應於信息B的有效脈衝具有脈寬W2,且脈寬W1不同於脈寬W2。在一範例實施例中,脈寬W2例如為脈寬W1的兩倍,但本發明不限於此。
圖9B是根據本發明的一範例實施例所繪示的電源訊號的示意圖。
請參照圖9B,電源訊號VCC也可帶有分別對應於訊息A與B的兩種有效脈衝。對應於信息A的有效脈衝具有脈寬W1,對應於信息B的有效脈衝具有脈寬W2,且脈寬W1不同於脈寬W2。在一範例實施例中,脈寬W2例如為脈寬W1的兩倍,但本發明不限於此。
圖9C是根據本發明的一範例實施例所繪示的訊號串的示意圖。
請參照圖9C,假設訊號串TS(可為重置訊號或電源訊號)依序傳遞了對應於訊息A-B-A-B的4個有效脈衝,且這4個有效脈衝組成的脈衝樣式符合預設條件。在偵測到這4個有效脈衝(即第一訊號串)之後,在時間點T1,記憶體儲存裝置10進入並停留於開機碼模式。在完成開機碼模式下的相關操作之後,主機系統11控制訊號串TS傳遞對應於訊息C的有效脈衝。例如,對應於訊息C的有效脈衝的脈寬不同於圖9A與圖9B中的脈寬W1與W2。在偵測到對應於訊息C的有效脈衝之後,在時間點T2,記憶體儲存裝置10離開開機碼模式。例如,在離開開機碼模式之後,記憶體儲存裝置10可重新啟動(例如重新開機)。在啟動程序中,開機碼與儲存於可複寫式非揮發性記憶體模組406中的韌體碼可依序被載入並運行。
須注意的是,雖然圖9A至圖9C的範例實施例中是以第一訊號串中每一個有效脈衝的脈寬變化來傳遞訊息,但是,在另一範例實施例中,第一訊號串中每一個有效脈衝亦可以是以振幅、頻率、波形或其他電性變化來傳遞訊息,本發明不加以限制。在一範例實施例中,第一訊號串中的多個有效脈衝亦可用以傳遞摩斯碼(Morse code)或其他的編碼訊息,本發明不加以限制。
在一範例實施例中,分析訊號串(例如重置訊號或電源訊號)中的有效脈衝亦可以視為是分析訊號串以獲取訊號串所夾帶的訊息。若所夾帶的訊息符合預設訊息內容,可判定測得第一訊號串。反之,若所夾帶的訊息不符合預設訊息內容,可判定未測得第一訊號串。
圖10是根據本發明的一範例實施例所繪示的記憶體儲存裝置的控制方法的流程圖。
請參照圖10,在步驟S1001中,偵測由主機系統控制的第一訊號串。在步驟S1002中,根據第一訊號串運行開機碼並進入記憶體儲存裝置的開機碼模式。在步驟S1003中,於開機碼模式下接收來自主機系統的指令且不運行記憶體儲存裝置的可複寫式非揮發性記憶體模組所儲存的韌體碼。
圖11是根據本發明的另一範例實施例所繪示的記憶體儲存裝置的控制方法的流程圖。
請參照圖11,在步驟S1101中,偵測開機訊號並運行開機碼。在步驟S1102中,從記憶體儲存裝置的可複寫式非揮發性記憶體模組載入並運行韌體碼。在步驟S1103中,基於韌體碼之運行而嘗試與主機系統建立連線。在步驟S1104中,判斷連線是否成功建立。若連線已成功建立,在步驟S1105中,基於所建立的連線與主機系統通訊。若連線無法建立,在步驟S1106中,偵測由主機系統控制的第一訊號串。在步驟S1107中,根據第一訊號串運行開機碼並進入記憶體儲存裝置的開機碼模式。在步驟S1108中,於開機碼模式下與主機系統建立連線。在步驟S1109中,於開機碼模式下接收來自主機系統的指令且不運行可複寫式非揮發性記憶體模組所儲存的韌體碼。
然而,圖10與圖11中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖10與圖11中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖10與圖11的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,在偵測到由主機系統控制的第一訊號串之後,記憶體儲存裝置會運行開機碼並進入開機碼模式。然後,記憶體儲存裝置可於開機碼模式下接收並識別來自主機系統的指令。特別是,在基於第一訊號串而進入開機碼模式之後,儲存於記憶體儲存裝置之可複寫式非揮發性記憶體模組中的韌體碼並不會被運行,以避免受損壞或尚未設定的韌體碼影響。藉此,可更有彈性地控制記憶體儲存裝置,於開機碼模式下進行韌體碼更新或除錯。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體
113‧‧‧唯讀記憶體
114‧‧‧資料傳輸介面
12‧‧‧輸入/輸出(I/O)裝置
20‧‧‧主機板
201‧‧‧隨身碟
202‧‧‧記憶卡
203‧‧‧固態硬碟
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
507‧‧‧訊號偵測電路
508‧‧‧錯誤檢查與校正電路
510‧‧‧緩衝記憶體
512‧‧‧電源管理電路
601、701、801‧‧‧重置計數器
602、702、802‧‧‧微控制器
803‧‧‧多工器
RST‧‧‧重置訊號
VCC、VCCQ2‧‧‧電源訊號
T1、T2‧‧‧時間點
TS‧‧‧訊號串
S1001‧‧‧步驟(偵測由主機系統控制的第一訊號串)
S1002‧‧‧步驟(根據第一訊號串運行開機碼並進入記憶體儲存裝置的開機碼模式)
S1003‧‧‧步驟(於開機碼模式下接收來自主機系統的指令且不運行記憶體儲存裝置的可複寫式非揮發性記憶體模組所儲存的韌體碼)
S1101‧‧‧步驟(偵測開機訊號並運行開機碼)
S1102‧‧‧步驟(從記憶體儲存裝置的可複寫式非揮發性記憶體模組載入並運行韌體碼)
S1103‧‧‧步驟(基於韌體碼之運行而嘗試與主機系統建立連線)
S1104‧‧‧步驟(連線是否建立)
S1105‧‧‧步驟(基於所建立的連線與主機系統通訊)
S1106‧‧‧步驟(偵測由主機系統控制的第一訊號串)
S1107‧‧‧步驟(根據第一訊號串運行開機碼並進入記憶體儲存裝置的開機碼模式)
S1108‧‧‧步驟(於開機碼模式下與主機系統建立連線)
S1109‧‧‧步驟(於開機碼模式下接收來自主機系統的指令且不運行可複寫式非揮發性記憶體模組所儲存的韌體碼)
11‧‧‧主機系統
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體
113‧‧‧唯讀記憶體
114‧‧‧資料傳輸介面
12‧‧‧輸入/輸出(I/O)裝置
20‧‧‧主機板
201‧‧‧隨身碟
202‧‧‧記憶卡
203‧‧‧固態硬碟
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
507‧‧‧訊號偵測電路
508‧‧‧錯誤檢查與校正電路
510‧‧‧緩衝記憶體
512‧‧‧電源管理電路
601、701、801‧‧‧重置計數器
602、702、802‧‧‧微控制器
803‧‧‧多工器
RST‧‧‧重置訊號
VCC、VCCQ2‧‧‧電源訊號
T1、T2‧‧‧時間點
TS‧‧‧訊號串
S1001‧‧‧步驟(偵測由主機系統控制的第一訊號串)
S1002‧‧‧步驟(根據第一訊號串運行開機碼並進入記憶體儲存裝置的開機碼模式)
S1003‧‧‧步驟(於開機碼模式下接收來自主機系統的指令且不運行記憶體儲存裝置的可複寫式非揮發性記憶體模組所儲存的韌體碼)
S1101‧‧‧步驟(偵測開機訊號並運行開機碼)
S1102‧‧‧步驟(從記憶體儲存裝置的可複寫式非揮發性記憶體模組載入並運行韌體碼)
S1103‧‧‧步驟(基於韌體碼之運行而嘗試與主機系統建立連線)
S1104‧‧‧步驟(連線是否建立)
S1105‧‧‧步驟(基於所建立的連線與主機系統通訊)
S1106‧‧‧步驟(偵測由主機系統控制的第一訊號串)
S1107‧‧‧步驟(根據第一訊號串運行開機碼並進入記憶體儲存裝置的開機碼模式)
S1108‧‧‧步驟(於開機碼模式下與主機系統建立連線)
S1109‧‧‧步驟(於開機碼模式下接收來自主機系統的指令且不運行可複寫式非揮發性記憶體模組所儲存的韌體碼)
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。 圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖6是根據本發明的一範例實施例所繪示的訊號偵測電路的示意圖。 圖7是根據本發明的另一範例實施例所繪示的訊號偵測電路的示意圖。 圖8是根據本發明的另一範例實施例所繪示的訊號偵測電路的示意圖。 圖9A是根據本發明的一範例實施例所繪示的重置訊號的示意圖。 圖9B是根據本發明的一範例實施例所繪示的電源訊號的示意圖。 圖9C是根據本發明的一範例實施例所繪示的訊號串的示意圖。 圖10是根據本發明的一範例實施例所繪示的記憶體儲存裝置的控制方法的流程圖。 圖11是根據本發明的另一範例實施例所繪示的記憶體儲存裝置的控制方法的流程圖。
Claims (27)
- 一種記憶體控制電路單元,用於控制一記憶體儲存裝置,該記憶體控制電路單元包括: 一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至該記憶體儲存裝置的一可複寫式非揮發性記憶體模組; 一訊號偵測電路;以及 一記憶體管理電路,耦接至該主機介面、該記憶體介面及該訊號偵測電路, 其中該訊號偵測電路用以偵測由該主機系統控制的一第一訊號串, 其中該記憶體管理電路用以根據該第一訊號串運行一開機碼並進入一開機碼模式, 其中在進入該開機碼模式之後,該記憶體管理電路更用以於該開機碼模式下接收來自該主機系統的一指令且不運行該可複寫式非揮發性記憶體模組所儲存的一韌體碼。
- 如申請專利範圍第1項所述的記憶體控制電路單元,其中在進入該開機碼模式之後,該記憶體管理電路更用以於該開機碼模式下與該主機系統建立連線。
- 如申請專利範圍第1項所述的記憶體控制電路單元,其中在該訊號偵測電路偵測該第一訊號串之前,該記憶體管理電路更用以從該可複寫式非揮發性記憶體模組載入該韌體碼並基於該韌體碼之運行而嘗試與該主機系統建立連線。
- 如申請專利範圍第3項所述的記憶體控制電路單元,其中該訊號偵測電路偵測該第一訊號串的操作,是在該記憶體管理電路無法基於該韌體碼之運行而與該主機系統建立連線之後執行。
- 如申請專利範圍第1項所述的記憶體控制電路單元,其中該第一訊號串是經由該記憶體儲存裝置與該主機系統之間的一重置接腳傳輸。
- 如申請專利範圍第1項所述的記憶體控制電路單元,其中該第一訊號串是經由該記憶體儲存裝置的一電源接腳傳輸。
- 如申請專利範圍第6項所述的記憶體控制電路單元,其中該電源接腳是用以提供電源至該可複寫式非揮發性記憶體模組。
- 如申請專利範圍第1項所述的記憶體控制電路單元,其中該訊號偵測電路包括: 一重置計數器,用以偵測來自該主機系統的一訊號串中的一有效脈衝;以及 一微控制器,耦接至該重置計數器並且用以根據該重置計數器的一偵測結果判斷是否偵測到該第一訊號串。
- 如申請專利範圍第1項所述的記憶體控制電路單元,其中該記憶體管理電路更用以根據該第一訊號串執行至少一次系統重置。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以偵測由該主機系統控制的一第一訊號串, 其中該記憶體控制電路單元更用以根據該第一訊號串運行一開機碼並進入一開機碼模式, 其中在進入該開機碼模式之後,該記憶體控制電路單元更用以於該開機碼模式下接收來自該主機系統的一指令且不運行該可複寫式非揮發性記憶體模組所儲存的一韌體碼。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中在進入該開機碼模式之後,該記憶體控制電路單元更用以於該開機碼模式下與該主機系統建立連線。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中在偵測該第一訊號串之前,該記憶體控制電路單元更用以從該可複寫式非揮發性記憶體模組載入該韌體碼並基於該韌體碼之運行而嘗試與該主機系統建立連線。
- 如申請專利範圍第12項所述的記憶體儲存裝置,其中該記憶體控制電路單元偵測該第一訊號串的操作,是在該記憶體控制電路單元無法基於該韌體碼之運行而與該主機系統建立連線之後執行。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該第一訊號串是經由該連接介面單元的一重置接腳傳輸。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該第一訊號串是經由該記憶體儲存裝置的一電源接腳傳輸。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該電源接腳是用以提供電源至該可複寫式非揮發性記憶體模組。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元包括一訊號偵測電路, 其中該訊號偵測電路用以偵測來自該主機系統的一訊號串中的一有效脈衝以判斷是否偵測到該第一訊號串。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以根據該第一訊號串執行至少一次系統重置。
- 一種控制方法,用於控制包括一可複寫式非揮發性記憶體模組的一記憶體儲存裝置,該控制方法包括: 偵測由一主機系統控制的一第一訊號串; 根據該第一訊號串運行一開機碼並進入該記憶體儲存裝置的一開機碼模式;以及 在進入該開機碼模式之後,於該開機碼模式下接收來自該主機系統的一指令且不運行該可複寫式非揮發性記憶體模組所儲存的一韌體碼。
- 如申請專利範圍第19項所述的控制方法,更包括: 在進入該開機碼模式之後,於該開機碼模式下與該主機系統建立連線。
- 如申請專利範圍第19項所述的控制方法,更包括: 在偵測該第一訊號串之前,從該可複寫式非揮發性記憶體模組載入該韌體碼,並基於該韌體碼之運行而嘗試與該主機系統建立連線。
- 如申請專利範圍第21項所述的控制方法,其中偵測由該主機系統控制的該第一訊號串的操作,是在無法基於該韌體碼之運行而與該主機系統建立連線之後執行。
- 如申請專利範圍第19項所述的控制方法,其中該第一訊號串是經由該記憶體儲存裝置與該主機系統之間的一重置接腳傳輸。
- 如申請專利範圍第19項所述的控制方法,其中該第一訊號串是經由該記憶體儲存裝置的一電源接腳傳輸。
- 如申請專利範圍第24項所述的控制方法,其中該電源接腳是用以提供電源至該可複寫式非揮發性記憶體模組。
- 如申請專利範圍第19項所述的控制方法,其中偵測由該主機系統控制的該第一訊號串的步驟包括: 分析來自該主機系統的一訊號串;以及 若該訊號串的一脈衝樣式符合一預設條件,判定偵測到該第一訊號串。
- 如申請專利範圍第19項所述的控制方法,更包括: 根據該第一訊號串執行該記憶體儲存裝置的至少一次系統重置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106122801A TWI640872B (zh) | 2017-07-07 | 2017-07-07 | 記憶體控制電路單元、記憶體儲存裝置及其控制方法 |
| US15/690,215 US11003460B2 (en) | 2017-07-07 | 2017-08-29 | Memory control circuit unit, memory storage device and control method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106122801A TWI640872B (zh) | 2017-07-07 | 2017-07-07 | 記憶體控制電路單元、記憶體儲存裝置及其控制方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI640872B true TWI640872B (zh) | 2018-11-11 |
| TW201907312A TW201907312A (zh) | 2019-02-16 |
Family
ID=64904241
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106122801A TWI640872B (zh) | 2017-07-07 | 2017-07-07 | 記憶體控制電路單元、記憶體儲存裝置及其控制方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11003460B2 (zh) |
| TW (1) | TWI640872B (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10678529B1 (en) * | 2017-11-30 | 2020-06-09 | Amazon Technologies, Inc. | Secure device firmware installation |
| US11009966B2 (en) * | 2018-06-11 | 2021-05-18 | Dell Products L.P. | Systems and methods for processing of physical interaction with interface device of information handling system based on sensor information indicative of human proximity |
| TWI693518B (zh) * | 2019-01-16 | 2020-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置及避免韌體失效之方法 |
| TWI748366B (zh) | 2020-03-09 | 2021-12-01 | 慧榮科技股份有限公司 | 電子裝置及相關的控制方法 |
| KR20240103313A (ko) * | 2022-12-27 | 2024-07-04 | 현대오토에버 주식회사 | 소프트 리셋 이후의 제어 기능 유지를 지원하는 마이크로컨트롤러 및 그 제어 방법 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200915090A (en) * | 2007-09-28 | 2009-04-01 | Super Talent Electronics Inc | Flash memory controller controlling various flash memory cells |
| TWI514408B (zh) * | 2010-08-31 | 2015-12-21 | Apple Inc | 於裝置開機期間處置來自非揮發性記憶體之錯誤 |
| TWI534607B (zh) * | 2015-10-19 | 2016-05-21 | 群聯電子股份有限公司 | 記憶體控制電路單元、記憶體儲存裝置與資料傳輸方法 |
| US20160202930A1 (en) * | 2015-01-11 | 2016-07-14 | Storone Ltd. | Method of controlling volatile memory and system thereof |
| US20160321002A1 (en) * | 2015-04-30 | 2016-11-03 | Bong-Kil Jung | Storage device and initializing method thereof |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7190190B1 (en) * | 2004-01-09 | 2007-03-13 | Altera Corporation | Programmable logic device with on-chip nonvolatile user memory |
| US7757276B1 (en) * | 2004-04-12 | 2010-07-13 | Cisco Technology, Inc. | Method for verifying configuration changes of network devices using digital signatures |
| US20080301358A1 (en) * | 2004-05-25 | 2008-12-04 | Chih-Chiang Wen | Electronic device that Downloads Operational Firmware from an External Host |
| US7921303B2 (en) * | 2005-11-18 | 2011-04-05 | Qualcomm Incorporated | Mobile security system and method |
| US7899976B2 (en) * | 2006-12-08 | 2011-03-01 | Pandya Ashish A | FSA extension architecture for programmable intelligent search memory |
| US8533445B2 (en) * | 2009-04-21 | 2013-09-10 | Hewlett-Packard Development Company, L.P. | Disabling a feature that prevents access to persistent secondary storage |
| US8996851B2 (en) * | 2010-08-10 | 2015-03-31 | Sandisk Il Ltd. | Host device and method for securely booting the host device with operating system code loaded from a storage device |
| US8782389B2 (en) * | 2011-07-19 | 2014-07-15 | Sandisk Technologies Inc. | Storage device and method for updating a shadow master boot record |
| US9256744B2 (en) * | 2012-04-10 | 2016-02-09 | Asmedia Technology Inc. | System-on-chip and booting method thereof |
| KR101959359B1 (ko) * | 2012-11-06 | 2019-03-18 | 에이치피프린팅코리아 유한회사 | 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치 |
| KR20140121233A (ko) * | 2013-04-05 | 2014-10-15 | 삼성전자주식회사 | 부트로더에 의한 운영 체제 부팅 기능의 전자 장치, 방법 및 저장 매체 |
| US9218253B2 (en) * | 2013-05-30 | 2015-12-22 | Hewlett-Packard Development Company, L.P. | Embedded restoration memory |
| US9613214B2 (en) * | 2013-07-09 | 2017-04-04 | Micron Technology, Inc. | Self-measuring nonvolatile memory devices with remediation capabilities and associated systems and methods |
| JP6073854B2 (ja) * | 2014-12-26 | 2017-02-01 | 京セラドキュメントソリューションズ株式会社 | 電子機器及びファームウェア復旧プログラム |
| US9678762B2 (en) * | 2015-01-21 | 2017-06-13 | Cisco Technology, Inc. | Dynamic, automated monitoring and controlling of boot operations in computers |
| US10346071B2 (en) * | 2016-12-29 | 2019-07-09 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
| CN107330333B (zh) * | 2017-06-06 | 2020-04-03 | 百富计算机技术(深圳)有限公司 | 保证pos机固件安全的方法及装置 |
-
2017
- 2017-07-07 TW TW106122801A patent/TWI640872B/zh active
- 2017-08-29 US US15/690,215 patent/US11003460B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200915090A (en) * | 2007-09-28 | 2009-04-01 | Super Talent Electronics Inc | Flash memory controller controlling various flash memory cells |
| TWI514408B (zh) * | 2010-08-31 | 2015-12-21 | Apple Inc | 於裝置開機期間處置來自非揮發性記憶體之錯誤 |
| US20160202930A1 (en) * | 2015-01-11 | 2016-07-14 | Storone Ltd. | Method of controlling volatile memory and system thereof |
| US20160321002A1 (en) * | 2015-04-30 | 2016-11-03 | Bong-Kil Jung | Storage device and initializing method thereof |
| TWI534607B (zh) * | 2015-10-19 | 2016-05-21 | 群聯電子股份有限公司 | 記憶體控制電路單元、記憶體儲存裝置與資料傳輸方法 |
| TW201715392A (zh) * | 2015-10-19 | 2017-05-01 | 群聯電子股份有限公司 | 記憶體控制電路單元、記憶體儲存裝置與資料傳輸方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US11003460B2 (en) | 2021-05-11 |
| TW201907312A (zh) | 2019-02-16 |
| US20190012180A1 (en) | 2019-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10860247B2 (en) | Data writing method and storage controller | |
| TWI640872B (zh) | 記憶體控制電路單元、記憶體儲存裝置及其控制方法 | |
| TWI731338B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI668570B (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI668569B (zh) | 主機記憶體緩衝區配置方法、記憶體儲存裝置與記憶體控制電路單元 | |
| US11614997B2 (en) | Memory storage apparatus with protection of command data in a host buffer in response to a system abnormality | |
| TWI591482B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
| TWI678621B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN104636267A (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
| CN114327265A (zh) | 读取干扰检查方法、存储器存储装置及控制电路单元 | |
| CN107045890B (zh) | 数据保护方法、存储器控制电路单元及存储器存储装置 | |
| TW201635086A (zh) | 休眠模式啓動方法、記憶體控制電路單元及儲存裝置 | |
| CN110308876B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
| US20240028506A1 (en) | Mapping table re-building method, memory storage device and memory control circuit unit | |
| CN104765625B (zh) | 休眠模式启动方法、存储器控制电路单元及存储装置 | |
| CN110764947B (zh) | 数据写入方法以及存储控制器 | |
| TWI597731B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| JP2008251154A (ja) | 不揮発性半導体記憶装置 | |
| TWI512623B (zh) | 休眠模式啓動方法、記憶體控制電路單元及儲存裝置 | |
| CN110580230B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
| TWI712886B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN110297595B (zh) | 主机存储器缓冲区配置方法、储存装置与控制电路单元 | |
| CN111610937A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
| CN106155711B (zh) | 休眠模式启动方法、存储器控制电路单元及存储装置 | |
| CN112965670B (zh) | 主机存储器缓冲区管理方法、存储装置与控制电路单元 |