TWI783012B - 記憶體系統、其操作方法以及包括其的資料處理系統 - Google Patents
記憶體系統、其操作方法以及包括其的資料處理系統 Download PDFInfo
- Publication number
- TWI783012B TWI783012B TW107125247A TW107125247A TWI783012B TW I783012 B TWI783012 B TW I783012B TW 107125247 A TW107125247 A TW 107125247A TW 107125247 A TW107125247 A TW 107125247A TW I783012 B TWI783012 B TW I783012B
- Authority
- TW
- Taiwan
- Prior art keywords
- reset
- host
- controller
- memory device
- volatile memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
一種資料處理系統,其可以包括主機和記憶體系統,該記憶體系統可以
包括揮發性復原選擇暫存器和非揮發性記憶體裝置,其中記憶體系統在被重置之後檢查復原選擇暫存器的值並確定是否對非揮發性記憶體裝置執行復原操作,並且當從主機請求重置時,記憶體系統設置復原選擇暫存器的值並重置非揮發性記憶體裝置,並且主機可以藉由在通電操作期間開始的第一啟動操作從記憶體系統讀取設置的第一資料,可以向記憶體系統請求重置,並且可以藉由在記憶體系統的重置之後開始的第二啟動操作從記憶體系統讀取設置的第二資料。
Description
本申請要求於2017年12月19日提交的申請號為10-2017-0174907的韓國專利申請的優先權,其藉由引用整體併入本文。
本發明是有關於一種包括主機和記憶體系統的資料處理系統。尤指一種支持相關聯的非揮發性記憶體裝置的復原操作的記憶體系統以及包括該記憶體系統的資料處理系統。
計算機環境範例已經轉變至可隨時隨地使用的普及計算系統。因此,諸如行動電話、數位相機和筆記本電腦的可攜式電子裝置的使用已經快速增長。這些可攜式電子裝置通常使用具有用於儲存資料的一個或多個記憶體裝置的記憶體系統。記憶體系統可以用作可攜式電子裝置的主記憶體裝置或輔助記憶體裝置。
因為與硬碟(hard disk)裝置相比,記憶體系統不具有可動部件,所以它們提供優良的穩定性、耐久性、高訊息存取速度和低功耗。具有這種優點的記憶體系統的例子包括通用序列匯流排(USB)記憶體裝置、具有各種介面的記憶卡和固態硬碟(SSD)。
本發明實施例涉及一種能夠優化對包括在其中的非揮發性記憶體裝置執行復原操作的時間點的記憶體系統、記憶體系統的操作方法以及包括記憶體系統的資料處理系統。
在實施例中,一種資料處理系統可以包括主機和記憶體系統,記憶體系統可以包括復原選擇暫存器和非揮發性記憶體裝置,復原選擇暫存器為揮發性復原選擇暫存器,其中記憶體系統在被重置之後檢查復原選擇暫存器的值並確定是否對非揮發性記憶體裝置執行復原操作,並且當從主機請求重置時,記憶體系統設置復原選擇暫存器的值並重置非揮發性記憶體裝置,並且主機可以藉由在通電操作期間開始的第一啟動操作從記憶體系統讀取設置的第一資料,可以向記憶體系統請求重置,並且可以藉由在記憶體系統的重置之後開始的第二啟動操作從記憶體系統讀取設置的第二資料。
記憶體系統可以進一步包括在主機的控制下控制非揮發性記憶體裝置的操作的控制器,控制器可以包括處理控制器和主機之間的操作的主機控制器以及與主機控制器連接並處理控制器和非揮發性記憶體裝置之間的操作的記憶體控制器,並且復原選擇暫存器可以被包括在主機控制器中。
當從主機請求重置時,主機控制器可以檢查是否藉由記憶體控制器對非揮發性記憶體裝置執行復原操作。作為檢查的結果,當待對非揮發性記憶體裝置執行復原操作時,主機控制器可以將復原選擇暫存器的值設置為特定值,並且當不對非揮發性記憶體裝置執行復原操作時,主機控制器可以將復原選擇暫存器的值設置為初始值,並且在復原選擇暫存器的值可以被設置之後,主機控制器可以重置記憶體控制器和非揮發性記憶體裝置兩者。
在記憶體控制器和非揮發性記憶體裝置被重置之後,即使沒有來自主機的獨立觸發,主機控制器也可以檢查復原選擇暫存器的值,並且,作為檢查的結果,當復原選擇暫存器的值是特定值時,主機控制器可以藉由記憶體控制器對非揮發性記憶體裝置執行復原操作。
當從主機請求重置時,主機控制器可以檢查是否藉由記憶體控制器對非揮發性記憶體裝置執行復原操作。作為檢查的結果,當待對非揮發性記憶體裝置執行復原操作時,主機控制器可以將復原選擇暫存器的值設置為特定值,並且當不對非揮發性記憶體裝置執行復原操作時,主機控制器可以將復原選擇暫存器的值設置為初始值,並且在復原選擇暫存器的值被設置之後,主機控制器可以藉由記憶體控制器重置非揮發性記憶體裝置。
即使沒有來自主機的獨立觸發,主機控制器也可以回應於將復原選擇暫存器設置為特定值,藉由記憶體控制器對非揮發性記憶體裝置執行復原操作,並且記憶體控制器可以回應於主機控制器的請求執行重置非揮發性記憶體裝置的操作,即使沒有來自主機控制器的獨立請求,主機控制器也可以繼續對非揮發性記憶體裝置執行復原操作。
非揮發性記憶體裝置可以包括啟動程式區域和一般區域,並且主機可以藉由第一啟動操作從啟動程式區域讀取設置的第一資料,並且可以藉由第二啟動操作從一般區域讀取設置的第二資料。
在一實施例中,一種記憶體系統可以包括:控制器,其可以包括復原選擇暫存器;以及非揮發性記憶體裝置,復原選擇暫存器為揮發性復原選擇暫存器。控制器可以在被重置之後檢查復原選擇暫存器的值並可以確定是否對非揮發性記憶體裝置執行復原操作,並且當從主機請求重置時,控制器可以設置復原選擇暫存器的值並重置非揮發性記憶體裝置。
控制器可以進一步包括:主機控制器,其處理控制器和主機之間的操作;以及記憶體控制器,其與主機控制器連接並處理控制器和非揮發性記憶體裝置之間的操作,並且復原選擇暫存器可以被包括在主機控制器中。
當從主機請求重置時,主機控制器檢查是否可以藉由記憶體控制器對非揮發性記憶體裝置執行復原操作。作為檢查的結果,當待對非揮發性記憶體裝置執行復原操作時,主機控制器可以將復原選擇暫存器的值設置為特定值,並且當不對非揮發性記憶體裝置執行復原操作時,主機控制器可以將復原選擇暫存器的值設置為初始值,並且在復原選擇暫存器的值被設置之後,主機控制器可以重置記憶體控制器和非揮發性記憶體裝置兩者。
在記憶體控制器和非揮發性記憶體裝置被重置之後,即使沒有來自主機的獨立觸發,主機控制器也可以檢查復原選擇暫存器的值,並且,作為檢查的結果,當復原選擇暫存器的值是特定值時,主機控制器可以藉由記憶體控制器對非揮發性記憶體裝置執行復原操作。
當從主機請求重置時,主機控制器可以是否藉由記憶體控制器檢查對非揮發性記憶體裝置執行復原操作。作為檢查的結果,當待對非揮發性記憶體裝置執行復原操作時,主機控制器可以將復原選擇暫存器的值設置為特定值,並且當不對非揮發性記憶體裝置執行復原操作時,主機控制器可以將復原選擇暫存器的值設置為初始值,並且在復原選擇暫存器的值被設置之後,主機控制器可以藉由記憶體控制器重置非揮發性記憶體裝置。
即使沒有來自主機的獨立觸發,主機控制器也可以回應於將復原選擇暫存器設置為特定值,藉由記憶體控制器開始對非揮發性記憶體裝置執行復原操作,並且記憶體控制器可以回應於主機控制器的請求執行重置
非揮發性記憶體裝置的操作,並且即使沒有來自主機控制器的獨立請求,主機控制器也可以繼續對非揮發性記憶體裝置執行復原操作。
在實施例中,一種記憶體系統的操作方法,該記憶體系統包括復原選擇暫存器和非揮發性記憶體裝置,所述復原選擇暫存器為揮發性復原選擇暫存器,方法可以包括:執行復原操作:在記憶體系統被重置之後,檢查復原選擇暫存器的值並確定是否對非揮發性記憶體裝置執行復原操作;以及執行重置操作:當從主機請求重置時,設置復原選擇暫存器的值並重置非揮發性記憶體裝置。
記憶體系統可以進一步包括:主機控制器,其處理記憶體系統和主機之間的操作;以及記憶體控制器,其與主機控制器連接並處理記憶體系統和非揮發性記憶體裝置之間的操作,並且復原選擇暫存器可以被包括在主機控制器中。
執行重置操作可以包括:當從主機請求重置時,在第一檢查操作中,檢查是否藉由記憶體控制器對非揮發性記憶體裝置執行復原操作;在第一設置操作中,當作為第一檢查操作的結果待對非揮發性記憶體裝置執行復原操作時,藉由主機控制器將復原選擇暫存器的值設置為特定值;在第二設置操作中,當作為第一檢查操作的結果不對非揮發性記憶體裝置執行復原操作時,藉由主機控制器將復原選擇暫存器的值設置為初始值;以及在第一設置操作或第二設置操作之後重置記憶體控制器和非揮發性記憶體裝置。
執行復原操作可以包括:在重置之後,在第二檢查操作中,即使沒有來自主機的獨立觸發,由主機控制器檢查復原選擇暫存器的值;以及作為第二檢查操作的結果,當復原選擇暫存器的值是特定值時,藉由記憶體控制器對非揮發性記憶體裝置執行復原操作。
執行重置操作可以包括:當從主機請求重置時,在第三檢查操作中,檢查是否藉由記憶體控制器對非揮發性記憶體裝置執行復原操作;在第三設置操作中,當作為第三檢查操作的結果待對非揮發性記憶體裝置執行復原操作時,藉由主機控制器將復原選擇暫存器的值設置為特定值;在第四設置操作中,當作為第三檢查操作的結果不對非揮發性記憶體裝置執行復原操作時,藉由主機控制器將復原選擇暫存器的值設置為初始值;以及在第三設置操作或第四設置操作之後藉由記憶體控制器重置非揮發性記憶體裝置。
復原操作可以包括:即使沒有來自主機的獨立觸發,回應於藉由第三設置操作將復原選擇暫存器的值設置為特定值,藉由記憶體控制器開始對非揮發性記憶體裝置執行復原操作;以及在執行重置之後,繼續對非揮發性記憶體裝置執行上述已經開始的的復原操作。
在實施例中,一種與主機可操作地接合的記憶體系統可以包括:非揮發性記憶體裝置;以及控制器,其電連接到非揮發性記憶體裝置,控制器可以在主機在突然斷電(SPO)之後連續執行用於啟動操作的至少兩次子啟動操作之後時,在沒有來自主機的獨立命令或訊號的情況下,確定是否對非揮發性記憶體裝置執行復原操作。
100:資料處理系統
102:主機
110:記憶體系統
130:控制器
132:主機介面
134:處理器
138:錯誤校正碼部件
140:電源管理單元
142:記憶體介面
144:記憶體
150:記憶體裝置
152、154、156:記憶塊
310:電壓供給單元
320:讀取/寫入電路
322、324、326:頁面緩衝器
330:記憶塊
340:單元串
510:主機控制器
520:記憶體控制器
6100:記憶卡系統
6110:連接器
6120:記憶體控制器
6130:記憶體裝置
6200:資料處理系統
6210:主機
6220:記憶體控制器
6221:CPU
6222:RAM
6223:ECC電路
6224:主機介面
6225:NVM介面
6230:記憶體裝置
6300:SSD
6310:主機
6320:控制器
6321:處理器
6322:ECC電路
6324:主機介面
6325:緩衝記憶體
6326:非揮發性記憶體介面
6340:記憶體裝置
6400:eMMC
6410:主機
6430:控制器
6431:主機介面
6432:內核
6433:NAND介面
6440:記憶體裝置
6500:UFS系統
6510:主機
6520:UFS裝置
6530:UFS卡
6600:UFS系統
6610:主機
6640:交換模組
6620:UFS裝置
6630:UFS卡
6700:UFS系統
6710:主機
6720:UFS裝置
6730:UFS卡
6740:交換模組
6800:UFS系統
6810:主機
6820:UFS裝置
6830:UFS卡
6900:用戶系統
6910:用戶介面
6920:記憶體模組
6930:應用處理器
6940:網路模組
6950:儲存模組
1021、1022、1023、511、512、513、514、514a、514b、515、516、517、520、522、600、610、620、630、641、642、S10、S20、S30、S40、S50、S60:步驟
BL0~BLm-1:位元線
BLK0~BLKN-1:記憶塊
根據參照附圖的以下詳細說明,本發明的這些和其它特徵及優點對於本發明所屬領域的技術人員將變得顯而易見,其中:圖1為根據本發明的實施例的記憶體系統的資料處理系統的方塊圖;圖2為圖1的記憶體系統中採用的記憶體裝置的示例性配置的示意圖;
圖3為圖2的記憶體裝置中的記憶塊的記憶體單元陣列的示例性配置的電路圖;圖4為圖2的記憶體裝置的示例性三維結構的示意圖;圖5為包括根據本發明實施例的記憶體系統的資料處理系統的示意圖;圖6為根據圖5所示實施例的包括記憶體系統的資料處理系統的操作的示意圖;圖7為圖6所示的資料處理系統的操作的流程圖的示意圖;圖8為根據圖5所示的實施例的包括記憶體系統的資料處理系統的效果的示意圖;圖9為圖1的資料處理系統的實施例一的示意圖;圖10為圖1的資料處理系統的實施例二的示意圖;圖11為圖1的資料處理系統的實施例三的示意圖;圖12為圖1的資料處理系統的實施例四的示意圖;圖13為圖1的資料處理系統的實施例五的示意圖;圖14為圖1的資料處理系統的實施例六的示意圖;圖15為圖1的資料處理系統的實施例七的示意圖;圖16為圖1的資料處理系統的實施例八的示意圖;以及圖17為圖1的資料處理系統的實施例九的示意圖。
以下將配合附圖更詳細地描述本發明的各個實施例。然而,應注意的是,本發明可以在包括公開的實施例的變化的不同形式中實施,因此本發明不應被解釋為限於文中所闡述的實施例。相反地,提供這些實施例使得本發明是徹底且完全的,並且向本發明所屬領域的技術人員完全傳達
本發明。在本發明實施例中,相同的元件符號在整個本發明的各個附圖和實施例中表示相同的部件。並且,在本發明實施例中,參照「一實施例」不一定僅是針對一個實施例,並且對「一實施例」等的不同參照不一定是針對相同的實施例。
將理解的是,雖然用語「第一」、「第二」、「第三」等可在本文使用以識別各種元件,但是這些元件不受這些用語限制。這些用語被用於將一個元件與另外具有相同或相似的名稱的另一元件區分開。因此,在不脫離本發明的精神和範圍的情況下,以下描述的第一元件也可被稱為第二元件或第三元件。
附圖不一定按比例繪製,在一些情況下,為了清楚地表示出實施例的特徵,可能已經誇大了比例。
將進一步理解的是,當一個元件被稱為「連接至」或「耦接至」另一元件時,它可以直接在其它元件上、連接至或耦接至其它元件,或可存在一個或多個中間元件。另外,也將理解的是,當元件被稱為在兩個元件「之間」時,兩個元件之間可以僅有一個元件或也可存在一個或多個中間元件。
本文使用的用語的目的是描述特定實施例而不旨在限制本發明。如本文使用的,單數形式也旨在包括複數形式並且反之亦然,除非上下文另有清楚地說明。將進一步理解的是,當在該說明書中使用用語「包括」、「包括有」、「包含」和「包含有」時,它們指定闡述的元件的存在而不排除一個或多個其它元件的存在或增加。如本文使用的,用語「和/或」包括一個或多個相關的所列項目的任何一個和所有組合。
除非另有限定,否則本文所使用的包括技術用語和科學用語的所有用語具有與本發明所屬領域之通常知識者通常理解的含義相同的含義。
將進一步理解的是,諸如在常用詞典中限定的那些術語的用語應被理解為具有與它們在本發明說明書的上下文和相關領域中的含義一致的含義並且將不以理想化或過於正式的意義來解釋,除非本文如此明確地限定。
在以下敘述中,為了使本發明可被徹底理解,將闡述許多具體細節。本發明可在沒有一些或全部這些具體細節的情況下被實施。在其它情況下,為了避免不必要地模糊本發明,未詳細地描述習知的程序結構和/或程序。
也應注意的是,在一些情況下,對本領域之通常知識者顯而易見的是,結合一個實施例描述的特徵或元件可單獨使用或與另一實施例的其它特徵或元件結合使用,除非另有明確說明。
現在將參照附圖詳細地描述本發明的各個實施例。
圖1為根據本發明的實施例的記憶體系統110的資料處理系統100的方塊圖。
參照圖1,資料處理系統100可以包括主機102和記憶體系統110。在一實施例中,主機102可包括諸如行動電話、MP3播放器和筆記型電腦等的可攜式電子裝置,或諸如桌上型電腦、遊戲機、電視和投影機的非可攜式電子裝置。
主機102可以包括至少一個作業系統(Operating System,之後簡稱為OS)。OS可以管理和控制主機102的全部功能和操作。OS可以使用資料處理系統100或記憶體系統110在主機102和用戶之間提供操作。OS可以支持對應於用戶的使用目的和使用的功能和操作。例如,根據主機102的行動性,OS可以被劃分為通用OS和行動OS。根據用戶的環境,通用OS可以被劃分為個人OS和企業OS。例如,支持向一般用戶提供服務的功能的個人OS可以包括Windows和Chrome。保護和支持高性能的企業OS可以包括Windows服
務器、Linux和Unix。此外,支持向用戶提供行動服務的功能和支持系統的省電功能的行動OS可以包括安卓、iOS和Windows Mobile。主機102更可以包括多個OS。主機102可以執行OS以對記憶體系統110執行對應於用戶的請求的操作。
記憶體系統110可以回應於主機102的請求來操作以儲存用於主機102的資料。在根據本發明的一個實施例中,記憶體系統110可以包括固態硬碟(SSD)、多媒體記憶卡(MMC)、安全數位(SD)卡、通用序列匯流排(USB)裝置、通用快閃記憶體儲存(UFS)裝置、緊湊型快閃記憶體(CF)卡、智慧媒體(SM)卡、個人電腦記憶卡國際協會(PCMCIA)卡和記憶棒。MMC可以包括嵌入式MMC(eMMC)、尺寸減小的MMC(RS-MMC)和微型-MMC。SD卡可以包括迷你-SD卡和/或微型-SD卡記憶體,系統110可以由各種類型的儲存裝置來實施。在根據本發明的一個實施例中,包括在記憶體系統110的儲存裝置可以包括諸如動態隨機存取記憶體(DRAM)和靜態RAM(SRAM)的揮發性記憶體裝置或諸如唯讀記憶體(ROM)、光罩式唯讀記憶體ROM(MROM)、可程式化ROM(PROM)、可抹除可程式化ROM(EPROM)、電子抹除式可複寫ROM(EEPROM)、鐵電RAM(FRAM)、相變RAM(PRAM)、磁阻RAM(MRAM)、電阻式RAM(RRAM)和快閃記憶體的非揮發性記憶體裝置。快閃記憶體可以具有3維(3D)堆疊結構。
記憶體系統110可以包括記憶體裝置150和控制器130。記憶體裝置150可以儲存用於主機120的資料。控制器130可以控制並將資料儲存於記憶體裝置150中。
控制器130和記憶體裝置150可以被整合到單個半導體裝置中,其可以被包括在如上所述的各種類型的記憶體系統中的任何一個中。例如,控制器130和記憶體裝置150可以被整合為一個半導體裝置以構成SSD。當
記憶體系統110用作SSD時,連接到記憶體系統110的主機102的操作速度可以被提高。另外,控制器130和記憶體裝置150可以被整合為一個半導體裝置以構成諸如以下的記憶卡:PCMCIA(個人電腦記憶卡國際協會)卡、CF卡、SMC(智慧媒體卡)、記憶棒、包括RS-MMC和微型MMC的MMC、包括迷你SD、微型SD和SDHC的SD卡或UFS裝置。
在根據本發明的一個實施例中,記憶體系統110可以包括計算機、超級行動PC(UMPC)、工作站、小筆電、個人數位助理(PDA)、可攜式計算機、網路平板、平板計算機、無線電話、行動電話、智慧型電話、電子書、可攜式多媒體播放器(PMP)、可攜式遊戲機、導航系統、飛行記錄器、數位相機、多媒體數位廣播(DMB)播放器、3維(3D)電視、智慧電視、錄音筆、數位音訊播放器、數位影像記錄器、數位影像播放器、數位視訊錄影機、數位視訊播放器、建立資料中心的儲存裝置、能夠在無線環境下傳輸/接收訊息的裝置、建立家庭網路的各種電子裝置中的一個、建立計算機網路的各種電子裝置中的一個、建立遠端訊息處理的各種電子裝置中的一個、無線射頻辨識(RFID)裝置或建立計算系統的各種部件中的一個。
記憶體裝置150可以是非揮發性記憶體裝置,即使未被供應電力其也能保留其中儲存的資料。記憶體裝置150可以藉由寫入操作來儲存從主機102提供的資料。記憶體裝置150可以藉由讀取操作將儲存在其中的資料輸出到主機102。記憶體裝置150可以包括多個記憶體晶片(memory dies)(未示出)。每個記憶體晶片可以包括多個平面(plane)(未示出)。每個平面可以包括多個記憶塊152至156,記憶塊152至156的每一個可以包括多個頁面。頁面的每一個可以包括連接到字元線的多個記憶體單元。在實施例中,記憶體裝置150可以實現為快閃記憶體。快閃記憶體可以具有三維(3D)堆疊結構。
控制器130可以回應於來自主機102的請求來控制記憶體裝置150。例如,控制器130可以將從記憶體裝置150讀取的資料提供給主機102,並且將從主機102提供的資料儲存到記憶體裝置150中。對於該操作,控制器130可以控制記憶體裝置150的讀取操作、寫入操作、程式化操作和抹除操作。
控制器130可以包括經由內部匯流排彼此可操作地連接的主機介面(I/F)132、處理器134、錯誤校正碼(ECC)部件138、電源管理單元(PMU)140、諸如NAND快閃記憶體控制器(NFC)的記憶體介面(I/F)142和記憶體144。
主機介面132可以處理主機102的命令和資料,並且可以根據諸如以下的各種介面協議中的一種或多種與主機102通訊:通用序列匯流排(USB)、多媒體記憶卡(MMC)、快捷外設互聯標準(PCI-E)、小型電腦系統介面(SCSI)、串列SCSI(SAS)、串列高技術配置(SATA)、並列高技術配置(PATA)、增強型小型裝置介面(ESDI)和整合裝置電路(IDE)。
ECC部件138可以檢測並且校正從記憶體裝置150讀取的資料中包含的錯誤。換言之,ECC部件138可以藉由在ECC編碼程序期間使用的ECC代碼對從記憶體裝置150讀取的資料執行錯誤校正解碼程序。根據錯誤校正解碼程序的結果,ECC部件138可以輸出訊號,例如錯誤校正成功訊號或失敗訊號。當錯誤位元的數量大於可校正錯誤位元的門檻值時,ECC部件138不能校正錯誤位元,並且相反可以輸出錯誤校正失敗訊號。
ECC部件138可以藉由諸如低密度奇偶檢查(LDPC)碼、BCH(Bose-Chaudhuri-Hocquenghem)碼、渦輪碼(Turbo code)、里德-所羅門(Reed-Solomon,RS)碼、卷積碼(convolution code)、遞迴系統迴旋碼(Recursive Systematic Convolutional code,RSC)、交織碼調變(Trellis-Coded Modulation,TCM)、區塊編碼調變(Block Coded Modulation,BCM)等的編碼調變執行錯
誤校正操作。然而,ECC部件138不限於這些錯誤校正技術。這樣,ECC部件138可以包括用於錯誤校正的所有電路、模組、系統或裝置。
PMU 140可管理在控制器130中使用並且設置在控制器130中的電源。
記憶體介面142可以用作用於將控制器130和記憶體裝置150介面連接的記憶體/儲存介面,使得控制器130回應於來自主機102的請求來控制記憶體裝置150。當記憶體裝置150是快閃記憶體或具體地NAND快閃記憶體時,記憶體介面142可以在處理器134的控制下產生用於記憶體裝置150的控制訊號並且處理輸入到記憶體裝置150的資料。記憶體介面142可以用作用於處理控制器130和記憶體裝置150之間的命令和資料的介面(例如,NAND快閃記憶體介面)。具體地,記憶體介面142可以支持控制器130和記憶體裝置150之間的資料傳送。
記憶體144可以用作記憶體系統110和控制器130的工作記憶體。記憶體144可以儲存用於記憶體系統110和控制器130的操作的資料。控制器130可以回應於來自主機102的請求來控制記憶體裝置150執行讀取操作、寫入操作、程式化操作和抹除操作。控制器130可以將從記憶體裝置150讀取的資料輸出到主機102,並且可以將從主機102提供的資料儲存到記憶體裝置150中。記憶體144可以儲存控制器130和記憶體裝置150執行這些操作所需的資料。
記憶體144可以由揮發性記憶體來實施。在一實施例中,記憶體144可以由靜態隨機存取記憶體(SRAM)或動態隨機存取記憶體(DRAM)來實施。記憶體144可以被設置在控制器130的內部或外部。如圖1所示,記憶體144設置在控制器130內。在另一實施例中,記憶體144可以由具有在記憶體144和控制器130之間傳送資料的記憶體介面的外部揮發性記憶體實施。
處理器134可以控制記憶體系統110的總體操作。處理器134可以使用韌體以控制記憶體系統110的總體操作。韌體可以被稱為快閃記憶體轉換層(FTL)。
控制器130的處理器134可以包括用於執行記憶體裝置150的壞塊管理(Bad Block Management,BBM)操作的管理單元(未示出)。管理單元可以在包括在記憶體裝置150中的多個記憶塊152至156中對壞塊進行檢查的壞塊管理操作。壞塊可以是由於NAND快閃記憶體的特徵在程式化操作期間發生程式化失敗的塊。管理單元可以將壞塊的程式化失敗資料寫入新記憶塊。在具有3D堆疊結構的記憶體裝置150中,壞塊管理操作可能降低記憶體裝置150的使用效率和記憶體系統110的可靠性。因此,壞塊管理操作需要被更可靠地執行。
圖2為記憶體裝置150的示意圖。
請參照圖2,記憶體裝置150可以包括多個記憶塊0至N-1,並且記憶塊0到N-1中的每一個可以包括多個頁面,例如2M個頁面,頁面的數量可以根據電路設計而變化。包含在各個記憶塊0至N-1中的記憶體單元可以是儲存1位元資料的單層單元(SLC)和/或儲存2位元或更多位元資料的多層單元(MLC)。因此,根據在記憶塊中的記憶體單元中的每一個中可以表示或儲存的位元的數量,記憶體裝置150可以包括SLC記憶塊或MLC記憶塊。SLC記憶塊可以包括由記憶體單元實現的多個頁面,其中每個記憶體單元儲存一位元資料,並且SLC記憶塊通常可以具有高資料計算性能和高耐久性。MLC記憶塊可以包括由記憶體單元體現的多個頁面,其中每個記憶體單元存儲多位元資料(例如,2位元或更多位元)。MLC記憶塊通常可以具有比SLC記憶塊更大的資料存儲空間,即更高的集成密度。在實施例中,記憶體裝置150可以包括多個三層單元(TLC)記憶塊。在又一實施例中,記憶體裝置
150可以包括多個四層單元(QLC)記憶塊。TLC記憶塊可以包括由記憶體單元實現的多個頁面,其中每個記憶體單元能夠儲存3位元資料。QLC記憶塊可以包括由記憶體單元實現的多個頁面,其中每個記憶體單元能夠儲存4位元資料。
圖3為記憶體裝置150中的記憶塊的記憶體單元陣列的示例性配置的電路圖。
請參照圖3,記憶塊330可對應於記憶體系統110的記憶體裝置150中的多個記憶塊152至156中的任意一個。記憶塊330可以包括連接到多個相應位元線BL0至BLm-1的多個單元串340。每個列的單元串340可以包括一個或多個汲極選擇電晶體DST和一個或多個源極選擇電晶體SST。在選擇電晶體DST、SST之間,多個記憶體單元MC0至MCn-1可以串聯連接。在實施例中,記憶體單元電晶體MC0至MCn-1中的每一個可以由能夠儲存多個位元的資料訊息的MLC來實施。單元串340中的每一個可以電連接到多個位元線BL0至BLm-1中的相應位元線。例如,如圖3所示,第一單元串連接到第一位元線BL0,並且最後單元串連接到最後位元線BLm-1。
雖然圖3示出NAND快閃記憶體單元,但是本發明不限於此方式。注意的是,記憶體單元可以是NOR快閃記憶體單元,或者包括組合在其中的兩種或更多種記憶體單元的混合快閃記憶體單元。並且,應注意的是,記憶體裝置可以是包括導電浮閘作為電荷儲存層的快閃記憶體裝置或包括介電層作為電荷儲存層的電荷儲存式快閃記憶體(CTF)。
記憶體裝置150可以進一步包括電壓供給單元310,其提供包括根據操作模式供給到字元線的程式化電壓、讀取電壓和通過電壓的字元線電壓。電壓供給單元310的電壓產生操作可以由控制電路(未示出)來控制。在控制電路的控制下,電壓供給單元310可以選擇記憶體單元陣列的記憶塊
(或磁區)中的一個,選擇所選擇的記憶塊的字元線中的一個,並且將字元線電壓提供給所選擇的字元線和未選擇的字元線。
記憶體裝置150可以包括由控制電路控制的讀取/寫入電路320。在驗證/正常讀取操作期間,讀取/寫入電路320可以用作用於從記憶體單元陣列讀取資料的讀出放大器。在程式化操作期間,讀取/寫入電路320可以根據待儲存在記憶體單元陣列中的資料用作用於驅動位元線的寫入驅動器。在程式化操作期間,讀取/寫入電路320可以從緩衝器(未示出)接收待儲存到記憶體單元陣列中的資料,並且根據接收的資料來將電流或電壓供給到位元線。讀取/寫入電路320可以包括分別對應於列(或位元線)或列對(或位元線對)的多個頁面緩衝器322至326。頁面緩衝器322至326中的每一個可以包括多個鎖存器(未示出)。
記憶體裝置150可以藉由2D或3D記憶體裝置來實施。
圖4為記憶體裝置150的示例性3D結構的示意圖。
具體地,如圖4所示,記憶體裝置150可以由具有3D堆疊結構的非揮發性記憶體裝置來實施。當記憶體裝置150具有3D結構時,記憶體裝置150可以包括各自具有3D結構(或垂直結構)的多個記憶塊BLK0至BLKN-1。
圖5為包括根據本發明實施例的記憶體系統的資料處理系統的示意圖。
請參照圖5,所示的包括主機102和記憶體系統110的資料處理系統100的配置可以與圖1所示的資料處理系統100的配置相同或類似。
如圖1所述的,記憶體系統110包括控制器130和記憶體裝置150。此外,控制器130包括主機控制器510和記憶體控制器520。主機控制器510包括復原選擇暫存器RS_REG。
圖5為僅單個非揮發性記憶體裝置150被包括在記憶體系統110中的配置的實施例。然而,這是為了清楚說明;更多的非揮發性記憶體裝置可以被包括於其中。
此外,圖6中未示出如包括在控制器130中的圖1所示的主機介面132、處理器134、ECC部件138、電源管理單元140、記憶體介面142和記憶體144。然而,這樣的省略是為了更清楚地說明本發明的其它特徵。省略的元件可以被包括在控制器130中。
詳細地,主機102藉由在通電操作期間開始的第一啟動操作1ST_BOOTING從記憶體系統110讀取設置的第一資料(未示出)(步驟1021)。這樣,在藉由第一啟動操作1ST_BOOTING從記憶體系統110讀取設置的第一資料之後,向記憶體系統110請求重置(步驟1022)。此後,藉由在記憶體系統110重置之後開始的第二啟動操作2ND_BOOTING從記憶體系統110讀取設置的第二資料(未示出)(步驟1023)。
被包括在記憶體系統110中的非揮發性記憶體裝置150包括啟動程式(boot loader)區域和一般(normal)區域。此處,用語「啟動程式」可以被認為是運行在主機102中使用的OS所需的程序。換言之,啟動程式可以包括適當載入於主機102中使用的OS所需的程序。
此處,啟動程式資料(boot loader program data)可以被存儲在非揮發性記憶體裝置150的啟動程式區域中。此處,由主機102使用的OS的基本資料可以被存儲在非揮發性記憶體裝置150的、對應於啟動程式區域的一般區域中。
因此,主機102藉由在通電操作期間開始的第一啟動操作1ST_BOOTING從非揮發性記憶體裝置150的啟動程式區域讀取設置的第一資料,即,啟動程式資料(步驟1021)。此外,在執行第一啟動操作
1ST_BOOTING之後,主機102重置記憶體系統110。主機102經由在記憶體系統110被重置之後開始的第二啟動操作2ND_BOOTING從非揮發性記憶體裝置150的一般區域讀取第二資料,即OS的基本資料。
雖然在圖5中未直接示出,但是在第二啟動操作2ND_BOOTING之後,主機102重置記憶體系統110。主機102藉由在記憶體系統110被重置之後開始的內核啟動操作,從非揮發性記憶體裝置150的一般區域讀取內核資料,即,用於對由主機102使用的OS的內核操作的資料。
主機102的上述啟動操作,即,包括第一啟動操作1ST_BOOTING(步驟1021)、第一重置操作(步驟1022)、第二啟動操作2ND_BOOTING(步驟1023)、第二重置操作(未示出)和內核啟動操作(未示出)的上述啟動操作是由大多數通用主機102執行的一種操作。
注意的是,非揮發性記憶體裝置150的一般區域中不僅可以存儲主機102中使用的OS的基本資料和內核資料,而且還可以存儲一般用戶資料。
記憶體系統110包括揮發性復原選擇暫存器RS_REG和非揮發性記憶體裝置150。記憶體系統110在被重置之後檢查復原選擇暫存器RS_REG的值(步驟515或步驟516)。根據(在步驟515或步驟516中)檢查的復原選擇暫存器RS_REG的值,確定是否待對非揮發性記憶體裝置150執行復原操作(步驟517)。在從主機102請求重置的情況下,設置復原選擇暫存器RS_REG的值(步驟511、步驟512或步驟513)。在設置復原選擇暫存器RS_REG的值之後(步驟511、步驟512或步驟513),重置非揮發性記憶體裝置150(步驟514)。
更詳細地,記憶體系統110進一步包括控制器130,以在主機102的控制下控制非揮發性記憶體裝置150的操作。控制器130包括諸如處理與主機102的操作的主機介面的主機控制器510以及與主機控制器510連接的記憶體控制器520。記憶體控制器520可以用作處理與非揮發性記憶體裝置150
的操作的記憶體介面。此處,復原選擇暫存器RS_REG被包括在主機控制器510中。
在從主機102請求重置的情況下,主機控制器510和記憶體控制器520確定或檢查是否需要對非揮發性記憶體裝置150的復原操作(步驟511)。
當需要對非揮發性記憶體裝置150的復原操作時,作為檢查操作(步驟511)的結果,主機控制器510將復原選擇暫存器RS_REG的值設置為特定值(步驟512)。
另一方面,當不需要對非揮發性記憶體裝置150的復原操作時,作為檢查操作(步驟511)的結果,主機控制器510將復原選擇暫存器RS_REG的值設置為初始值(步驟513)。
在將復原選擇暫存器RS_REG設置為特定值或初始值(步驟512或513)之後,主機控制器510重置記憶體系統110。
下面將說明回應於主機102的請求由主機控制器510重置記憶體系統110的兩種方法。
在第一種方法中,主機控制器510直接重置記憶體控制器520和非揮發性記憶體裝置150兩者(步驟514a)。
在第二種方法中,主機控制器510藉由記憶體控制器520僅重置非揮發性記憶體裝置150(步驟514b)。
第一種方法和第二種方法之間的區別在於當回應於主機102的請求而重置記憶體系統110時,記憶體控制器520是否與非揮發性記憶體裝置150一起被重置。換言之,在第一種方法中重置記憶體控制器520和非揮發性記憶體裝置150兩者,而在第二種方法中,僅重置非揮發性記憶體裝置150,而不重置記憶體控制器520。
第一種方法和第二種方法之間的區別可歸因於主機102可以實現的配置的多樣性。即,如圖1所示的,記憶體系統110可以被用於不同種類的主機102中。因此,根據主機102的種類,可以根據第一種方法重置記憶體系統110,或者可以根據第二種方法重置記憶體系統110。通常,根據第一種方法重置記憶體系統110的操作被稱為藉由硬體重置方法重置記憶體系統110的操作。根據第二種方法重置記憶體系統110的操作被稱為藉由端點重置方法重置記憶體系統110的操作。
下面將說明對應於以下情況(步驟514a)的記憶體控制器520的操作:主機控制器510根據第一種方法重置記憶體控制器520和非揮發性記憶體裝置150兩者。
首先,在根據第一種方法重置了記憶體控制器520和非揮發性記憶體裝置150兩者(步驟514a)之後,即使沒有來自主機102的獨立觸發,主機控制器510也自行檢查復原選擇暫存器RS_REG的值(步驟515)。
隨後,作為檢查操作(步驟515)的結果,在復原選擇暫存器RS_REG的值是特定值的情況下,主機控制器510藉由記憶體控制器520對非揮發性記憶體裝置150執行復原操作(步驟517)。
相反,作為檢查操作(步驟515)的結果,在復原選擇暫存器RS_REG的值是初始值的情況下,主機控制器510不對非揮發性記憶體裝置150執行復原操作。
下面說明對應於以下情況(步驟514b)的記憶體控制器520的操作:主機控制器510根據第二種方法僅重置非揮發性記憶體裝置150。
首先,在執行操作(步驟514b)之前的已經執行的操作(步驟512或步驟513)之後,即使沒有來自主機102的獨立觸發,主機控制器510也自行檢查復原選擇暫存器RS_REG的值(步驟516)。
隨後,作為檢查操作(步驟516)的結果,在復原選擇暫存器RS_REG的值是特定值的情況下,主機控制器510藉由記憶體控制器520對非揮發性記憶體裝置150執行復原操作(步驟517)。
相反,作為檢查操作(步驟516)的結果,在復原選擇暫存器RS_REG的值是初始值的情況下,主機控制器510不對非揮發性記憶體裝置150執行復原操作。
此處,在操作期間(步驟514b),主機控制器510不重置記憶體控制器520。因此,回應於操作(步驟514b)之前執行的操作512和操作(步驟516和步驟517)兩者而執行的對非揮發性記憶體裝置150的復原操作不被重置。
因此,在操作512、516、517之後且已經執行操作(步驟514b)之後,即使在沒有來自主機控制器510的請求時,記憶體控制器520繼續對非揮發性存儲裝置150執行復原操作,其中復原操作在操作(步驟516)中已經開始。
上述復原選擇暫存器RS_REG包括具有至少一位元的訊息。例如,復原選擇暫存器RS_REG的初始值可以是‘0’,而其特定值可以是‘1’。當然,這僅是一個實施例,並且具有更多位元的訊息可以被包括在復原選擇暫存器RS_REG中。
圖6為根據圖5所示實施例的包括記憶體系統的資料處理系統的操作的示意圖。
圖7為圖6所示的資料處理系統的操作的流程圖的示意圖。
請參照圖6和圖7,圖6和圖7為根據本發明實施例的記憶體系統110於圖5描述的主機102的啟動操作期間的操作方法。
請參照圖7,如圖5所述的,在主機102的啟動操作中,在通電操作(步驟S10)之後執行第一啟動操作1ST_BOOTING(步驟S20),並且此後(在步驟S30處)重置記憶體系統110。在已經(在步驟S30處)重置記憶體系統110之
後,執行第二啟動操作2ND_BOOTING(步驟S40),並且此後(在步驟S50處)重置記憶體系統110。在已經(在步驟S50處)重置記憶體系統110之後,(在步驟S60處)執行內核啟動操作。
詳細地,下面參照圖6和圖7描述在主機102的啟動操作期間的第一啟動操作1ST_BOOTING(步驟S20)。
在通電操作(步驟S10)之後,可以執行檢查在主機102和記憶體系統110之間是否可以傳輸訊號的操作(諸如Linkstartup,NOP OUT,NOP IN)。
隨後,可以執行檢查是否可以從包括在記憶體系統110中的非揮發性記憶體裝置150讀取資料的操作(諸如READ描述符、裝置描述符)。
此後,可以執行從非揮發性記憶體裝置150的啟動程式區域讀取測試資料並檢查是否正常訪問和讀取測試資料的操作(諸如TEST UNIT READY)。
此後,可以執行從非揮發性記憶體裝置150的啟動程式區域讀取啟動程式資料,即,設置的第一資料的操作(諸如SCSI READ)。
如果藉由上述過程完成了第一啟動操作1ST_BOOTING,則可以(如由「HW Reset或EndPointReset」所示,在步驟S30處)重置記憶體系統110。如果完成記憶體系統110的重置HW Reset或EndPointReset(步驟S30),則可以執行第二啟動操作2ND_BOOTING(步驟S40)。
詳細描述第二啟動操作2ND_BOOTING(步驟S40)。在記憶體系統110的重置(諸如HW Reset或EndPointReset,步驟S30)之後,可以執行檢查在主機102和記憶體系統110之間是否可以傳輸訊號的操作(諸如Linkstartup,NOP OUT,NOP IN)。
隨後,可以執行檢查是否可以從包括在記憶體系統110中的非揮發性記憶體裝置150讀取資料的操作(諸如READ描述符、裝置描述符)。
此後,可以執行從非揮發性記憶體裝置150的一般區域讀取測試資料並檢查是否訪問和讀取測試資料的操作(諸如TEST UNIT READY)。
隨後,可以執行從非揮發性記憶體裝置150的一般區域讀取待在主機102中使用的OS的基本資料的操作(諸如QueryRequest{SET FLAG fDeviceInit,READ FLAG fDeviceInit})。
如果藉由上述過程正常完成了第二啟動操作2ND_BOOTING(步驟S40),則可以(如由「HW Reset或EndPointReset」所示,在步驟S50處)重置記憶體系統110。如果完成記憶體系統110的重置HW Reset或EndPointReset(步驟S50),則可以執行內核啟動操作KERNEL BOOTING(步驟S60)。
總之,當執行斷電操作之後的通電操作(步驟S10)時,主機102執行第一啟動操作1ST_BOOTING(步驟S20)。在完成了第一啟動操作1ST_BOOTING(步驟S20)之後,主機102(在步驟S30處)重置記憶體系統110。隨後,主機102執行第二啟動操作2ND_BOOTING(步驟S40)。在完成了第二啟動操作2ND_BOOTING已經完成(步驟S40)之後,主機102(在步驟S50處)再次重置記憶體系統110。此後,主機102(在步驟S60處)執行內核啟動操作。此處,如附圖所示,將理解的是,以類似的方式執行主機102的第一啟動操作1ST_BOOTING(步驟S20)和第二啟動操作2ND_BOOTING(步驟S40),其中不同之處在於待被讀取的資料的類型和待從其中讀取資料的區域。
此處,在發生突然斷電(SPO)之後執行而不是在正常斷電操作之後執行通電操作的情況下,記憶體系統110應當對記憶體系統110中的非揮發性記憶體裝置150執行復原操作。換言之,記憶體系統110應當檢查是否已經發生SPO,並且如果確定已經發生SPO,則對非揮發性記憶體裝置150執行復原操作。
如上所述,將理解的是,主機102獨立地並順序地執行第一啟動操作1ST_BOOTING(步驟S20)和第二啟動操作2ND_BOOTING(步驟S40),並且在第一啟動操作1ST_BOOTING(步驟S20)和第二啟動操作2ND_BOOTING(步驟S40)之間(在步驟S30處)重置記憶體系統110。
此處,在執行主機102的第一啟動操作1ST_BOOTING(步驟S20)的時間的期間,記憶體系統110不應當執行復原操作。這是因為從非揮發性記憶體裝置150的啟動程式區域讀取資料的操作(SCSI READ)被包括在第一啟動操作1ST_BOOTING中(步驟S20)中。即,對非揮發性記憶體裝置150的復原操作可能影響從啟動程式區域讀取資料的操作(SCSI READ)。因此,應當在主機102執行第二啟動操作2ND_BOOTING(步驟S40)的同時執行記憶體系統110的復原操作。換言之,在由主機102執行的第二啟動操作2ND_BOOTING(步驟S40)期間,記憶體系統110檢查是否已經發生SPO,並且根據檢查的結果對非揮發性記憶體裝置150執行復原操作。
然而,在傳統的記憶體系統中,記憶體系統不自行檢查主機是執行諸如1ST_BOOTING的第一啟動操作還是執行諸如2ND_BOOTING的第二啟動操作。換言之,如附圖所示,在重置記憶體系統的開始點SLINE處,無論重置是由通電操作引起還是在第一啟動操作和第二啟動操作之間執行的諸如HW Reset或EndPointReset的重置,記憶體系統將兩種重置識別為相同的重置操作,使得在主機和記憶體系統之間執行的第一啟動操作和第二啟動操作的詳細操作從開始時間SLINE至公共時間CLINE彼此基本類似。因此,在傳統的記憶體系統中,不可能確定或識別主機正在執行第一啟動操作還是正在執行第二啟動操作。
因此,在傳統技術中,回應於從主機輸入的針對在第二啟動操作期間用於從非揮發性記憶體裝置的一般區域讀取OS的基本資料的操作(諸
如QueryRequest{SET FLAG fDeviceInit,READ FLAG fDeviceInit})的請求,記憶體系統檢查是否已經發生SPO,並根據檢查結果對非揮發性記憶體裝置執行復原操作(600)。然而,在記憶體系統以上述傳統方式執行復原操作的情況下(600),由於沒有執行復原操作所需的足夠的時間,因此復原操作可能無法完成。
另一方面,根據圖5所述的實施例,記憶體系統110和包括記憶體系統110的資料處理系統100克服了傳統記憶體系統的上述問題。
詳細地,如圖5所述,根據實施例的記憶體系統110包括揮發性復原選擇暫存器RS_REG。
此外,記憶體系統110在重置操作之後無條件地檢查復原選擇暫存器RS_REG的值,並選擇是否對非揮發性記憶體裝置150執行復原操作(步驟610、步驟630、步驟641、步驟642)。換言之,記憶體系統110無條件地檢查復原選擇暫存器RS_REG的值,而不管回應於來自主機102的請求執行通電重置操作和重置操作中的哪一個。作為檢查的結果,如果復原選擇暫存器RS_REG具有初始值,則不對非揮發性記憶體裝置150執行復原操作。作為檢查的結果,如果復原選擇暫存器RS_REG具有特定值,則對非揮發性記憶體裝置150執行復原操作。
記憶體系統110可以使用記憶體系統110中的復原選擇暫存器RS_REG的值來選擇或確定是否對非揮發性記憶體裝置150執行復原操作。這是能夠實現的,因為復原選擇暫存器RS_REG如下所述的方式被設置。
首先,僅當執行斷電操作之後的通電操作時,主機102執行第一啟動操作1ST_BOOTING(步驟S20)。
因此,在主機102執行第一啟動操作1ST_BOOTING(步驟S20)的時間的期間,具有揮發性特性的復原選擇暫存器RS_REG被無條件地設置為初始值。
因此,當主機102執行第一啟動操作1ST_BOOTING時(步驟S20),記憶體系統110不對非揮發性記憶體裝置150執行復原操作。
此後,當主機102在已經完成第一啟動操作1ST_BOOTING(步驟S20)之後將重置請求傳輸到記憶體系統110時,記憶體系統110檢查是否需要對非揮發性記憶體裝置150執行復原操作,並根據檢查的結果將復原選擇暫存器RS_REG的值設置為特定值(步驟620)。當主機102在已經(在步驟S30)重置了記憶體系統110之後執行第二啟動操作2ND_BOOTING(步驟S40)的同時,需要對非揮發性記憶體裝置150執行復原操作時,復原選擇暫存器RS_REG可以具有特定值(步驟630、步驟641或步驟642)。
因此,當主機102執行第二啟動操作2ND_BOOTING(步驟S40)時,包括在記憶體系統110中的復原選擇暫存器RS_REG可以選擇性地具有初始值或特定值。
因此,當主機102執行第二啟動操作2ND_BOOTING(步驟S40)時,記憶體系統110根據對復原選擇暫存器RS_REG的值的檢查結果,選擇或確定是否對非揮發性記憶體裝置150執行復原操作(步驟630、步驟641或步驟642)。
藉由復原選擇暫存器RS_REG,根據實施例的記憶體系統110可以檢查主機102執行第二啟動操作2ND_BOOTING(步驟S40)的時間段。即使當在第二啟動操作2ND_BOOTING(步驟S40)的時間的期間沒有來自主機102的獨立觸發或單獨觸發時,換言之,即使在執行對從非揮發性記憶體裝置150的一般區域讀取OS的基本資料的操作(諸如QueryRequest{SET FLAG
fDeviceInit,READ FLAG fDeviceInit})的請求操作之前,記憶體系統110可以自行對非揮發性記憶體裝置150執行復原操作(步驟640、步驟641、步驟642)。
更詳細地,當從主機102接收到針對重置操作的請求時,記憶體系統110的控制器130中的主機控制器510確定或選擇是否藉由記憶體控制器520對非揮發性記憶體裝置150執行復原操作(步驟610、步驟630、步驟641、步驟642)。換言之,主機控制器510總是無條件地檢查復原選擇暫存器RS_REG的值,而不管回應於來自主機102的請求執行通電重置操作和重置操作中的哪一個。作為檢查的結果,當復原選擇暫存器RS_REG具有初始值時,不對非揮發性記憶體裝置150執行復原操作。作為檢查的結果,當復原選擇暫存器RS_REG具有特定值時,藉由記憶體控制器520對非揮發性記憶體裝置150執行復原操作。
主機控制器510可以使用復原選擇暫存器RS_REG的值來選擇是否對非揮發性記憶體裝置150執行復原操作的原因是因為復原選擇暫存器RS_REG被如下設置。
首先,僅當執行斷電操作之後的通電操作(步驟10)時,主機102執行第一啟動操作1ST_BOOTING(步驟S20)。
因此,在主機102執行第一啟動操作1ST_BOOTING(步驟S20)的時間的期間,具有揮發性特性的復原選擇暫存器RS_REG被初始化,即,被設置為初始值。
因此,在主機102執行第一啟動操作1ST_BOOTING(步驟S20)的時間的期間,主機控制器510不請求針對非揮發性記憶體裝置150的復原操作(步驟610)。
此後,當主機102在已經完成第一啟動操作1ST_BOOTING(步驟S20)之後將重置請求傳輸到主機控制器510時,主機控制器510檢查是否需要藉由記憶體控制器520對非揮發性記憶體裝置150執行復原操作,並且然後根據檢查的結果將復原選擇暫存器RS_REG的值設置為特定值(步驟620)。當在主機102在已經重置記憶體系統110之後執行第二啟動操作2ND_BOOTING(步驟S40)時需要對非揮發性記憶體裝置150執行復原操作時,復原選擇暫存器RS_REG可以具有特定值(步驟630、步驟641、步驟642)。
因此,在主機102執行第二啟動操作2ND_BOOTING(步驟S40)的時間的期間,主機控制器510中的復原選擇暫存器RS_REG可以選擇性地具有初始值或特定值。
因此,在第二啟動操作2ND_BOOTING(步驟S40)期間,主機控制器510根據對復原選擇暫存器RS_REG的值的檢查結果,選擇或確定是否對非揮發性記憶體裝置150執行復原操作(步驟630、步驟641、步驟642)。
如圖5所述的,可以存在兩種方法來重置記憶體系統110。兩種重置的方法包括:第一種方法514a:主機控制器510直接重置記憶體控制器520和非揮發性記憶體裝置150;以及第二種方法514b:主機控制器510藉由記憶體控制器520僅重置非揮發性記憶體裝置150。另外,根據重置記憶體系統110的方法,由主機控制器510對非揮發性記憶體裝置150的復原操作可以改變。
首先,在第一種重置方法514a的情況下,在主機102的第一啟動操作1ST_BOOTING(步驟S20)之後執行的重置操作(步驟S30)期間,重置記憶體控制器520和非揮發性記憶體裝置150兩者。
因此,當主機102在已經重置記憶體控制器520和非揮發性記憶體裝置150兩者之後開始執行第二啟動操作2ND_BOOTING(步驟S30)時,即使
沒有來自主機102的獨立觸發,主機控制器510也自行檢查復原選擇暫存器RS_REG的值。作為檢查的結果,當復原選擇暫存器RS_REG具有特定值時,主機控制器510藉由記憶體控制器520對非揮發性記憶體裝置執行復原操作(步驟630)。作為檢查的結果,當復原選擇暫存器RS_REG具有初始值時,主機控制器510不對非揮發性記憶體裝置150執行復原操作。
在第二種重置方法514b的情況下,在主機102的第一啟動操作1ST_BOOTING(步驟S20)之後執行的重置操作(步驟S30)期間,僅重置非揮發性記憶體裝置150,而不重置記憶體控制器520。
因此,在執行對應於第二種方法514b的重置操作(步驟S30)之前的時間處,即,在回應於來自主機102的重置請求而執行檢查非揮發性記憶體裝置150中是否需要復原操作的操作620的時間處,當作為操作620的結果復原選擇暫存器RS_REG被設置為特定值時,即使沒有來自主機102的獨立觸發,主機控制器510也開始藉由記憶體控制器520對非揮發性記憶體裝置150執行復原操作(步驟641)。在執行對應於第二種方法514b的重置操作(步驟S30)之前的時間處,當作為操作620的結果復原選擇暫存器RS_REG被設置為初始值時,主機控制器510不開始對非揮發性記憶體裝置150的復原操作。
在執行對應於第二種方法514b的重置操作(步驟S30)之前,在記憶體控制器520藉由操作641已經開始對非揮發性記憶體裝置150的復原操作之後,即使當執行這種重置操作(步驟S30)時,也不重置記憶體控制器520。因此,在已經執行對應於第二種方法514b的重置操作(步驟S30)之後,記憶體控制器520繼續對非揮發性記憶體裝置150執行復原操作,其中對非揮發性記憶體裝置150的復原操作藉由操作641已經開始(步驟642)。
總之,根據實施例的主機控制器510可以藉由復原選擇暫存器RS_REG檢查主機102執行第二啟動操作2ND_BOOTING(步驟S40)的時間。
由此,即使當在第二啟動操作2ND_BOOTING(步驟S40)期間沒有來自主機102的單獨觸發或獨立觸發時,換言之,即使在請求從非揮發性記憶體裝置150的一般區域讀取OS的基本資料的操作(諸如QueryRequest{SET FLAG fDeviceInit,READ FLAG fDeviceInit})之前,主機控制器510可以自行藉由記憶體系統110對非揮發性記憶體裝置150執行復原操作(步驟640、步驟641、步驟642)。
圖8為根據圖5所示的實施例的包括記憶體系統的資料處理系統的效果的示意圖。
請參照圖8,圖8詳細揭示出圖6和圖7所示的主機102的第二啟動操作2ND_BOOTING(步驟S40)。
詳細地來說,執行檢查在主機102和記憶體系統110之間是否可以傳輸訊號的操作(諸如Linkstartup,NOP OUT,NOP IN)。作為實施例而非用以限制本發明,可以將基於最小時間(min-time)的大約30ms分配為操作(諸如Linkstartup、NOP OUT、NOP IN)時主機102所需的所需時間。換言之,在從操作(諸如Linkstartup、NOP OUT、NOP IN)開始經過30ms之後沒有來自記憶體系統110的回應的情況下,主機102可以確定操作(諸如Linkstartup、NOP OUT、NOP IN)已經失敗。
隨後,執行檢查是否可以從記憶體系統110中的非揮發性記憶體裝置150讀取資料的操作(諸如READ描述符、裝置描述符)。作為實施例而非用以限制本發明,操作(諸如READ描述符、裝置描述符)所需的主機102的所需時間可以基於最小時間(min-time)約為100ms。換言之,在從操作(諸如READ描述符、裝置描述符)開始經過100ms之後沒有來自記憶體系統110的回應的情況下,主機102可以確定操作(諸如READ描述符、裝置描述符)已經失敗。
此後,執行從非揮發性記憶體裝置150的一般區域讀取測試資料並檢查測試資料是否被讀取的操作(諸如TEST UNIT READY)。作為實施例而非用以限制本發明,操作(諸如TEST UNIT READY)所需的主機102的所需時間可以基於最小時間(min-time)為100ms。換言之,在從操作(諸如TEST UNIT READY)開始經過100ms之後沒有來自記憶體系統110的回應的情況下,主機102可以確定操作(諸如TEST UNIT READY)已經失敗。
隨後,執行從非揮發性記憶體裝置150的一般區域讀取待在主機102中使用的OS的基本資料的操作(諸如QueryRequest{SET FLAG fDeviceInit,READ FLAG fDeviceInit})。作為實施例而非用以限制本發明,操作(諸如QueryRequest{SET FLAG fDeviceInit,READ FLAG fDeviceInit})時主機102所需的所需時間可以基於最小時間(min-time)為1600ms(=600ms+1000ms)。換言之,在從操作(諸如QueryRequest{SET FLAG fDeviceInit,READ FLAG fDeviceInit})開始經過1600ms之後沒有來自記憶體系統110的回應的情況下,主機102可以確定操作(諸如QueryRequest{SET FLAG fDeviceInit,READ FLAG fDeviceInit})已經失敗。
如圖5至圖7所述的,根據實施例的記憶體系統110可以從主機102執行第二啟動操作2ND_BOOTING的時間段的開始時間對非揮發性記憶體裝置150執行復原操作(步驟S40)。例如,基於主機102的最小所需時間(min-time),主機102可以在非揮發性記憶體裝置150的復原操作已經在記憶體系統110中開始之後等待1830ms。
另一方面,根據傳統技術的記憶體系統僅在回應於主機的請求執行從非揮發性記憶體裝置的一般區域讀取待在主機中使用的OS的基本資料的操作(諸如QueryRequest{SET FLAG fDeviceInit,READ FLAG fDeviceInit})時可以執行非揮發性記憶體裝置的復原操作。例如,基於主機
的最小所需時間(min-time),主機可以在非揮發性記憶體裝置的復原操作已經在記憶體系統中開始之後僅等待1600ms。
即,如圖8所示,與傳統技術相比,在根據實施例的記憶體系統110中,為執行非揮發性記憶體裝置150的復原操作而分配的時間可以增加在主機102已經開始第二啟動操作2ND_BOOTING(步驟S40)之後執行操作(諸如Linkstartup、NOP OUT、NOP IN、READ描述符、裝置描述符、TEST UNIT READY)所需的時間,例如,增加230ms。
圖9至圖17為圖1的資料處理系統的實施例應用的示意圖。
圖9為包括根據本發明實施例的記憶體系統的資料處理系統100的另一示例的示意圖。圖9說明可應用於記憶體系統的記憶卡系統的實施例。
參照圖9,記憶卡系統6100可以包括記憶體控制器6120、記憶體裝置6130和連接器6110。
記憶體控制器6120可以連接到由非揮發性記憶體實施的記憶體裝置6130。記憶體控制器6120可以訪問記憶體裝置6130。例如,控制器6120可以控制記憶體裝置6130的讀取操作、寫入操作、抹除操作和後臺操作。記憶體控制器6120可以提供記憶體裝置6130和主機之間的介面並且使用用於控制記憶體裝置6130的韌體。即,記憶體控制器6120可以對應於圖1和圖5描述的記憶體系統110的控制器130,並且記憶體裝置6130可以對應於圖1和圖5描述的記憶體系統110的記憶體裝置150。
因此,記憶體控制器6120可以包括RAM、處理器、主機介面、記憶體介面和錯誤校正部件。記憶體控制器130可以進一步包括圖5所示的元件。
記憶體控制器6120可以藉由連接器6110與例如圖1的主機102的外部裝置通訊。例如,如圖1描述的,記憶體控制器6120可以藉由諸如以下的
各種通訊協議中的一種或多種與外部裝置通訊:通用序列匯流排(USB)、多媒體記憶卡(MMC)、嵌入式MMC(eMMC)、快捷外設互聯標準(PCI)、高速PCI(PCIe)、高技術配置(ATA)、串行ATA、並列ATA、小型電腦系統介面介面(SCSI)、增強型小型裝置介面(EDSI)、整合裝置電路(IDE)、火線介面、通用快閃記憶體儲存(UFS)、WIFI和藍牙。因此,根據實施例的記憶體系統和資料處理系統可以應用於有線/無線電子裝置,特別是行動電子裝置。
記憶體裝置6130可以由揮發性記憶體來實施。例如,記憶體裝置6130可以有諸如以下的各種非揮發性記憶體裝置中的任何一種來實施:可抹除可程式化ROM(EPROM)、電子抹除式可複寫ROM(EEPROM)、NAND快閃記憶體、NOR快閃記憶體、相變RAM(PRAM)、電阻式RAM(ReRAM)、鐵電RAM(FRAM)和自旋轉移力矩磁阻RAM(STT-MRAM)。記憶體裝置6130可以包括圖5的記憶體裝置150中的多個記憶體晶片。
記憶體控制器6120和記憶體裝置6130可以被整合到單個半導體裝置中。例如,記憶體控制器6120和記憶體裝置6130可以被整合以形成固態硬碟(SSD)。並且,記憶體控制器6120和記憶體裝置6130可以形成諸如以下的存儲卡:PC卡(PCMCIA:個人電腦記憶卡國際協會)、緊湊型快閃記憶體(CF)卡、智慧媒體卡(例如,SM和SMC)、記憶棒、多媒體卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用快閃記憶體(UFS)。
圖10為根據本發明實施例的包括記憶體系統的資料處理系統的另一實施例的示意圖。
參照圖10,資料處理系統6200可以包括具有一個或多個非揮發性記憶體的記憶體裝置6230和用於控制記憶體裝置6230的記憶體控制器6220。圖10所示的資料處理系統6200可以用作諸如記憶卡(CF、SD、微型SD
等)或USB裝置等如圖1所述的的存儲媒介。記憶體裝置6230可以對應於如圖1和圖5所示的記憶體系統110中的記憶體裝置150,並且記憶體控制器6220可以對應於圖1和圖5所示的記憶體系統110的控制器130。
記憶體控制器6220可以回應於主機6210的請求來控制對記憶體裝置6230的讀取操作、寫入操作或抹除操作。記憶體控制器6220可以包括一個或多個CPU 6221、諸如RAM 6222的緩衝記憶體、ECC電路6223、主機介面6224和諸如NVM介面6225的記憶體介面。
CPU 6221可以控制對記憶體裝置6230的整體操作,例如讀取操作、寫入操作、文件系統管理操作和壞頁面管理操作。RAM 6222可以根據CPU6221的控制來操作。RAM 6222可以用作工作記憶體、緩衝記憶體或高速緩衝記憶體。當RAM 6222用作工作記憶體時,由CPU 6221處理的資料可以臨時儲存在RAM 6222中。當RAM 6222用作緩衝記憶體時,RAM 6222可以用於緩衝從主機6210傳輸到記憶體裝置6230或從記憶體裝置6230傳輸到主機6210的資料。當RAM 6222用作高速緩衝記憶體時,RAM 6222可以輔助低速記憶體裝置6230以高速運轉。
ECC電路6223可以對應於圖1所示的控制器130的ECC部件138。如圖1所描述的,ECC電路6223可以產生用於校正從記憶體裝置6230提供的資料的失敗位元或錯誤位元的ECC(錯誤校正碼)。ECC電路6223可以對被提供給記憶體裝置6230的資料執行錯誤校正編碼,由此形成具有奇偶校驗位的資料。奇偶校驗位可以被儲存在記憶體裝置6230中。ECC電路6223可以對從記憶體裝置6230輸出的資料執行錯誤校正解碼。ECC電路6223可以使用奇偶校驗位來校正錯誤。例如,如圖1所描述的,ECC電路6223可以使用LDPC碼、BCH碼、渦輪碼、里德-所羅門碼、卷積碼、RSC或諸如TCM或BCM的編碼調變來校正錯誤。
記憶體控制器6220可以藉由主機介面6224與主機6210交換資料。記憶體控制器6220可以藉由NVM介面6225將資料傳輸到記憶體裝置6230,或從記憶體裝置6230接收資料。主機介面6224可以藉由PATA匯流排、SATA匯流排、SCSI、USB、PCIe或NAND介面連接到主機6210。記憶體控制器6220可以具有諸如WiFi或長期演進(LTE)的行動通訊協議的無線通訊功能。記憶體控制器6220可以連接到外部裝置,例如主機6210或另一外部裝置,並且然後與外部裝置交換資料。因為記憶體控制器6220藉由一種或多種各種通訊協議與外部裝置通訊,所以根據實施例的記憶體系統和資料處理系統可以應用於有線/無線電子裝置,特別是行動電子裝置。
圖11為根據本發明實施例的包括記憶體系統的資料處理系統的另一實施例的示意圖。圖11為可以應用記憶體系統的SSD。
參照圖11,SSD 6300可以包括控制器6320和包括多個非揮發性記憶體的記憶體裝置6340。記憶體控制器6320可以對應於圖1和圖5的記憶體系統110中的控制器130,並且記憶體裝置6340可以對應於圖1和圖5的記憶體系統110中的記憶體裝置150。
更具體地,控制器6320可以藉由多個通道CH1至CHi連接到記憶體裝置6340。控制器6320可以包括一個或多個處理器6321、緩衝記憶體6325、ECC電路6322、主機介面6324和例如非揮發性記憶體介面6326的記憶體介面。
緩衝記憶體6325可臨時儲存從主機6310提供的資料或從包括在記憶體裝置6340中的多個快閃記憶體NVM提供的資料,或臨時儲存多個快閃記憶體NVM的詮釋資料(meta data),例如包括映射表的映射資料。緩衝記憶體6325可以由諸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的揮發性記憶體或諸如FRAM、ReRAM、STT-MRAM和PRAM的非
揮發性記憶體來實施。圖10示出緩衝記憶體6325被實現在控制器6320中。然而,緩衝記憶體6325可以處於控制器6320的外部。
ECC電路6322可以在程式化操作期間計算待程式化到記憶體裝置6340中的資料的ECC值。ECC電路6322可以在讀取操作期間基於ECC值對從記憶體裝置6340讀取的資料執行錯誤校正操作。ECC電路6322可以在失敗的資料復原操作期間對從記憶體裝置6340復原的資料執行錯誤校正操作。
主機介面6324可以利用例如主機6310的外部裝置提供介面功能。非揮發性記憶體介面6326可以利用藉由多個通道連接的記憶體裝置6340提供介面功能。
此外,應用了圖1和圖5的記憶體系統110的多個SSD 6300可以被提供以實施例如RAID(獨立磁碟備援陣列)系統的資料處理系統。RAID系統可以包括多個SSD 6300和用於控制多個SSD 6300的RAID控制器。當RAID控制器回應於從主機6310提供的寫入命令執行程式化操作時,RAID控制器可以根據多個RAID級別,即,從SSD 6300中的主機6310提供的寫入命令的RAID級別訊息來選擇一個或多個記憶體系統或SSD 6300。RAID控制器可以將對應於寫入命令的資料輸出到選擇的SSD 6300。此外,當RAID控制器回應於從主機6310提供的讀取命令執行讀取命令時,RAID控制器可以根據多個RAID級別,即,從SSD 6300中的主機6310提供的讀取命令的RAID級別訊息來選擇一個或多個記憶體系統或SSD 6300。RAID控制器可以將從選擇的SSD 6300讀取的資料提供給主機6310。
圖12為根據本發明實施例的包括記憶體系統的資料處理系統的另一實施例的示意圖。圖12為可以應用記憶體系統的嵌入式MMC(eMMC)的實施例的示意圖。
參照圖12,eMMC 6400可以包括控制器6430和由一個或多個NAND快閃記憶體實施的記憶體裝置6440。記憶體控制器6430可以對應於圖1和圖5的記憶體系統110中的控制器130。記憶體裝置6440可以對應於圖1和圖5的記憶體系統110的記憶體裝置150。
更具體地,控制器6430可以藉由多個通道連接到記憶體裝置6440。控制器6430可以包括一個或多個內核6432、主機介面6431和例如NAND介面6433的記憶體介面。
內核6432可以控制eMMC 6400的總體操作。主機介面6431可以在控制器6430和主機6410之間提供介面功能。NAND介面6433可以提供記憶體裝置6440和控制器6430之間的介面功能。例如,主機介面6431可以用作並列介面,例如圖1描述的MMC介面。此外,主機介面6431可以用作串列介面,例如超高速(UHS-I/UHS-II)介面。
圖13至圖16為根據本發明實施例的包括記憶體系統的資料處理系統的其它實施例的示意圖。圖13至圖16示例出可以應用記憶體系統的UFS(通用快閃記憶體)系統。
參照圖13至圖16,UFS系統6500、6600、6700、6800可以分別包括主機6510、6610、6710、6810、UFS裝置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830。主機6510、6610、6710、6810可以用作有線/無線電子裝置或特別是行動電子裝置的應用處理器,UFS裝置6520、6620、6720、6820可以用作嵌入式UFS裝置,並且UFS卡6530、6630、6730、6830可以用作外部嵌入式UFS設備或可移除UFS卡。
在各個UFS系統6500、6600、6700、6800中的主機6510、6610、6710、6810、UFS裝置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可以藉由UFS協議與例如有線/無線電子裝置或特別是行動電子裝置的外部
裝置通訊,並且UFS裝置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可以由圖1和圖5的記憶體系統110實施。例如,在UFS系統6500、6600、6700、6800中,UFS裝置6520、6620、6720、6820可以以參照圖10至圖12描述的資料處理系統6200、SSD 6300或eMMC 6400的形式來實施,並且UFS卡6530、6630、6730、6830可以以參照圖9描述的存儲卡系統6100的形式來實施。
此外,在UFS系統6500、6600、6700、6800中,主機6510、6610、6710、6810、UFS裝置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可以藉由例如MIPI(行動產業處理器介面)中的MIPI M-PHY和MIPI UniPro(標準化通訊協定)的UFS介面來彼此通訊。此外,UFS裝置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以藉由除UFS協議之外的例如UFD、MMC、SD、迷你SD和微型SD的各種協議彼此通訊。
在圖13所示的UFS系統6500中,主機6510、UFS裝置6520和UFS卡6530中的每一個可以包括UniPro。主機6510可以執行交換操作,以便與UFS裝置6520和UFS卡6530通訊。主機6510可以藉由例如在UniPro處的L3交換的鏈路層交換與UFS裝置6520或UFS卡6530通訊。UFS裝置6520和UFS卡6530可以藉由在主機6510的UniPro處的鏈路層交換來彼此通訊。在所示的實施例中,已經描述其中一個UFS裝置6520和一個UFS卡6530連接到主機6510的配置。然而,多個UFS裝置和UFS卡可以並列地或以星型形式連接到主機6410。多個UFS卡可以並列地或以星型形式連接到UFS裝置6520或者串聯地或以鏈型形式連接到UFS裝置6520。
在圖14所示的UFS系統6600中,主機6610、UFS裝置6620和UFS卡6630中的每一個可以包括UniPro,並且主機6610可以藉由執行交換操作的交換模組6640,例如,藉由在UniPro處執行例如L3交換的鏈路層交換的交
換模組6640與UFS裝置6620或UFS卡6630通訊。UFS裝置6620和UFS卡6630可以藉由在UniPro處的交換模組6640的鏈路層交換來彼此通訊。在所示的實施例中,已經描述一個UFS裝置6620和一個UFS卡6630連接到交換模組6640的配置。然而,多個UFS裝置和UFS卡可以並列地或以星型形式連接到交換模組6640。多個UFS卡可以串聯地或以鏈型形式連接到UFS裝置6620。
在圖15所示的UFS系統6700中,主機6710、UFS裝置6720和UFS卡6730中的每一個可以包括UniPro。主機6710可以藉由執行交換操作的交換模組6740,例如,藉由在UniPro處執行例如L3交換的鏈路層交換的交換模組6740與UFS裝置6720或UFS卡6730通訊。UFS裝置6720和UFS卡6730可以藉由在UniPro處的交換模組6740的鏈路層交換來與彼此通訊,並且交換模組6740可以在UFS裝置6720內部或外部與UFS裝置6720集成為一個模組。在所示的實施例中,已經描述一個UFS裝置6720和一個UFS卡6730連接到交換模組6740的配置。然而,包括交換模組6740和UFS裝置6720的多個模組可以並列地或以星型形式連接到主機6710或者串聯地或以鏈型形式連接到彼此。此外,多個UFS卡可以並列地或以星型形式連接到UFS裝置6720。
在圖16所示的UFS系統6800中,主機6810、UFS裝置6820和UFS卡6830中的每一個可以包括M-PHY和UniPro。UFS裝置6820可以執行交換操作,以便與主機6810和UFS卡6830通訊。特別地,UFS裝置6820可以藉由用於與主機6810通訊的M-PHY和UniPro模組之間的交換操作並且藉由用於與UFS卡6830通訊的M-PHY和UniPro模組之間的交換操作,例如藉由目標ID(標識符)交換操作來與主機6810或UFS卡6830通訊。主機6810和UFS卡6830可以藉由UFS裝置6820的M-PHY和UniPro模組之間的目標ID交換來與彼此通訊。在所示的實施例中,已經描述其中一個UFS裝置6820連接到主機6810和一個UFS卡6830連接到UFS裝置6820的配置。然而,多個UFS裝置可
以並列地或以星型形式連接到主機6810,或串聯地或以鏈型形式連接到主機6810。多個UFS卡可以並列地或以星型形式連接到UFS裝置6820,或者串聯地或以鏈型形式連接到UFS裝置6820。
圖17為根據本發明實施例的包括記憶體系統的資料處理系統的另一實施例的示意圖。圖17示例出應用根據本實施例的記憶體系統的用戶系統的示意圖。
參照圖17,用戶系統6900可以包括應用處理器6930、記憶體模組6920、網路模組6940、儲存模組6950和用戶介面6910。
更具體地,應用處理器6930可以驅動包括在例如OS的用戶系統6900中的部件,並且包括用於控制包括在用戶系統6900中的部件的控制器、介面、圖形引擎等。應用處理器6930可以被設置為系統單晶片(SoC)。
記憶體模組6920可以用作用戶系統6900的主記憶體、工作記憶體、緩衝記憶體或高速緩衝記憶體。記憶體模組6920可以包括諸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的揮發性RAM或諸如PRAM、ReRAM、MRAM和FRAM的非揮發性RAM。例如,應用處理器6930和記憶體模組6920可以藉由基於POP(層疊封裝)的來封裝並安裝。
網路模組6940可以與外部裝置通訊。例如,網路模組6940不僅可以支持有線通訊,還可以支持諸如以下的各種無線通訊:分碼多工接取(CDMA)、全球移動通訊系統(GSM)、寬頻CDMA(WCDMA)、CDMA-2000、分時多工(TDMA)、長期演進技術(LTE)、全球互通微波存取(WiMAX)、無線區域網路(WLAN)、超寬帶(UWB)、藍牙、無線顯示(WI-DI),從而與有線/無線電子裝置或特別是行動電子裝置通訊。因此,根據本發明的實施例的
記憶體系統和資料處理系統可以應用於有線和/或無線電子裝置。網路模組6940可以被包括在應用處理器6930中。
儲存模組6950可以儲存例如從應用處理器6930接收的資料資料。儲存模組6950可以將儲存的資料傳輸到應用處理器6930。儲存模組6950可以由諸如以下的非揮發性半導體記憶體裝置實現:相變RAM(PRAM)、磁阻式RAM(MRAM)、電阻式RAM(ReRAM)、NAND快閃記憶體、NOR快閃記憶體和3維NAND快閃記憶體,並且被設置為諸如用戶系統6900的記憶卡和外部驅動器的可移除儲存媒介。存儲模組6950可以對應於以上圖1和圖5描述的記憶體系統110。此外,儲存模組6950可以利用以上圖11至圖16描述的SSD、eMMC和/或UFS來實施。
用戶介面6910可以包括用於將資料或命令輸入到應用處理器6930或用於將資料輸出到外部裝置的介面。例如,用戶介面6910可以包括諸如鍵盤、小鍵盤、按鈕、觸控面板、觸控屏、觸控板、觸控球、攝影機、麥克風、陀螺儀傳感器、振動傳感器和壓電元件的用戶輸入介面以及諸如液晶顯示器(LCD)、有機發光二極管(OLED)顯示裝置、主動式矩陣OLED(AMOLED)顯示裝置、發光二極管(LED)、揚聲器和監視器的用戶輸出介面。
此外,當其中圖1和圖5的記憶體系統110被應用於用戶系統6900的行動電子裝置時,應用處理器6930可以控制行動電子裝置的整體操作,並且網路模組6940可以用作用於控制與外部裝置的有線/無線通訊的通訊模組。用戶介面6910可以在行動電子裝置的顯示/觸控模組上顯示由處理器6930處理的資料。用戶介面6910可以支持從觸控面板接收資料的功能。
在各個實施例中,能夠管理復原操作的時間的暫存器被包括和管理在記憶體系統中,使得,即使在主機的啟動操作期間,記憶體系統可以自己確定執行相關聯的非揮發性記憶體裝置的復原操作的時間。
因此,優點在於可以充分確保儲存系統執行非揮發性記憶體裝置的復原操作所需的時間。
雖然為了清楚和理解的目的已經詳細地描述前述實施例,但本發明不限於提供的細節。如本領域技術人員根據前述公開內容將理解的,存在實施本發明的許多可選方式。因此,公開的實施例是說明性的而不是限制性的。
100:資料處理系統
102:主機
130:控制器
150:記憶體裝置
1021、1022、1023、511、512、513、514、514a、514b、515、516、517、520、522:步驟
Claims (19)
- 一種資料處理系統,包括主機和記憶體系統,其中該記憶體系統包括復原選擇暫存器和非揮發性記憶體裝置,該復原選擇暫存器為揮發性復原選擇暫存器,其中當該主機請求重置時,該記憶體系統在重置該非揮發性記憶體裝置前設置復原選擇暫存器的值,並在被重置之後,依據該復原選擇暫存器的值對該非揮發性記憶體裝置執行一復原操作,其中該主機在通電期間藉由一第一啟動操作從該記憶體系統讀取設置的第一資料,在該第一啟動操作完成後向該記憶體系統請求重置,並且在重置完成後藉由在該記憶體系統的重置之後開始的一第二啟動操作從該記憶體系統讀取設置的第二資料,以及其中該記憶體系統在該第二啟動操作開始時執行該復原操作。
- 如請求項1所述的資料處理系統,其中該記憶體系統進一步包括控制器,其在該主機的控制下控制該非揮發性記憶體裝置的操作,其中該控制器包括處理該控制器和該主機之間的操作的主機控制器以及與該主機控制器連接並處理該控制器和該非揮發性記憶體裝置之間的操作的記憶體控制器,並且其中該復原選擇暫存器被包括在該主機控制器中。
- 如請求項2所述的資料處理系統,其中,當從該主機請求重置時,該主機控制器檢查是否藉由該記憶體控制器對該非揮發性記憶體裝置執行該復原操作,其中當檢查要對該非揮發性記憶體裝置上執行該復原操作時,該主機控制器將該復原選擇暫存器的值設置為特定值,以及 其中當檢查不對該非揮發性記憶體裝置執行該復原操作時,該主機控制器將該復原選擇暫存器的值設置為初始值,以及其中在該復原選擇暫存器的值被設置之後,該主機控制器重置該記憶體控制器和該非揮發性記憶體裝置兩者。
- 如請求項3所述的資料處理系統,其中在該記憶體控制器和該非揮發性記憶體裝置被重置之後,即使沒有來自該主機的獨立觸發,該主機控制器檢查該復原選擇暫存器的值,以及其中當檢查該復原選擇暫存器的值被設置為該特定值時,該主機控制器藉由該記憶體控制器對該非揮發性記憶體裝置執行該復原操作。
- 如請求項2所述的資料處理系統,其中當從該主機請求重置時,該主機控制器檢查是否藉由該記憶體控制器對該非揮發性記憶體裝置執行該復原操作,其中當檢查要對該非揮發性記憶體裝置執行該復原操作時,其中當檢查不對該非揮發性記憶體裝置執行該復原操作時,該主機控制器將該復原選擇暫存器的值設置為初始值,並且其中在該復原選擇暫存器的值被設置之後,該主機控制器藉由該記憶體控制器重置該非揮發性記憶體裝置。
- 如請求項5所述的資料處理系統,其中即使沒有來自該主機的獨立觸發,當該復原選擇暫存器的值被設置為該特定值時,該主機裝置藉由該記憶體控制器開始對該非揮發性記憶體裝置執行該復原操作,以及 其中該記憶體控制器回應於該主機控制器的請求重置該非揮發性記憶體裝置,並且即使沒有來自該主機控制器的獨立請求,該主機控制器繼續對該非揮發性記憶體裝置的該復原操作。
- 如請求項1所述的資料處理系統,其中該非揮發性記憶體裝置包括啟動程式區域和一般區域,並且其中該主機藉由該第一啟動操作從該啟動程式區域讀取該設置的第一資料,並且藉由該第二啟動操作從該一般區域讀取該設置的第二資料。
- 一種記憶體系統,包括:控制器,其包括復原選擇暫存器,該復原選擇暫存器為揮發性復原選擇暫存器;以及非揮發性記憶體裝置,其中當一主機請求重置時,該控制器在重置該非揮發性記憶體裝置之前設置該復原選擇暫存器的值,並在重置之後,依據該復原選擇暫存器的值,而對該非揮發性記憶體裝置執行一復原操作,其中該記憶體系統在通電其間依序執行一第一啟動操作、一重置操作和一第二啟動操作,以及其中該控制器在該第二啟動操作開始時執行該復原操作。
- 如請求項8所述的記憶體系統,其中該控制器進一步包括:主機控制器,其處理該控制器和該主機之間的操作;以及記憶體控制器,其與該主機控制器連接,並處理該控制器和該非揮發性記憶體裝置之間的操作,並且其中該復原選擇暫存器被包括在該主機控制器中。
- 如請求項9所述的記憶體系統,其中,當從該主機請求重置時,該主機控制器檢查是否藉由該記憶體控制器對該非揮發性記憶體裝置執行該復原操作,其中,當檢查要對該非揮發性記憶體裝置執行該復原操作時,該主機控制器將該復原選擇暫存器的值設置為特定值,其中當檢查不對該非揮發性記憶體裝置執行該復原操作時,該主機控制器將該復原選擇暫存器的值設置為初始值,並且其中,在該復原選擇暫存器的值被設置之後,該主機控制器重置該記憶體控制器和該非揮發性記憶體裝置兩者。
- 如請求項10所述的記憶體系統,其中在該記憶體控制器和該非揮發性記憶體裝置被重置之後,即使沒有來自該主機的獨立觸發,該主機控制器檢查該復原選擇暫存器的值,以及當檢查到該復原選擇暫存器的值是該特定值時,該主機控制器藉由該記憶體控制器對該非揮發性記憶體裝置執行該復原操作。
- 如請求項9所述的記憶體系統,其中,當從該主機請求重置時,該主機控制器檢查是否藉由該記憶體控制器對該非揮發性記憶體裝置執行該復原操作,其中,當檢查要對該非揮發性記憶體裝置執行該復原操作時,該主機控制器將該復原選擇暫存器的值設置為特定值,其中當檢查不對該非揮發性記憶體裝置執行該復原操作時,該主機控制器將該復原選擇暫存器的值設置為初始值,並且其中在該復原選擇暫存器的值被設置之後,該主機控制器藉由該記憶體控制器重置該非揮發性記憶體裝置。
- 如請求項12所述的記憶體系統, 其中當該復原選擇暫存器的值被設定為該特定值時,即使沒有來自該主機的獨立觸發,該主機控制器藉由該記憶體控制器開始對該非揮發性記憶體裝置執行該復原操作,並且其中該記憶體控制器回應於該主機控制器的請求重置該非揮發性記憶體裝置,並且然後即使沒有來自該主機控制器的獨立請求,該主機控制器繼續該非揮發性記憶體裝置的該復原操作。
- 一種記憶體系統的操作方法,該記憶體系統包括復原選擇暫存器和非揮發性記憶體裝置,該復原選擇暫存器為揮發性復原選擇暫存器,該方法包括:在通電期間,依序執行一第一啟動操作、一非揮發性記憶體裝置的重置操作和一第二啟動操作;當一主機裝置要求重置時,執行一重置操作,包括在重置前設置該復原選擇暫存器的值;以及在重置後的該第二啟動操作開始,依據該復原選擇暫存器的值,對該非揮發性記憶體裝置執行一復原操作。
- 如請求項14所述的方法,其中執行該重置操作包括:當從該主機請求重置時,檢查是否對該非揮發性記憶體裝置執行該復原操作;當檢查要對該非揮發性記憶體裝置執行該復原操作時,將該復原選擇暫存器的值設置為特定值;當檢查不對該揮發性記憶體裝置執行該復原操作時,將該復原選擇暫存器的值設置為初始值;以及在設置該復原選擇暫存器的值之後,重置該記憶體控制器和該非揮發性記憶體裝置。
- 如請求項15所述的方法,其中執行該復原操作包括:在該記憶體控制器和該非揮發性記憶體裝置重置之後,即使沒有來自該主機的獨立觸發,由該主機控制器檢查該復原選擇暫存器的值;以及當檢查到該復原選擇暫存器的值被設置為該特定值時,對該非揮發性記憶體裝置執行該復原操作。
- 如請求項14所述的方法,其中執行該重置操作包括:當從該主機請求重置時,檢查是否對該非揮發性記憶體裝置執行該復原操作;當檢查要對該非揮發性記憶體裝置執行該復原操作時,將該復原選擇暫存器的值設置為特定值;當檢查不對該非揮發性記憶體裝置執行該復原操作時,將該復原選擇暫存器的該值設置為初始值;以及在設置該復原選擇暫存器的值之後,重置該非揮發性記憶體裝置。
- 如請求項17所述的方法,其中執行該重置操作包括:當該復原選擇暫存器的值被設置為該特定值時,即使沒有來自該主機的獨立觸發,開始對該非揮發性記憶體裝置執行該復原操作;以及其中執行該復原操作包括:繼續該非揮發性記憶體裝置的該復原操作。
- 一種控制器的操作方法,包括:在通電期間,依序執行一第一啟動操作、一非揮發性記憶體裝置的一重置操作、以及回應一主機請求的一第二啟動操作; 在該第一啟動操作完成及該重置操作的開始之間,設置一復原選擇值;以及在該重置操作開始前,或在該第二啟動操作開始時,依據該復原選擇值對該非揮發性記憶體裝置執行一復原操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170174907A KR102485812B1 (ko) | 2017-12-19 | 2017-12-19 | 메모리 시스템과 메모리 시스템의 동작방법 및 메모리 시스템을 포함하는 데이터 처리 시스템 |
??10-2017-0174907 | 2017-12-19 | ||
KR10-2017-0174907 | 2017-12-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201933126A TW201933126A (zh) | 2019-08-16 |
TWI783012B true TWI783012B (zh) | 2022-11-11 |
Family
ID=66816043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107125247A TWI783012B (zh) | 2017-12-19 | 2018-07-20 | 記憶體系統、其操作方法以及包括其的資料處理系統 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10929236B2 (zh) |
KR (1) | KR102485812B1 (zh) |
CN (1) | CN109935251B (zh) |
TW (1) | TWI783012B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI824885B (zh) * | 2022-12-15 | 2023-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置與錯誤回復執行方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020123125A1 (de) * | 2019-09-30 | 2021-04-01 | Taiwan Semiconductor Manufacturing Co., Ltd. | Backup und wiederherstellung von registerdaten |
CN111752487B (zh) * | 2020-06-18 | 2024-01-12 | 深圳大普微电子科技有限公司 | 一种数据恢复方法、装置及固态硬盘 |
CN112954525B (zh) * | 2021-02-02 | 2023-07-07 | 致真存储(北京)科技有限公司 | 一种tws耳机及其断电恢复的方法和装置 |
TWI798680B (zh) * | 2021-04-14 | 2023-04-11 | 群聯電子股份有限公司 | 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元 |
CN112965670B (zh) * | 2021-04-22 | 2023-08-01 | 群联电子股份有限公司 | 主机存储器缓冲区管理方法、存储装置与控制电路单元 |
KR20230037910A (ko) * | 2021-09-10 | 2023-03-17 | 삼성전자주식회사 | 메모리를 포함하는 인쇄 회로 기판 및 그의 데이터 처리 방법 |
US11983073B2 (en) * | 2022-07-27 | 2024-05-14 | Micron Technology, Inc. | Hardware reset management for universal flash storage |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200734868A (en) * | 2005-11-08 | 2007-09-16 | M2000 | Reconfigurable system with corruption detection and recovery |
US20130166855A1 (en) * | 2011-12-22 | 2013-06-27 | Fusion-Io, Inc. | Systems, methods, and interfaces for vector input/output operations |
TW201413581A (zh) * | 2012-06-15 | 2014-04-01 | Ibm | 於異動處理中儲存/恢復選擇之暫存器 |
US20140331034A1 (en) * | 2013-03-15 | 2014-11-06 | Cyrill C. Ponce | Embedded system boot from a storage device |
CN105009085A (zh) * | 2013-03-18 | 2015-10-28 | 株式会社东芝 | 信息处理系统、控制程序以及信息处理设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101031417B1 (ko) | 2005-01-31 | 2011-04-26 | 주식회사 하이닉스반도체 | 비휘발성 레지스터를 갖는 마이크로 프로세서 장치 및제어 방법 |
US20080270811A1 (en) * | 2007-04-26 | 2008-10-30 | Super Talent Electronics Inc. | Fast Suspend-Resume of Computer Motherboard Using Phase-Change Memory |
US20090006835A1 (en) * | 2007-06-29 | 2009-01-01 | Samsung Electronics Co., Ltd | Electronic device and control method thereof |
KR20090042039A (ko) | 2007-10-25 | 2009-04-29 | 삼성전자주식회사 | 불휘발성 메모리 장치의 데이터 관리 방법 |
KR20120057950A (ko) | 2010-11-29 | 2012-06-07 | 주식회사 히타치엘지 데이터 스토리지 코리아 | 광디스크 드라이브의 소프트 리셋 제어 장치 및 방법 |
KR101991905B1 (ko) * | 2012-07-19 | 2019-06-24 | 삼성전자주식회사 | 불휘발성 메모리, 불휘발성 메모리의 읽기 방법 및 불휘발성 메모리를 포함하는 메모리 시스템 |
US9558080B2 (en) * | 2013-10-31 | 2017-01-31 | Microsoft Technology Licensing, Llc | Crash recovery using non-volatile memory |
US9753793B2 (en) * | 2014-06-30 | 2017-09-05 | Intel Corporation | Techniques for handling errors in persistent memory |
KR20170021402A (ko) * | 2015-08-17 | 2017-02-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
-
2017
- 2017-12-19 KR KR1020170174907A patent/KR102485812B1/ko active IP Right Grant
-
2018
- 2018-07-20 TW TW107125247A patent/TWI783012B/zh active
- 2018-07-31 US US16/050,070 patent/US10929236B2/en active Active
- 2018-08-22 CN CN201810959053.4A patent/CN109935251B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200734868A (en) * | 2005-11-08 | 2007-09-16 | M2000 | Reconfigurable system with corruption detection and recovery |
US20130166855A1 (en) * | 2011-12-22 | 2013-06-27 | Fusion-Io, Inc. | Systems, methods, and interfaces for vector input/output operations |
TW201413581A (zh) * | 2012-06-15 | 2014-04-01 | Ibm | 於異動處理中儲存/恢復選擇之暫存器 |
US20140331034A1 (en) * | 2013-03-15 | 2014-11-06 | Cyrill C. Ponce | Embedded system boot from a storage device |
CN105009085A (zh) * | 2013-03-18 | 2015-10-28 | 株式会社东芝 | 信息处理系统、控制程序以及信息处理设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI824885B (zh) * | 2022-12-15 | 2023-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置與錯誤回復執行方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190073768A (ko) | 2019-06-27 |
CN109935251B (zh) | 2023-05-05 |
KR102485812B1 (ko) | 2023-01-09 |
US20190188083A1 (en) | 2019-06-20 |
CN109935251A (zh) | 2019-06-25 |
US10929236B2 (en) | 2021-02-23 |
TW201933126A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255739B (zh) | 存储器系统及其操作方法 | |
TWI757371B (zh) | 記憶體系統及其操作方法 | |
TWI783012B (zh) | 記憶體系統、其操作方法以及包括其的資料處理系統 | |
US9927994B2 (en) | Memory system and operating method thereof | |
US10157007B2 (en) | Memory system and operating method thereof | |
CN108268212B (zh) | 控制器及操作方法 | |
US20180074718A1 (en) | Memory system and method for operating the same | |
US10901633B2 (en) | Memory system for increasing a read reclaim count | |
CN110322915B (zh) | 存储器装置及其操作方法 | |
CN110457230B (zh) | 存储器系统及其操作方法 | |
CN110032471B (zh) | 存储器系统及其操作方法 | |
CN110825315B (zh) | 存储器系统、数据处理系统及其操作方法 | |
CN110489271B (zh) | 存储器系统及其操作方法 | |
CN108536622B (zh) | 存储装置、数据处理系统以及操作存储装置的方法 | |
US11397671B2 (en) | Memory system | |
US10235046B2 (en) | Memory system and operating method thereof | |
US20180374552A1 (en) | Memory system and operation method thereof | |
CN110196822B (zh) | 存储器装置、存储器控制器和存储器系统及其操作方法 | |
US20200210295A1 (en) | Memory system and operating method thereof | |
US20200019507A1 (en) | Controller and operating method thereof | |
US20190107945A1 (en) | Controller for controlling one or more memory devices and operation method thereof | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN110890123B (zh) | 数据处理系统及其操作方法 | |
CN110928486B (zh) | 存储器系统及其操作方法 | |
CN108665920B (zh) | 存储器系统及其操作方法 |