TW201915754A - 資料儲存裝置及其操作方法 - Google Patents
資料儲存裝置及其操作方法 Download PDFInfo
- Publication number
- TW201915754A TW201915754A TW107118113A TW107118113A TW201915754A TW 201915754 A TW201915754 A TW 201915754A TW 107118113 A TW107118113 A TW 107118113A TW 107118113 A TW107118113 A TW 107118113A TW 201915754 A TW201915754 A TW 201915754A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- controller
- information update
- valid
- storage device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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
-
- 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
- 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/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
係關於一種資料儲存裝置,包括:具有多個記憶體區域的儲存介質;以及控制器,適於完成突然斷電導致的恢復操作,將恢復完成訊號傳輸至主機裝置以允許主機裝置傳輸操作請求,並且基於其優先順序,對一個或多個記憶體區域執行基於操作請求的第一操作和有效資訊更新操作。
Description
本公開的各個實施例整體係關於一種資料儲存裝置。特別地,實施例係關於一種包括非揮發性記憶體裝置的資料儲存裝置。
記憶體系統回應於寫入請求儲存由外部裝置提供的資料。記憶體系統還可回應於讀取請求將儲存的資料提供給外部裝置。使用記憶體系統的外部裝置的示例包括電腦、數位相機、行動電話等。記憶體系統可被嵌入在外部裝置中,或者可被單獨製造,並且然後連接到外部裝置。
本申請要求於2017年9月14日提交的申請號為10-2017-0117538的韓國申請的優先權,其全部內容透過引用併入本文。
在實施例中,資料儲存裝置可包括:包括多個記憶體區域的儲存介質;以及控制器,適於完成供電後的突然斷電導致的恢復操作,將恢復完成訊號傳輸至主機裝置以允許主機裝置傳輸操作請求,以及基於其優先順序,對一個或多個記憶體區域執行基於操作請求的第一操作和有效資訊更新操作。
在實施例中,用於操作包括具有多個記憶體區域的儲存介質的資料儲存裝置的方法可包括:完成突然斷電導致的恢復操作;將恢復完成訊號傳輸至主機裝置以允許主機裝置傳輸操作請求;以及基於其優先順序,對一個或多個記憶體區域執行基於操作請求的第一操作和有效資訊更新操作。
在實施例中,資料儲存裝置可包括:包括多個記憶體區域的儲存介質;以及控制器,適於完成突然斷電導致的恢復操作,將恢復完成訊號傳輸至主機裝置以允許主機裝置傳輸操作請求,並且對一個或多個記憶體區域執行作為背景操作的有效資訊更新操作。
在實施例中,記憶體系統可包括:儲存介質;以及控制器,適於在突然斷電導致的恢復操作之後,在不執行另一操作的同時,執行對包括在儲存介質的各個記憶體區域中的有效記憶體單元的數量進行計數的有效資訊更新操作。
在下文中,根據本發明的記憶體系統及其操作方法將透過本發明的示例性實施例並參照所附圖式進行描述。然而,本發明可以不同的形式實現,並且不應當被理解為受限於本文所提出的實施例。相反,提供這些實施例詳細地描述本發明,以至於本發明所屬領域的技術人員能夠實施本發明的技術構思。
將理解的是,本發明的實施例不限於圖式所示的細節。圖式不一定按比例繪製,且在一些情況下,為了清楚地示出本發明的特定特徵,可以誇大比例。雖然已經使用了特定術語,但應當理解的是,所使用的術語僅用於描述特定實施例,而不旨在限制本發明的範圍。
將進一步理解的是,當一個元件被稱為「連接至」或「耦接至」另一元件時,它可以直接在其它元件上、連接至或耦接至其它元件或可存在一個或多個中間元件。另外,還將理解的是,當元件被稱為在兩個元件「之間」時,其可以是這兩個元件之間的唯一元件,或者也可存在一個或多個中間元件。
當詞組「…和…中的至少一個」在本文中與項目列表一起使用時,表示列表中的單個項目或清單中項目的任何組合。例如,「A、B和C中的至少一個」是指僅是A或僅是B或僅是C,或A、B和C的任何組合。
如本文使用的,單數形式也旨在包括複數形式,除非上下文另有清楚地說明。將進一步理解的是,當在該說明書中使用術語「包括」、「包括有」、「包含」和「包含有」時,它們指定闡述的元件的存在而不排除一個或多個其它元件的存在或增加。如本文使用的,術語「和/或」包括一個或多個相關的所列項目的任何一個和所有組合。
除非另有定義,否則本文所使用的包括技術術語和科學術語的所有術語具有與本發明所屬領域中具有通常知識者基於本公開通常理解的含義相同的含義。將進一步理解的是,諸如在常用字典中定義的那些術語的術語應當被解釋為具有與其在本公開的上下文中和相關技術中的含義一致的含義,並且將不以理想化或過於正式的意義來解釋,除非本文中明確地這樣定義。
在以下描述中,為了提供本發明的全面理解,闡述了許多具體細節。可以在沒有一些或全部這些具體細節的情況下實施本發明。在其它情況下,為了避免不必要地模糊本發明,未詳細地描述習知的製程結構和/或製程。
還應注意的是,在一些情況下,對於相關領域的技術人員顯而易見的是,除非另有特別說明,否則結合一個實施例描述的也被稱為特徵的元件可以單獨使用或與另一實施例的其它元件結合使用。
在下文中,將參照所附圖式詳細描述本發明的各個實施例。
圖1是示出根據本公開的實施例的資料儲存裝置的方塊圖。
參照圖1,資料儲存裝置100可回應於來自主機裝置(未示出)的寫入請求,儲存從主機裝置提供的資料。而且,資料儲存裝置100可回應於來自主機裝置的讀取請求,將儲存的資料提供給主機裝置。
資料儲存裝置100可由國際個人電腦記憶卡協會(Personal Computer Memory Card International Association, PCMCIA)卡、緊湊型快閃記憶體(Compact Flash, CF)卡、智慧媒體卡、記憶棒、各種多媒體卡(例如,MMC、eMMC、RS-MMC和MMC-Micro)、各種安全數位卡(例如,SD、迷你-SD和微型-SD)、通用快閃記憶體(Universal Flash Storage, UFS)、固態硬碟(Solid State Drive, SSD)等進行配置。
資料儲存裝置100可包括控制器110和儲存介質120。
控制器110可控制資料儲存裝置100的一般操作。控制器110可回應於從主機裝置傳輸的寫入請求而將資料儲存在儲存介質120中,並且可回應於從主機裝置傳輸的讀取請求而讀取儲存在儲存介質120中的資料並將讀取的資料輸出到主機裝置。
控制器110可包括工作記憶體111。工作記憶體111可儲存由控制器110處理的資料。例如,工作記憶體111可儲存每一個記憶體區域MR的有效資訊。記憶體區域的有效資訊可表示記憶體區域中包括的有效記憶體單元的數量。在寫入存取記憶體區域MR時,控制器110可管理工作記憶體111上的各個記憶體區域MR的有效資訊。如以下參照圖3所述,記憶體區域的有效資訊可取決於記憶體區域中包括的記憶體單元的有效性。
當發生突然斷電時,資料儲存裝置100的操作可能被中斷並異常地結束。控制器110可在電力恢復之後的啟動過程中,執行針對突然斷電的恢復操作。例如,透過恢復操作,控制器110可恢復儲存在工作記憶體111中的各種資料。而且,透過恢復操作,控制器110可禁止使用在突然斷電時正被寫入存取的儲存介質120的記憶體單元,或者可對由於突然斷電而可能受到損壞的資料進行備份。
當控制器110執行恢復操作時,主機裝置可不向資料儲存裝置100傳輸操作請求,並且可進行待機。一旦恢復操作完成,控制器110可將恢復完成訊號傳輸至主機裝置以允許主機裝置傳輸操作請求。在從控制器110接收到恢復完成訊號之後,主機裝置可向控制器110傳輸操作請求,例如寫入請求和讀取請求等。因此,恢復操作需快速結束。
控制器110可進一步包括有效資訊更新電路112。有效資訊更新電路112可對記憶體區域MR執行有效資訊更新操作。有效資訊更新電路112可透過有效資訊更新操作來產生記憶體區域MR中的每一個中包括的有效記憶體單元的數量作為有效資訊。
進一步地,有效資訊更新電路112可恢復儲存在工作記憶體111中並且由於突然斷電已經丟失的有效資訊。
在完成恢復操作並且恢復完成訊號被傳輸到主機裝置之後,有效資訊更新電路112可執行作為背景操作的有效資訊更新操作。背景操作可以是為了提高資料儲存裝置100的操作性能而在沒有主機裝置的請求的情況下由控制器110內部執行的操作。
有效資訊更新電路112可執行基於主機裝置的操作請求而執行的基於請求的操作以及基於優先順序的有效資訊更新操作。
詳細地,有效資訊更新操作的優先順序可低於基於請求的操作的優先順序。在這種情況下,有效資訊更新電路112可優先執行基於請求的操作,然後執行有效資訊更新操作。如果在執行有效資訊更新操作的同時傳輸了主機裝置的操作請求,則有效資訊更新電路112可中斷有效資訊更新操作並執行基於請求的操作。在完成基於請求的操作之後,有效資訊更新電路112可恢復所中斷的有效資訊更新操作。
根據實施例,除了基於請求的操作以外,可能存在具有高於有效資訊更新操作的優先順序的背景操作。具有更高優先順序的背景操作可包括例如垃圾收集操作、損耗均衡操作和回收操作,但實施例不限於此。有效資訊更新操作和其它背景操作的優先順序可基於控制器110的設置來確定。
總之,當優先順序比有效資訊更新操作更高的操作未被安排(schedule)時,有效資訊更新電路112可執行有效資訊更新操作。如果在執行有效資訊更新操作的同時安排更高優先順序的操作,則有效資訊更新電路112可中斷有效資訊更新操作並執行具有更高優先順序的操作。在完成更高優先順序的操作之後,有效資訊更新電路112可恢復所中斷的有效資訊更新操作。
有效資訊更新電路112可將透過有效資訊更新操作恢復的有效資訊儲存在儲存介質120中。
將在下文中詳細描述有效資訊更新電路112如何恢復有效資訊(即,記憶體區域MR的每一個中包括的有效記憶體單元的數量)的方法。
控制器110可基於包括在儲存介質120中的記憶體區域MR的有效資訊,選擇待執行垃圾收集操作的一個或多個犧牲記憶體區域。例如,控制器110可選擇包括比預定閾值更少數量的有效記憶體單元的記憶體區域作為犧牲記憶體區域。
進一步地,控制器110可基於儲存介質120中包括的記憶體區域MR的有效資訊來選擇不包括有效記憶體單元的記憶體區域。例如,控制器110可立即抹除並重新使用所選擇的可抹除記憶體區域。
根據控制器110的控制,儲存介質120可儲存從控制器110傳輸的資料,並且可讀取儲存的資料並將讀取的資料傳輸到控制器110。儲存介質120可包括一個或多個非揮發性記憶體裝置。
非揮發性記憶體裝置可包括諸如NAND快閃記憶體或NOR快閃記憶體的快閃記憶體、鐵電隨機存取記憶體(Ferroelectrics Random Access Memory, FeRAM)、相變隨機存取記憶體(Phase-Change Random Access Memory, PCRAM)、磁阻隨機存取記憶體(Magnetoresistive Random Access Memory, MRAM)、電阻式隨機存取記憶體(Resistive Random Access Memory, ReRAM)等。
儲存介質120可包括記憶體區域MR。將參照圖2更詳細地描述記憶體區域MR。
圖2是示出記憶體區域MR1和記憶體區域MR1的物理到邏輯(physical-to-logical, P2L)映射資料塊P2L_MR1的示意圖。圖1的記憶體區域MR中的每一個可以與記憶體區域MR1基本相同的方式進行配置。
參照圖2,記憶體區域MR1可以是例如其中非揮發性記憶體裝置執行抹除操作的單個儲存塊。記憶體區域MR1可以是例如分別包括在多個非揮發性記憶體裝置中的儲存塊。記憶體區域MR1可以是例如分別包括在多個非揮發性記憶體裝置中並由控制器110並行寫入存取的儲存塊。
記憶體區域MR1可包括多個記憶體單元MU11至MU1n。記憶體單元MU例如可以是非揮發性記憶體裝置執行讀取操作的單元。記憶體單元MU例如可以是頁面。
而且,記憶體單元MU可以是針對讀取或程式化操作分配物理位址的單元。記憶體單元MU11至MU1n可分別被分配有物理位址PA11至PA1n。例如,記憶體單元MU11可被分配有物理位址PA11,記憶體單元MU12可被分配有物理位址PA12。
P2L映射資料塊P2L_MR1可包括記憶體區域MR1中包括的各個記憶體單元MU11至MU1n的P2L映射資料。
詳細地,記憶體單元MU11至MU1n中的每一個可對應於其的P2L映射資料。記憶體單元MU的P2L映射資料可包括向其程式化資料或從其讀取資料的記憶體單元MU的邏輯位址和對應的物理位址。在記憶體單元MU的P2L映射資料中,邏輯位址被映射到記憶體單元MU的對應的物理位址。例如,當儲存在記憶體單元MU11中的資料DT1對應於邏輯位址LA1時,記憶體單元MU11的P2L映射資料P2L_MU11可包括被映射到物理位址PA11的邏輯位址LA1。
控制器110可進一步管理邏輯到物理(logical-to-physical, L2P)映射資料L2P。L2P映射資料L2P可包括被映射到邏輯位址的物理位址。例如,邏輯位址LA1的L2P映射資料L2P_LA1可包括被映射到邏輯位址LA1的物理位址PA11。邏輯位址LA1的L2P映射資料L2P_LA1可包括其中儲存了與邏輯位址LA1相對應的資料DT1的記憶體單元MU11的物理位址PA11。
P2L映射資料塊P2L_MR1和L2P映射資料L2P可在工作記憶體111中進行管理。在回應於主機裝置的寫入請求將資料儲存在記憶體區域MR1中的同時,控制器110可產生並更新儲存在工作記憶體111中的P2L映射資料塊P2L_MR1和L2P映射資料L2P。例如,當從主機裝置接收到針對具有邏輯位址LA1的資料DT1的寫入請求時,控制器110可將資料DT1儲存在空的記憶體單元MU11中,然後可產生P2L映射資料P2L_MU11和L2P映射資料L2P_LA1,其中P2L映射資料P2L_MU11包括映射到記憶體單元MU11的物理位址PA11的邏輯位址LA1,L2P映射資料L2P_LA1包括映射到邏輯位址LA1的物理位址PA11。
控制器110可將P2L映射資料塊P2L_MR1和L2P映射資料L2P儲存在儲存介質120中。P2L映射資料塊P2L_MR1可儲存在記憶體區域MR1或另一記憶體區域中的指定記憶體單元中。
圖3是描述透過P2L映射資料P2L_MU11和L2P映射資料L2P_LA1來確定圖2的記憶體單元MU11的有效性的方法的示意圖。
參照圖3,控制器110可透過將P2L映射資料P2L_MU11與L2P映射資料L2P_LA1進行比較來確定記憶體單元MU11是否有效。此時,參照邏輯位址LA1,將L2P映射資料L2P_LA1與P2L映射資料P2L_MU11進行比較。如圖3的C1所示,在L2P映射資料L2P_LA1和P2L映射資料P2L_MU11兩者中,邏輯位址LA1被映射到表示記憶體單元MU11的物理位址PA11時,控制器110可確定記憶體單元MU11有效。
此後,主機裝置可傳輸寫入請求以儲存針對邏輯位址LA1的更新的資料。在這種情況下,在將更新的資料儲存在另一空的記憶體單元MU51的同時,控制器110可產生記憶體單元MU51的P2L映射資料P2L_MU51,使得邏輯位址LA1被映射到表示記憶體單元MU51的物理位址PA51。進一步地,如圖3的C2所示,控制器110可更新L2P映射資料L2P_LA1,使得邏輯位址LA1被映射到記憶體單元MU51的物理位址PA51。
此後,如圖3的C3所示,當控制器110可透過將P2L映射資料P2L_MU11與L2P映射資料L2P_LA1進行比較來確定記憶體單元MU11是否有效時,由於資料更新和邏輯位址LA1的更新(參見圖3中的C2)在L2P映射資料L2P_LA1中邏輯位址LA1未被映射到表示記憶體單元MU11的物理位址PA11,而在記憶體單元MU11的P2L映射資料P2L_MU11中邏輯位址LA1仍被映射到物理位址PA11,因而控制器110可將記憶體單元MU11確定為無效。換言之,因為記憶體單元MU11在邏輯位址LA1更新之前儲存資料,所以可確定記憶體單元MU11為無效記憶體單元。
根據以上參照圖3進行的描述,當執行有效資訊更新操作時,有效資訊更新電路112可確定記憶體區域MR1中包括的各個記憶體單元MU11至MU1n有效還是無效。為此,有效資訊更新電路112可將表示儲存介質120儲存的記憶體區域MR1的P2L映射資料塊P2L_MR1和相關L2P映射資料讀取到工作記憶體111。相關L2P映射資料可以是P2L映射資料塊P2L_MR1中包括的一個或多個邏輯位址的各個L2P映射資料。
有效資訊更新電路112可對記憶體區域中包括的有效記憶體單元進行計數。有效記憶體單元的計數數量可以是記憶體區域的有效資訊。
圖4是描述根據實施例的用於操作資料儲存裝置100的方法的流程圖。
參照圖4,在步驟S110中,當確定已發生突然斷電時,控制器110可執行突然斷電導致的恢復操作。
在步驟S120中,控制器110可將恢復完成訊號傳輸到主機裝置,從而允許主機裝置傳輸操作請求。因此,主機裝置可回應於恢復完成訊號向控制器110傳輸操作請求。
在步驟S130中,有效資訊更新電路112可根據其優先順序來執行基於請求的操作和有效資訊更新操作。有效資訊更新電路112可產生記憶體區域中包括的有效記憶體單元的數量作為記憶體區域的有效資訊。
當有效資訊更新操作的優先順序低於基於請求的操作的優先順序時,有效資訊更新電路112可優先執行基於請求的操作,然後可執行有效資訊更新操作。如果在執行有效資訊更新操作的同時傳輸了主機裝置的操作請求,則有效資訊更新電路112可中斷有效資訊更新操作並執行基於請求的操作。在完成基於請求的操作之後,有效資訊更新電路112可恢復所中斷的有效資訊更新操作。
圖5是示出根據實施例的固態硬碟(SSD)1000的方塊圖。
SSD 1000可包括控制器1100和儲存介質1200。
控制器1100可控制主機裝置1500和儲存介質1200之間的資料交換。控制器1100可包括經由內部匯流排1170可操作地耦接的處理器1110、RAM 1120、ROM 1130、ECC單元1140、主機介面1150和儲存介質介面1160。
處理器1110可控制控制器1100的一般操作。根據來自主機裝置1500的資料處理請求,處理器1110可將資料儲存在儲存介質1200中,並且從儲存介質1200讀取儲存的資料。為有效地管理儲存介質1200,處理器1110可控制SSD 1000的內部操作,例如合併操作、損耗均衡操作等。
RAM 1120可儲存將由處理器1110使用的程式和程式資料。RAM 1120可在將從主機介面1150傳輸的資料傳送至儲存介質1200之前臨時儲存這些資料,並且可在將從儲存介質1200傳輸的資料傳送至主機裝置1500之前臨時儲存這些資料。
ROM 1130可儲存待由處理器1110讀取的程式碼。程式碼可包括待由處理器1110處理的、使處理器1110控制控制器1100的內部單元的指令。
ECC單元1140可對待被儲存在儲存介質1200中的資料進行編碼,並可對從儲存介質1200讀取的資料進行解碼。ECC單元1140可根據ECC演算法檢測並校正資料中存在的錯誤。
主機介面1150可與主機裝置1500交換資料處理請求、資料等。
儲存介質介面1160可將控制訊號和資料傳輸至儲存介質1200。儲存介質介面1160可傳輸來自儲存介質1200的資料。儲存介質介面1160可透過多個通道CH0至CHn與儲存介質1200耦接。
儲存介質1200可包括多個非揮發性記憶體裝置NVM0至NVMn。多個非揮發性記憶體裝置NVM0至NVMn中的每一個可根據控制器1100的控制來執行寫入操作和讀取操作。
圖6是示出根據本公開的實施例的包括資料儲存裝置2300的資料處理系統2000的應用示例的方塊圖。具體地,圖6的資料儲存裝置2300可對應於圖1的資料儲存裝置100。
資料處理系統2000可包括電腦、筆記型電腦、小筆電、智慧型手機、數位TV、數位相機、導航器等。資料處理系統2000可包括主處理器2100、主記憶體裝置2200、資料儲存裝置2300和輸入/輸出裝置2400。資料處理系統2000的內部單元可透過系統匯流排2500交換資料、控制訊號等。
主處理器2100可控制資料處理系統2000的一般操作。例如,主處理器2100可以是諸如微處理器的中央處理單元。主處理器2100可執行主記憶體裝置2200上的作業系統、應用、裝置驅動器等的軟體。
主記憶體裝置2200可儲存待由主處理器2100使用的程式及程式資料。主記憶體裝置2200可臨時儲存待被傳輸至資料儲存裝置2300和輸入/輸出裝置2400的資料。
資料儲存裝置2300可包括控制器2310和儲存介質2320。資料儲存裝置2300、控制器2310和儲存介質2320可以基本類似於圖1所示的資料儲存裝置100、控制器110和儲存介質120的方式進行配置和操作。
輸入/輸出裝置2400可包括鍵盤、掃描器、觸控式螢幕、螢幕顯示器、印表機、滑鼠等,其能夠與使用者交換資料,諸如從使用者接收用於控制資料處理系統2000的指令或向用戶提供處理結果。
根據實施例,資料處理系統2000可透過諸如區域網路(Local Area Network, LAN)、廣域網路(Wide Area Network, WAN)、無線網等的網路2600與至少一個伺服器2700進行通訊。資料處理系統2000可包括網路介面(未示出)以存取網路2600。
儘管上面已經描述了各個實施例,但是本領域技術人員將理解,所描述的實施例僅為示例。因此,本文所描述的資料儲存裝置及其操作方法不應限制為所描述的實施例。
100‧‧‧資料儲存裝置
110‧‧‧控制器
111‧‧‧工作記憶體
112‧‧‧有效資訊更新電路
120‧‧‧儲存介質
1000‧‧‧固態硬碟
1100‧‧‧控制器
1110‧‧‧處理器
1120‧‧‧RAM
1130‧‧‧ROM
1140‧‧‧ECC單元
1150‧‧‧主機介面
1160‧‧‧儲存介質介面
1170‧‧‧內部匯流排
1200‧‧‧儲存介質
1500‧‧‧主機裝置
2000‧‧‧資料處理系統
2100‧‧‧主處理器
2200‧‧‧主記憶體裝置
2300‧‧‧資料儲存裝置
2310‧‧‧控制器
2320‧‧‧儲存介質
2400‧‧‧輸入/輸出裝置
2500‧‧‧系統匯流排
2600‧‧‧網路
2700‧‧‧伺服器
CH0~CHn‧‧‧通道
DT1‧‧‧資料
LA1‧‧‧邏輯位址
L2P‧‧‧邏輯到物理映射資料
L2P_LA1‧‧‧L2P映射資料
MR‧‧‧記憶體區域
MR1‧‧‧記憶體區域
MU‧‧‧記憶體單元
MU11~MU1n‧‧‧記憶體單元
MU51‧‧‧記憶體單元
NVM0~NVMn‧‧‧非揮發性記憶體裝置
PA11~PA1n‧‧‧物理位址
PA51‧‧‧物理位址
P2L_MR1‧‧‧P2L映射資料塊
P2L_MU11‧‧‧P2L映射資料
P2L_MU51‧‧‧P2L映射資料
S110~S130‧‧‧步驟
透過參照所附圖式描述本發明的各個實施例,本發明的上述和其它特徵及優點對本發明所屬領域的技術人員將變得更加顯而易見,其中: [圖1]是示出根據實施例的資料儲存裝置的方塊圖。 [圖2]是示出記憶體區域和記憶體區域的P2L映射資料塊的示意圖。 [圖3]是描述透過P2L映射資料和L2P映射資料來確定[圖2]的記憶體單元的有效性的方法的示意圖。 [圖4]是描述根據實施例的用於操作資料儲存裝置的方法的流程圖。 [圖5]是示出根據實施例的固態硬碟(SSD)的方塊圖。 [圖6]是示出包括根據本發明的實施例的資料儲存裝置的資料處理系統的應用示例的方塊圖。
Claims (18)
- 一種資料儲存裝置,其包括: 儲存介質,其包括多個記憶體區域;以及 控制器,其適於完成突然斷電導致的恢復操作,將恢復完成訊號傳輸至主機裝置以允許所述主機裝置傳輸操作請求,並且基於其優先順序,對一個或多個記憶體區域執行基於所述操作請求的第一操作和有效資訊更新操作。
- 如請求項1所述的資料儲存裝置,其中所述有效資訊更新操作的優先順序低於所述第一操作的優先順序。
- 如請求項1所述的資料儲存裝置,其中當沒有安排其優先順序比所述有效資訊更新操作的優先順序更高的第二操作時,所述控制器執行所述有效資訊更新操作,並且當在執行所述有效資訊更新操作的同時安排所述第二操作時,所述控制器中斷所述有效資訊更新操作並在完成所述第二操作之後恢復所中斷的有效資訊更新操作。
- 如請求項1所述的資料儲存裝置,其中所述控制器透過所述有效資訊更新操作,更新記憶體區域中包括的多個記憶體單元之中的有效記憶體單元的數量,作為所述記憶體區域的有效資訊。
- 如請求項1所述的資料儲存裝置,其中所述控制器恢復儲存在所述控制器的工作記憶體中由於突然斷電而丟失的有效資訊。
- 如請求項4所述的資料儲存裝置,其中所述控制器在所述記憶體單元的物理到邏輯(P2L)映射資料中確定被映射到包括在所述記憶體區域中的記憶體單元的物理位址的邏輯位址,在所述邏輯位址的邏輯到物理(L2P)映射資料中確定被映射到所述邏輯位址的物理位址,並且透過將所述記憶體單元的物理位址與被映射到所述邏輯位址的物理位址進行比較,來確定所述記憶體單元為有效記憶體單元。
- 如請求項1所述的資料儲存裝置,其中所述控制器基於包括在所述儲存介質中的多個記憶體區域中的每一個的有效資訊,來選擇所述多個記憶體區域之中待執行垃圾收集操作的一個或多個犧牲記憶體區域。
- 如請求項1所述的資料儲存裝置,其中在完成所述恢復操作並且所述恢復完成訊號被傳輸到所述主機裝置之後,所述控制器執行作為背景操作的所述有效資訊更新操作。
- 如請求項7所述的資料儲存裝置,其中所述背景操作在沒有所述主機裝置的請求的情況下由所述控制器內部執行。
- 如請求項1所述的資料儲存裝置,其中所述控制器基於所述儲存介質中包括的所述多個記憶體區域中的每一個的有效資訊,來選擇所述多個記憶體區域之中的一個或多個可抹除記憶體區域, 其中所述控制器立即抹除並重新使用所選擇的可抹除記憶體區域。
- 一種資料儲存裝置,其包括: 儲存介質,其包括多個記憶體區域;以及 控制器,其適於完成突然斷電導致的恢復操作,將恢復完成訊號傳輸至主機裝置以允許所述主機裝置傳輸操作請求,並且對一個或多個記憶體區域執行作為背景操作的有效資訊更新操作。
- 如請求項11所述的資料儲存裝置,其中當沒有安排其優先順序比所述有效資訊更新操作的優先順序更高的第一操作時,所述控制器執行所述有效資訊更新操作,並且當在執行所述有效資訊更新操作的同時安排所述第一操作時,所述控制器中斷所述有效資訊更新操作並在執行所述第一操作之後恢復所中斷的有效資訊更新操作。
- 如請求項11所述的資料儲存裝置,其中所述控制器透過所述有效資訊更新操作,更新包括在記憶體區域中的多個記憶體單元之中的所述有效記憶體單元的數量,作為所述記憶體區域的有效資訊。
- 如請求項13所述的資料儲存裝置,其中所述控制器在所述記憶體單元的P2L映射資料中確定被映射到包括在所述記憶體區域中的記憶體單元的物理位址的邏輯位址,在所述邏輯位址的L2P映射資料中確定被映射到所述邏輯位址的物理位址,並且透過將所述記憶體單元的物理位址與被映射到所述邏輯位址的物理位址進行比較,來確定所述記憶體單元為有效記憶體單元。
- 如請求項11所述的資料儲存裝置,其中所述控制器基於包括在所述儲存介質中的多個記憶體區域中的每一個的有效資訊,來選擇所述多個記憶體區域之中待執行垃圾收集操作的一個或多個犧牲記憶體區域。
- 一種記憶體系統,其包括: 儲存介質;以及 控制器,其適於在突然斷電導致的恢復操作之後,在不執行另一操作的同時,執行對包括在所述儲存介質的各個記憶體區域中的有效記憶體單元的數量進行計數的有效資訊更新操作。
- 如請求項16所述的記憶體系統,其中執行有效資訊更新操作包括透過將在表示記憶體單元的物理到邏輯映射資料與邏輯位址的邏輯到物理映射資料之間的被映射到所述邏輯位址的物理位址進行比較,來確定所述記憶體單元有效或無效。
- 如請求項16所述的記憶體系統,所述控制器進一步適於控制所述儲存介質以對根據有效記憶體單元的數量所選擇的一個或多個犧牲記憶體區域執行垃圾收集操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170117538A KR20190030790A (ko) | 2017-09-14 | 2017-09-14 | 데이터 저장 장치 및 그것의 동작 방법 |
??10-2017-0117538 | 2017-09-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201915754A true TW201915754A (zh) | 2019-04-16 |
Family
ID=65632202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107118113A TW201915754A (zh) | 2017-09-14 | 2018-05-28 | 資料儲存裝置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190079830A1 (zh) |
KR (1) | KR20190030790A (zh) |
CN (1) | CN109508142A (zh) |
TW (1) | TW201915754A (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI677790B (zh) * | 2017-11-16 | 2019-11-21 | 深圳大心電子科技有限公司 | 有效資料管理方法以及儲存控制器 |
KR20190092054A (ko) * | 2018-01-30 | 2019-08-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI704456B (zh) * | 2018-11-22 | 2020-09-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料存取方法 |
US10789015B2 (en) * | 2019-03-01 | 2020-09-29 | Micron Technology, Inc. | Background operations in memory |
TWI744049B (zh) * | 2020-02-06 | 2021-10-21 | 瑞昱半導體股份有限公司 | 記憶體控制器與資料處理方法 |
CN113971091B (zh) * | 2021-10-25 | 2024-05-14 | 重庆大学 | 一种考虑制程差异的持久内存的分配方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181611B2 (en) * | 2002-10-28 | 2007-02-20 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
US8200885B2 (en) * | 2007-07-25 | 2012-06-12 | Agiga Tech Inc. | Hybrid memory system with backup power source and multiple backup an restore methodology |
US8904161B2 (en) * | 2010-10-20 | 2014-12-02 | Samsung Electronics Co., Ltd. | Memory system and reset method thereof to prevent nonvolatile memory corruption due to premature power loss |
US8527544B1 (en) * | 2011-08-11 | 2013-09-03 | Pure Storage Inc. | Garbage collection in a storage system |
CN103336744B (zh) * | 2013-06-20 | 2015-11-04 | 华中科技大学 | 一种固态存储设备的垃圾回收方法及其系统 |
CN105867844B (zh) * | 2016-03-28 | 2019-01-25 | 北京联想核芯科技有限公司 | 一种命令控制方法及存储设备 |
-
2017
- 2017-09-14 KR KR1020170117538A patent/KR20190030790A/ko unknown
-
2018
- 2018-04-20 US US15/958,889 patent/US20190079830A1/en not_active Abandoned
- 2018-05-28 TW TW107118113A patent/TW201915754A/zh unknown
- 2018-06-20 CN CN201810638008.9A patent/CN109508142A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20190030790A (ko) | 2019-03-25 |
US20190079830A1 (en) | 2019-03-14 |
CN109508142A (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201915754A (zh) | 資料儲存裝置及其操作方法 | |
US9940045B2 (en) | Address mapping table recovery upon power failure | |
US9996297B2 (en) | Hot-cold data separation method in flash translation layer | |
TWI735918B (zh) | 用來進行記憶裝置的存取管理之方法、記憶裝置及其控制器、主裝置以及電子裝置 | |
US10621087B2 (en) | Operating method of data storage device | |
CN108108261B (zh) | 数据存储装置及其操作方法 | |
US11392309B2 (en) | Memory system for performing migration operation and operating method thereof | |
US11354250B2 (en) | Apparatus for transmitting map information in memory system | |
CN110806837A (zh) | 数据处理系统及其操作方法 | |
CN105808444A (zh) | 存储装置及非易失性存储器的控制方法 | |
KR20210030599A (ko) | 데이터를 분산 리드할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 | |
KR20210051873A (ko) | 컨트롤러 및 메모리 시스템 | |
US10310983B2 (en) | Data storage device and operating method thereof | |
TW201732533A (zh) | 資料儲存裝置及其操作方法 | |
US20200042243A1 (en) | Memory system and operation method for the same | |
KR20170093370A (ko) | 데이터 저장 장치 | |
US11392310B2 (en) | Memory system and controller | |
US11460906B2 (en) | Electronic device and operation method thereof | |
CN108509295B (zh) | 存储器系统的操作方法 | |
US11182290B2 (en) | Data storage device and operating method thereof for performing a garbage collection operation in consideration of a lifetime of a nonvolatile memory device | |
US20190171393A1 (en) | Semiconductor device | |
TWI810095B (zh) | 資料儲存裝置與寫入緩存器管理方法 | |
US11275694B2 (en) | Memory system and method of operating method thereof | |
US11960411B2 (en) | Apparatus for transmitting map information in memory system | |
KR102702680B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 |