TW202611689A - 資料儲存裝置及其操作方法 - Google Patents
資料儲存裝置及其操作方法Info
- Publication number
- TW202611689A TW202611689A TW114118333A TW114118333A TW202611689A TW 202611689 A TW202611689 A TW 202611689A TW 114118333 A TW114118333 A TW 114118333A TW 114118333 A TW114118333 A TW 114118333A TW 202611689 A TW202611689 A TW 202611689A
- Authority
- TW
- Taiwan
- Prior art keywords
- firmware
- memory unit
- main
- data storage
- storage device
- Prior art date
Links
Abstract
一種資料儲存裝置的操作方法,包括:接收一控制信號,以指示依一第一記憶體部中儲存的一第一韌體或一第二記憶體部中儲存的一第二韌體作為主韌體運行;根據該控制信號,執行該第一韌體作為主韌體;在執行該第一韌體作為主韌體後,開機成功時,參考該第一韌體更新該第二韌體;在執行該第一韌體作為主韌體後,開機失敗時,執行該第二韌體作為主韌體;以及在執行該第二韌體和主韌體後,開機成功時,參考該第二韌體更新該第一韌體。
Description
本申請要求優先權及利益,其優先權為 2024 年 6 月 3 日提交的韓國專利申請號 10-2024-0072143 及 2025 年 4 月 1 日提交的韓國專利申請號 10-2025-0041976,其內容已全部納入本文作為參考。
本發明涉及一種資料儲存裝置及其操作方法。
資料儲存裝置廣泛應用於電子裝置、通訊、車輛、網路、遠距資訊傳輸等各個技術領域。 其中,NAND快閃記憶體是NAND型資料儲存裝置的一種,屬於非揮發性記憶體。
當NAND快閃記憶體的電源中斷或電源供應不穩定時,記憶體中的資料可能會損壞。例如,在寫入/刪除資料時,NAND快閃記憶體的電源中斷,資料可能無法正常儲存而損壞。特別是,雖然一些正在寫入/刪除的區塊在備份後可以恢復,但其他區塊可能難以恢復。
當包含 NAND 閃存的嵌入式系統發生電源中斷時,可能難以啟動系統,從而降低系統的可靠性。因此,需要一種在發生電源中斷時,在保持系統可靠性的同時穩定啟動系統的方法。
本發明旨在提供一種即使在電源中斷的情況下也能穩定啟動且不會丟失資料的資料存儲裝置及其操作方法。
本發明的其中一個方面提供了一種資料儲存裝置的操作方法,該方法包括接收用於指示第一記憶體部中儲存的第一韌體和第二記憶體部中儲存的第二韌體中的任何一個作為主韌體運行的控制信號,根據控制信號執行第一韌體作為主韌體, 在第一韌體作為主韌體執行後,啟動成功時,參考第一韌體更新第二韌體;在第一韌體作為主韌體執行後,啟動失敗時,執行第二韌體作為主韌體;以及在第二韌體和主韌體執行後,啟動成功時,參考第二韌體更新第一韌體。
第一記憶體部和第二記憶體部可以是包含在一個 NAND 閃存中的不同的晶片。
第一記憶體部中分配的位址部不能與第二記憶體部中分配的位址部重疊。
當第一韌體作為主韌體運行時,可從第一記憶體部中分配的位址部中的第一啟動開始位址進行啟動;當第二韌體作為主韌體運行時,可從第二記憶體部中分配的位址部中的第二啟動開始位址進行啟動。
在第一記憶體部中分配的位址部的範圍可以從零到,在第二記憶體部中分配的位址部的範圍可以從 。
控制信號可以通過至少一個通用輸入/輸出 (GPIO) 接收。
本發明的另一個方面提供了一種資料存儲裝置,包括存儲第一韌體的第一記憶體部、存儲第二韌體的第二記憶體部和控制器,其中,當控制器接收指示第一韌體和第二韌體中的任何一個作為主韌體運行的控制信號時,控制器根據控制信號執行第一韌體作為主韌體 當第一韌體作為主韌體執行後,開機成功時,控制器參考第一韌體更新第二韌體;當第一韌體作為主韌體執行後,開機失敗時,控制器執行第二韌體作為主韌體;當第二韌體作為主韌體執行後,開機成功時,控制器參考第二韌體更新第一韌體。
以下,將參考附圖對本發明的實施例進行詳細說明。
然而,本發明的技術精神並不限於將要描述的少數實施例,而是可以以各種不同的形式實現,並且可以在本發明的技術精神的範圍內選擇性地組合、替代和使用實施例的一個或多個組件。
此外,除非上下文明確、具體地另行規定,否則本文中使用的所有術語(包括技術和科學術語)均可理解為本領域技術人員通常理解的含義,通常使用的術語(例如常用詞典中定義的術語)的含義將考慮相關技術的上下文含義進行解釋。
此外,本發明的實施例中使用的術語僅用於描述,並不限制本發明。
在本說明書中,除非上下文另有明確說明,單數形式包括複數形式,在描述“A、B、C 中至少一個(或一個或多個)”時,這可能包括 A、B、C 的所有可能組合中的至少一個組合。
此外,在描述本發明的組件時,可能會使用“第一”、“第二”、“A”、“B”、“(a)”和“(b)”等術語。
這些術語僅用於區分一個組件與另一個組件,並不限制組件的本質、順序等。
此外,當第一組件被描述為“連接”、“耦合”或“聯接”到第二組件時,該描述可能包括第一組件直接連接、耦合或聯接到第二組件的情況,以及第一組件通過第三組件連接、耦合或聯接到第二組件的情況。
此外,當第一組件被描述為形成或布置在第二組件「上(上方)」或「下(下方)」時,該描述包括兩個組件直接接觸而形成或布置的情況,以及一個或多個其他組件形成或布置在兩個組件之間的情況。 此外,當第一組件被描述為形成在第二組件「上(上方)」或「下(下方)」時,此描述可能包括第一組件形成在第二組件的上側或下側的情況。
以下,當參考附圖詳細描述實施例時,相同或對應的組件在所有附圖中均用相同的或對應的參考編號表示,並省略重複的描述。
圖 1 是根據本發明一實施例的包括資料存儲裝置的系統的框圖。
參照圖 1,根據本發明的一個實施例,系統 10 包括電源裝置 100 和資料存儲裝置 200。
電源裝置 100 可包括轉換器 110、輸入電壓檢測器 120 和檢測信號發送器 130。轉換器 110 可接收與主電源相對應的輸入電壓,將接收到的輸入電壓轉換為資料存儲裝置 200 的組件所需的電壓,並輸出轉換後的電壓。 更具體地說,轉換器 110 可實現為穩壓器。穩壓器可通過輸入端子接收輸入電壓,並通過輸出端子輸出輸出電壓。穩壓器的輸出電壓可作為資料存儲裝置 200 的驅動電壓。穩壓器可穩定輸入電壓,並輸出穩定的輸出電壓,以穩定地向資料存儲裝置 200 供應驅動電壓。
輸入電壓檢測器 120 可檢測作為主電源供應的輸入電壓的大小,並根據其輸出檢測信號。例如,輸入電壓檢測器 120 可包括一個比較器,並根據輸入電壓與參考信號的比較結果輸出檢測信號。 檢測信號發送器 130 可將輸入電壓檢測器 120 輸出的檢測信號傳輸到資料存儲裝置 200。雖然圖中未示出,但檢測信號發送器 130 可包括將檢測信號的高電壓轉換為資料存儲裝置 200 的控制器 230 可接收的低電壓的邏輯電路。
資料儲存裝置 200 可使用電源裝置 100 輸入的電壓作為驅動電壓來運作。資料儲存裝置 200 可與控制裝置 300 進行通訊,並儲存從控制裝置 300 傳輸的資料。也就是說,資料儲存裝置 200 可與控制裝置 300 進行通訊,並儲存從控制裝置 300 接收的控制訊號。 例如,資料儲存裝置 200 可設置在車輛中,控制裝置 300 可為控制車輛的車輛控制裝置,但本發明並不限於此。 根據本發明的實施例,資料存儲裝置 200 可應用於電子設備、通信、車輛、網絡和遠程信息處理等各種技術領域,控制裝置 300 可為控制安裝有根據本發明的實施例的資料存儲裝置 200 的系統的裝置。
根據本發明的實施例,資料存儲裝置 200 可包括記憶體部 210、電源 220 和控制器 230。控制器 230 可控制記憶體部 210,並可與中央處理單元 (CPU) 交互使用。 控制器 230 可接收來自記憶體部 210 的操作信號,然後根據該信號訪問記憶體部 210。例如,操作信號可以是就緒輸出信號或忙輸出信號。
根據本發明的實施例,記憶體部 210 可以是能夠寫入、擦除和讀取資料的非揮發性記憶體。例如,記憶體部 210 可以是能夠進行電寫入和擦除且不需要以預定週期重寫資料的刷新功能的非揮發性記憶體。 例如,記憶體部 210 可以是 NAND 閃存。控制器 230 的操作信號可以對應於構成記憶體部 210 的 NAND 閃存的時序。在這種情況下,時序可以根據 NAND 閃存的操作類型更改為不同的時間週期。 例如,根據NAND閃存的操作類型,不同的時間週期可包括從記憶體單元將資料載入頁面寄存器(讀取操作)的時間、從頁面寄存器將資料載入記憶體單元(寫入操作)的時間、以區塊為單位擦除記憶體單元的資料的時間等。
或者,記憶體部 210 可以是非或讀取只讀 (NOR) 記憶體或嵌入式多媒體卡 (eMMC) 記憶體,但記憶體的類型不限於此。
資料存儲裝置 200 的電源 220 可連接到轉換器 110 的輸出端子,接收轉換器 110 的輸出電壓,穩定接收到的輸出電壓,並向記憶體部 210 供應驅動電壓。電源 220 可為向記憶體部 210 供應驅動電壓的電源管理集成電路 (PMIC)。 構成電源 220 的 PMIC 可為包括電源用離散功率元件模組、高壓電源電路、低壓數位電路或高壓及低壓類比電路的電源控制模組,並可將輸入至資料儲存裝置 200 的輸入電壓轉換、分配、充電及控制,以對應記憶體部 210。
根據本發明的實施例,實現了即使在電源中斷或不穩定的情況下也能穩定啟動且不會丟失資料的資料存儲裝置。
圖 2 是根據本發明的一個實施例的資料存儲裝置的框圖,圖 3 是根據本發明的另一個實施例的資料存儲裝置的框圖。 圖 4 是本發明一實施例的資料儲存裝置的操作方法的流程圖。
參考圖 2 和圖 3,資料儲存裝置 200 包括記憶體部 210、電源(未顯示)和控制器 230。 與圖 1 所描述的記憶體部 210、電源(未顯示)和控制器 230 相同內容的描述將省略。
根據本發明的實施例,資料儲存裝置 200 的控制器 230 包括一個啟動程式 231。 當向資料儲存裝置200供電時,可執行啟動程式231,然後執行作業系統(OS)。
根據本發明的實施例,資料儲存裝置200的記憶體部210包括複數個記憶體部。 為了方便說明,在本說明書中,記憶體部 210 包括第一記憶體部 211 和第二記憶體部 212,但本發明並不限於此,根據本發明的實施例,記憶體部 210 可包括兩個或多個記憶體部。
如圖2所示,根據本發明的實施例,記憶體部210可包括一個NAND快閃記憶體,一個NAND快閃記憶體可包括複數個晶片。即,在圖2中,第一記憶體部211可為第一晶片,第二記憶體部212可為第二晶片。 晶片可以是儲存資料的基本單位,可以形成半導體晶片。每個晶片可以包括複數個區塊。每個區塊可以是儲存資料的邏輯單位,雖然未如圖所示,但每個區塊可以包括複數個頁。 資料擦除可以以區塊為單位進行,資料寫入可以以頁為單位進行。記憶體位址可以以頁為單位分配。或者,在圖 2 的實施例中,第一記憶體部 211 和第二記憶體部 212 可以是包含在一個 NOR 記憶體中的第一晶片和第二晶片。 或者,在圖 2 的實施例中,第一記憶體部 211 和第二記憶體部 212 可以是包含在一個 eMMC 記憶體中的第一晶片和第二晶片。
或者,如圖 3 所示,根據本發明的實施例,記憶體部 210 可包括複數個 NAND 閃存。即,在圖 3 的實施例中,第一記憶體部 211 可與第一 NAND 閃存互換使用,第二記憶體部 212 可與第二 NAND 閃存互換使用。 如上所述,各 NAND 閃存可能包括複數個晶片,各晶片可能包括複數個區塊,各區塊可能包括複數個頁面,且記憶體位址可能以頁面為單位分配。或者,在圖 3 的實施例中,第一記憶體部 211 和第二記憶體部 212 可能是第一 NOR 記憶體和第二 NOR 記憶體。 或者,在圖 3 的實施例中,第一記憶體部 211 和第二記憶體部 212 可以是第一 eMMC 記憶體和第二 eMMC 記憶體。
根據本發明的實施例,第一韌體儲存在第一記憶體部 211 中,第二韌體儲存在第二記憶體部 212 中,第一記憶體部 211 中儲存的第一韌體和第二記憶體部 212 中儲存的第二韌體包括相同的資料。 韌體可以是特定硬體裝置中執行的程式,用於控制和管理硬體裝置的基本操作。韌體可以執行硬體裝置的操作方法控制、輸入資料處理、資料傳輸、開機過程控制、錯誤檢測修正等功能。韌體可以定期或不定期更新。 例如,可通過更新韌體來向韌體添加新功能或改進韌體的功能。韌體可通過數據存儲裝置 200 或外部裝置的有線通信或無線通信定期或不定期地更新。例如,無線通信可為無線韌體更新 (FOTA),外部裝置可為記憶棒。
根據本發明的實施例,當第一記憶體部 211 中儲存的第一韌體作為主韌體運行時,第二記憶體部 212 中儲存的第二韌體可作為備用韌體運行,當第二記憶體部 212 中儲存的第二韌體作為主韌體運行時,第一記憶體部 211 中儲存的第一韌體可作為備用韌體運行。 當第一記憶體部 211 中儲存的第一韌體與第二記憶體部 212 中儲存的第二韌體包括相同的資料時,主韌體與備用韌體可根據記憶體部 210 的狀態進行交換,而不固定。 也就是說,根據記憶體部 210 的狀態或控制器 230 的控制,第一記憶體部 211 中儲存的第一韌體是主韌體,第二記憶體部 212 中儲存的第二韌體是備用韌體,第一記憶體部 211 中儲存的第一韌體作為主韌體,第二記憶體部 212 中儲存的第二韌體作為備用韌體,第一記憶體部 211 中儲存的第一韌體作為主韌體,第二記憶體部 212 中儲存的第二韌體作為備用韌體,第一記憶體部 211 中儲存的第一韌體作為主 第二記憶體部 212 中儲存的第二韌體可作為主韌體運行,在第一時間點作為主韌體運行的第一韌體可在第二時間點作為備用韌體運行,在第一時間點作為備用韌體運行的第二韌體可在第二時間點作為主韌體運行。
參照圖 2 至圖 4,當控制器 230 中的啟動程式 231 被執行(S400)時,第一記憶體部 211 的第一韌體作為主韌體被執行(S410)。在這種情況下,韌體可以是控制或支援硬體裝置的軟體,當韌體被執行時,系統可以被開機。
在操作S410中,作為主韌體執行第一記憶體部211的第一韌體後,當開機成功(S420)時,第二記憶體部212中儲存的第二韌體被更新(S430)。在這種情況下,第二韌體可以參考作為主韌體的第一韌體的資料進行更新。 第二韌體可更新為與作為主韌體的第一韌體具有相同的資料。因此,第二韌體可作為備份韌體。
根據本發明的實施例,操作S430的更新可在操作S420成功完成開機後定期或非定期地重複執行。因此,第一記憶體部211中儲存的第一韌體和第二記憶體部212中儲存的第二韌體可包含相同的最新資料。
同時,當第一記憶體部 211 或第一記憶體部 211 的第一韌體損壞時,操作 S420 的開機可能會失敗。當操作 S420 的開機失敗時,第二記憶體部 212 的第二韌體作為主韌體執行(S440)。 由於在操作 S440 中將第二記憶體部 212 的第二韌體作為主韌體執行,因此,當開機成功(S450)時,第一記憶體部 211 中儲存的第一韌體被恢復和更新(S460)。為此,第一韌體可以參考作為主韌體的第二韌體進行恢復和更新。 因此,第一韌體可作為備份韌體。
根據本發明的實施例,操作S460的恢復和更新可在操作S450成功執行後定期或非定期地重複執行。因此,第一記憶體部211中儲存的第一韌體和第二記憶體部212中儲存的第二韌體可具有相同的最新資料。
然而,當操作 S450 的開機也失敗時,則判定第一記憶體部 211 的第一韌體和第二記憶體部 212 的第二韌體均已損壞,系統可結束或嘗試重新開機(S470)。
如上所述,當第一記憶體部 211 的第一韌體或第二記憶體部 212 的第二韌體作為主韌體運行時,另一韌體可參考主韌體的資料進行恢復和更新,恢復和更新可通過另一記憶體部進行, 即使兩個記憶體部中的任一記憶體部因電源中斷或電源不穩定而損壞,也可以更新第二記憶體部 212 的備份韌體,而不會影響作為主韌體運行的第一記憶體部 211。 特別是,當第一記憶體部 211 和第二記憶體部 212 是包含在一個 NAND 閃存中的第一晶片和第二晶片時,即使不增加實體空間,也可以實現使用兩個 NAND 閃存的效果。
根據本發明的實施例,當控制器230中的啟動程式231被執行時,第一記憶體部211中的第一韌體或第二記憶體部212中的第二韌體被作為主韌體執行。 在這種情況下,第一記憶體部 211 的第一韌體與第二記憶體部 212 的第二韌體中,哪一個韌體作為主韌體運行,可由控制信號選擇。
在本說明書中,控制信號可以是控制器 230 指示第一記憶體部 211 或第二記憶體部 212 使某一韌體作為主韌體運行,而另一韌體作為備用韌體運行的信號。 或者,控制信號可以是數據存儲裝置 200 中的選擇器 240、電源裝置 100 或控制裝置 300 指示控制器 230 使某些韌體作為主韌體運行,而其他韌體作為備用韌體運行的信號。
圖 5 是說明本發明的另一實施例中的資料儲存裝置的操作方法的流程圖。為了方便說明,與圖 1 至圖 4 所描述的內容相同的重複內容將省略。
參照圖 5,當控制器 230 中的啟動程式 231 被執行(S500)時,控制器 230 檢查第一記憶體部 211 和第二記憶體部 212 中用於作為主韌體運行的韌體的記憶體部的設定(S510)。 如圖 2 和圖 3 所示,控制器 230 可從選擇器 240 接收用於作為主韌體運行的韌體被存儲在記憶體部中的設定。 在這種情況下,選擇器 240 可連接到控制器 230,並可將用作主韌體的韌體儲存的記憶體部的設定資訊儲存在控制器 230 中。 在這種情況下,選擇器 240 可以是控制器 230 中包含的組件,是啟動程式 231 的外部組件,是數據存儲裝置 200 中包含的組件,是控制器 230 的外部組件,或者是數據存儲裝置 200 的外部組件。 選擇器 240 中儲存的設定資訊可能不是固定資訊。例如,選擇器 240 中儲存的設定資訊可由控制器 230 或外部裝置(未顯示)更改。 例如,選擇器 240 可以是記憶棒。控制器 230 可以根據選擇器 240 的設定,向記憶體部 210 傳輸用於執行主韌體和更新備用韌體的控制信號。
作為操作 S510 中的檢查結果,當檢查到用作主韌體的韌體被儲存於第一記憶體部 211 時,第一記憶體部 211 的第一韌體作為主韌體被執行(S520)。
在操作 S520 中,將第一記憶體部 211 的第一韌體作為主韌體執行後,當開機成功(S530)時,參考第一記憶體部 211 的第一韌體,更新第二記憶體部 212 中儲存的第二韌體(S540)。
同時,當第一記憶體部 211 或第一記憶體部 211 的第一韌體損壞時,操作 S530 中的開機可能會失敗。當操作 S530 的開機失敗時,控制器 230 修改與主韌體相關的選擇器 240 的設定(S550)。 也就是說,控制器 230 可將第二記憶體部 212 中儲存的第二韌體重置為主韌體。在這種情況下,控制器 230 可傳輸控制信號以控制選擇器 240,使選擇器 240 將第二記憶體部 212 中儲存的第二韌體重置為主韌體。 此外,控制器 230 可向記憶體部 210 傳輸控制信號,以執行主韌體並更新備用韌體。
然後,第二記憶體部 212 的第二韌體作為主韌體執行(S560)。 在操作 S560 中,第二記憶體部 212 的第二韌體作為主韌體執行後,當開機成功(S570)時,第一記憶體部 211 中儲存的第一韌體被恢復,並參考第二記憶體部 212 中儲存的第二韌體進行更新(S580)。
然而,當操作 S570 的開機失敗時,確定第一記憶體部 211 的第一韌體和第二記憶體部 212 的第二韌體均損壞,系統可能會結束,或者可能會嘗試重新開機(S590)。
如上所述,當用作主韌體的韌體所儲存的記憶體部的設定資訊預先儲存在選擇器 240 中時,控制器 230 可根據預先儲存在選擇器 240 中的設定資訊快速執行主韌體。 特別是,當開機失敗且設定資訊被重置為與對應記憶體部不同的記憶體部時,在下次開機時,可根據重置資訊快速執行主韌體。
圖6是根據本發明的另一實施例的資料儲存裝置的操作方法的流程圖。為了方便說明,省略與圖1至圖5所描述的內容相同的重複內容。
參照圖 6,當控制器 230 中的啟動程式 231 執行(S600)時,控制器 230 接收關於在第一記憶體部 211 和第二記憶體部 212 中存儲用作主韌體的韌體的記憶體部的控制信號(S610)。 在這種情況下,控制信號可以是通過通用輸入/輸出(GPIO)傳輸的外部輸入信號。在這種情況下,控制信號可以從圖 1 所示的電源裝置 100、圖 1 所示的控制裝置 300 或圖 1 中未示出的外部裝置傳輸。 根據本發明的實施例,啟動開始位址可由通過 GPIO 傳輸的控制信號指示。
表 1 顯示了通過 GPIO 傳輸的控制信號的一個例子,表 2 顯示了通過 GPIO 傳輸的控制信號的另一個例子。
[表1]
| 案例1 | GPIO 0 | 啟動位址 |
| 1 | L | 在第一記憶體部中分配的位址 |
| 2 | H | 在第二記憶體部中分配的位址 |
[表2]
| 案例1 | GPIO 0 | GPIO 1 | GPIO 2 | 啟動位址 |
| 1 | L | L | L | 0 |
| 2 | L | L | H | 2048 |
| 3 | L | H | L | 4096 |
| 4 | L | H | H | 8192 |
| 5 | H | L | L | 10240 |
| 6 | H | L | H | 12288 |
| 7 | H | H | L | 14336 |
| 8 | H | H | H | 16384 |
參考表 1,當信號 L 通過 GPIO 0 輸入時,啟動可能從第一記憶體部 211 中分配的位址開始,當信號 H 通過 GPIO 輸入時,啟動可能從第二記憶體部 212 中分配的位址開始。 也就是說,當信號 L 透過 GPIO 0 輸入時,儲存在第一記憶體部 211 中的第一韌體可作為主韌體執行,當信號 H 透過 GPIO 0 輸入時,儲存在第二記憶體部 212 中的第二韌體可作為主韌體執行。
參考表 2,當記憶體部 210 包括八個記憶體部(例如八個晶片)時,如果通過三個 GPIO 輸入控制信號,則根據三個 GPIO 的信號 L 和 H 的組合,從記憶體部中分配的位址開始啟動。
為此,構成記憶體部210的複數個記憶體部中,可將分配給記憶體部的位址部分設定為不重疊。例如,當記憶體部210為一個NAND閃存,第一記憶體部211和第二記憶體部212為包含在一個NAND閃存中的不同晶片時,可將晶片中分配的位址部分設定為不重疊。 例如,當記憶體部 210 具有作為第一記憶體部 211 的第一晶片和作為第二記憶體部 212 的第二晶片時, 第一記憶體部 211 的第一晶片中分配的位址部分可以從,第二記憶體部 212 的第二晶片中分配的位址部分可以從。 這裡,N 可以是正整數。 例如,當記憶體部 210 是 8 位記憶體,且記憶體部 210 具有作為第一記憶體部 211 的第一晶片和作為第二記憶體部 212 的第二晶片時,可將 0 到 2047 段的位址分配給作為第一記憶體部 211 的第一晶片, 第二晶片(即第二記憶體部 212)可被分配 2048 至 4095 段的位址。如上所述,當分配給晶片的位址段被設定為彼此不重疊時,根據通過 GPIO 指示的控制信號確定啟動位址,並可從相應位址段的啟動位址依次執行啟動過程。 因此,即使一些晶片因電源中斷或電源不穩定而損壞,其他晶片仍可發揮主韌體的功能,並可執行開機。
在操作 S610 中,當控制器 230 根據通過 GPIO 接收到的控制信號檢查第一記憶體部 211 中儲存的第一韌體是否設定為主韌體時,第一記憶體部 211 的第一韌體作為主韌體執行(S620)。 例如,參考表 1,當信號 L 通過 GPIO 0 輸入時,這可能意味著第一記憶體部 211 中儲存的第一韌體被設定為主韌體。 當記憶體部 210 是 8 位記憶體,且記憶體部 210 具有作為第一記憶體部 211 的第一晶片和作為第二記憶體部 212 的第二晶片時,啟動可從第一記憶體部 211 中分配的 0 至 2047 的位址段中的啟動開始位址 0 開始。
由於在操作 S620 中執行第一記憶體部 211 的第一韌體作為主韌體,因此當開機成功(S630)時,參考第一記憶體部 211 中儲存的第一韌體更新第二記憶體部 212 中儲存的第二韌體(S640)。
同時,當第一記憶體部 211 或第一記憶體部 211 的第一韌體損壞時,操作 S630 中的開機可能會失敗。 當操作 S630 的開機失敗時,控制器 230 可能會接收用於控制第一記憶體部 211 和第二記憶體部 212 中用作主要韌體的韌體的記憶體部的控制信號(S650),並執行第二記憶體部 212 的第二韌體作為主要韌體(S660)。 例如,啟動可從 2048(2048 至 4095 的啟動開始位址)開始,該位址段在第二記憶體部 212 中被分配。在本發明的另一實施例中,可省略操作 S650,當操作 S630 的啟動失敗時,可自動執行操作 S660。 即,當操作 S630 的啟動失敗時,啟動也可以從 2048(即第二記憶體部 212 中分配的位址段中的啟動開始位址)開始。 由於在操作S660中,第二記憶體部212中的第二韌體作為主韌體執行,因此,當開機成功(S670)時,參考第二記憶體部212中儲存的第二韌體,恢復並更新第一記憶體部211中儲存的第一韌體(S680)。
然而,當操作 S670 的開機也失敗時,則判定第一記憶體部 211 的第一韌體和第二記憶體部 212 的第二韌體均損壞,系統可能結束,或嘗試重新開機(S690)。
如上所述,當用作主韌體的韌體儲存的記憶體部未固定,且透過 GPIO 接收的控制信號被更改時,即使複數個記憶體部中的其中一個損壞,也可以使用未損壞的記憶體部快速執行開機,並恢復和更新損壞的記憶體部。 特別是,當在晶片中以不重疊的區段分配位址時,各晶片可作為主韌體或備份韌體運行。
根據本發明的實施例,可以獲得即使在電源中斷時也能穩定啟動且不會丟失數據的數據存儲裝置及其操作方法。 特別是,根據本發明的實施例,即使不增加記憶體的容量或實體大小,也可以恢復電源中斷時丟失的資料。此外,根據本發明的實施例,資料儲存裝置可以正常運作,同時更新備份資料。 雖然本發明已參照實施例進行了說明,但本領域技術人員可以理解,在不脫離本發明所附請求項所界定的精神和範圍的情況下,可以對本發明進行各種修改和改變。
10:系統100:電源裝置110:轉換器120:輸入電壓檢測器130:檢測信號發送器200:資料存儲裝置210:記憶體部211:第一記憶體部212:第二記憶體部220:電源230:控制器231:啟動程式240:選擇器300:控制裝置S400:操作S410:操作S420:操作S430:操作S440:操作S450:操作S460:操作S470:操作S500:操作S510:操作S520:操作S530:操作S540:操作S550:操作S560:操作S570:操作S580:操作S590操作S600:操作S610:操作S620:操作S630:操作S640:操作S650:操作S660:操作S670:操作S680:操作S690:操作
通過參考附圖對本發明的實施例進行詳細描述,本領域技術人員將更清楚地理解本發明的上述目的、特徵和優點。 圖 1 是根據本發明的一實施例示出的包括資料存儲裝置的系統的框圖; 圖 2 是根據本發明的一實施例示出的資料存儲裝置的框圖; 圖 3 是根據本發明的另一實施例的資料存儲裝置的框圖; 圖 4 是根據本發明一實施例的資料存儲裝置的操作方法的流程圖; 圖 5 是根據本發明另一實施例的資料存儲裝置的操作方法的流程圖;以及 圖 6 是根據本發明又一實施例的資料存儲裝置的操作方法的流程圖。
10:系統
100:電源裝置
110:轉換器
120:輸入電壓檢測器
130:檢測信號發送器
200:資料存儲裝置
210:記憶體部
220:電源
230:控制器
300:控制裝置
Claims (11)
- 一種資料儲存裝置的操作方法,包括: 接收一控制信號,以指示依一第一記憶體部中儲存的一第一韌體或一第二記憶體部中儲存的一第二韌體作為主韌體運行; 根據該控制信號,執行該第一韌體作為主韌體; 在執行該第一韌體作為主韌體後,開機成功時,參考該第一韌體更新該第二韌體; 在執行該第一韌體作為主韌體後,開機失敗時,執行該第二韌體作為主韌體;以及 在執行該第二韌體和主韌體後,開機成功時,參考該第二韌體更新該第一韌體。
- 如請求項 1 所述的操作方法,其中,該第一記憶體部和該第二記憶體部包括一個 NAND 閃存中包含的不同晶片。
- 如請求項 1 所述的操作方法,其中,該第一記憶體部中分配的一位址段不與該第二記憶體部中分配的一位址段重疊。
- 如請求項 3 所述之操作方法,其中: 當該第一韌體作為主韌體運行時,從該第一記憶體部中分配的該位址段中的一第一開機開始位址執行開機;以及 當該第二韌體作為主韌體運行時,從該第二記憶體部中分配的該位址段中的一第二開機開始位址執行開機。
- 如請求項 3 所述的操作方法,其中: 該第一記憶體部中分配的該位址段的範圍為 0 到 2N−1;且 該第二記憶體部中分配的該位址段的範圍為 2N 到 2N+1−1。
- 如請求項 1 所述的操作方法,其中該控制信號是通過至少一個通用輸入/輸出 (GPIO) 接收的。
- 一種資料儲存裝置,包括: 一第一記憶體部,用於儲存一第一韌體; 一第二記憶體部,用於儲存一第二韌體;以及 一控制器, 其中,當該控制器接收用於指示該第一韌體和該第二韌體中的任何一個作為主韌體運行的一控制信號時,該控制器根據該控制信號執行該第一韌體作為主韌體, 當該第一韌體作為主韌體執行後成功開機時,該控制器參考該第一韌體更新該二韌體, 當該第一韌體作為主韌體執行失敗時,該控制器執行該第二韌體作為主韌體;以及 當該第二韌體作為主韌體執行成功時,該控制器參考該第二韌體更新該第一韌體。
- 如請求項7 所述之資料儲存裝置,其中該第一記憶體部與該第二記憶體部包括一 NAND 快閃記憶體中包含的不同晶片。
- 如請求項 8 所述之資料儲存裝置,其中該第一記憶體部中分配之該位址段不與該第二記憶體部中分配之該位址段重疊。
- 如請求項 9 所述之資料儲存裝置,其中該第一記憶體部所分配之該位址區段範圍為 0 至 2N−1;且 該第二記憶體部所分配之該位址區段範圍為 2N 至 2N+1−1。
- 如請求項 7 所述之資料儲存裝置,其中該控制訊號是透過至少一個通用輸入/輸出 (GPIO) 接收。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2024-0072143 | 2024-06-03 | ||
| KR10-2025-0041976 | 2025-04-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW202611689A true TW202611689A (zh) | 2026-03-16 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250130713A1 (en) | Memory system and control method thereof | |
| JP5173818B2 (ja) | 組込みコントローラを介するフラッシュストレージの初期化 | |
| US10860425B2 (en) | Method for recovering basic input/output system image file of a computer system and the computer system | |
| US8352672B2 (en) | Memory system with nonvolatile memory | |
| US20110119431A1 (en) | Memory system with read-disturb suppressed and control method for the same | |
| CN110083380A (zh) | 固件更新方法及使用此方法的电子装置 | |
| CN114341769B (zh) | 基于功率管理集成电路的系统管理总线隔离 | |
| JP2010198252A (ja) | 不揮発メモリ装置、不揮発メモリの書込み方法、及び不揮発メモリ書込みプログラム | |
| TWI815457B (zh) | 信息處理設備的製備方法和移動電腦 | |
| JP2003216483A (ja) | メモリコントローラおよびメモリシステム装置 | |
| US20130091322A1 (en) | Electronic System and Memory Managing Method Thereof | |
| WO2009107212A1 (ja) | ストレージ装置、ストレージ制御装置およびストレージ制御方法 | |
| TW202433483A (zh) | 快閃記憶體及其耗損均衡方法 | |
| CN116909487B (zh) | 数据读写方法、芯片、嵌入式微控制器和智能终端设备 | |
| KR20020036717A (ko) | 마이크로컴퓨터 및 그 제어 방법 | |
| CN106293747A (zh) | 电子设备以及电子设备的驱动方法 | |
| CN113841116B (zh) | 运算处理装置、车辆控制装置以及更新方法 | |
| JP2006243780A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| TW202611689A (zh) | 資料儲存裝置及其操作方法 | |
| JP7016399B1 (ja) | 情報処理装置、及び制御方法 | |
| JP2006195565A (ja) | 半導体記憶装置の制御方法、メモリカード、及びホスト機器 | |
| KR20250173406A (ko) | 데이터 저장 장치 및 그의 동작 방법 | |
| JPH11306007A (ja) | Bios書き換え方法及び方式 | |
| JP2009176147A (ja) | 電子機器および電子機器のメモリアクセス許可判別方法 | |
| CN112394883B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 |