[go: up one dir, main page]

TWI639112B - 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法 - Google Patents

儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法 Download PDF

Info

Publication number
TWI639112B
TWI639112B TW105107810A TW105107810A TWI639112B TW I639112 B TWI639112 B TW I639112B TW 105107810 A TW105107810 A TW 105107810A TW 105107810 A TW105107810 A TW 105107810A TW I639112 B TWI639112 B TW I639112B
Authority
TW
Taiwan
Prior art keywords
data
spare
block
spare blocks
control unit
Prior art date
Application number
TW105107810A
Other languages
English (en)
Other versions
TW201732531A (zh
Inventor
林志明
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW105107810A priority Critical patent/TWI639112B/zh
Priority to CN201610371108.0A priority patent/CN107193485B/zh
Priority to US15/396,784 priority patent/US10120611B2/en
Publication of TW201732531A publication Critical patent/TW201732531A/zh
Priority to US16/142,994 priority patent/US20190026045A1/en
Application granted granted Critical
Publication of TWI639112B publication Critical patent/TWI639112B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種儲存裝置及其控制單元,以及一種可用於儲存裝置的資料儲存方法。所述儲存裝置包括有資料儲存媒體與控制單元。資料儲存媒體具有備用區塊池,備用區塊池具有多個備用區塊,且每一備用區塊皆具有多個資料頁。控制單元接收來自主機之資料,並判斷此資料是否為連續資料。當判斷為是時,控制單元分別寫入上述資料至至少二個備用區塊。當判斷為否時,控制單元分別寫入上述資料至其中一備用區塊的至少二個資料頁。

Description

儲存裝置及其控制單元、可用於儲存裝置的資料儲存方 法
本發明是有關於資料儲存的相關技術,尤其是一種儲存裝置及其控制單元,以及一種可用於儲存裝置的資料儲存方法。
一般而言,儲存裝置主要由控制單元與資料儲存媒體(例如是快閃記憶體)所構成,其中資料儲存媒體具有多個資料區塊(data block),每一資料區塊具有多個資料頁(page),而控制單元電性耦接資料儲存媒體,以對上述資料區塊的資料頁進行資料之寫入、讀取或抹除動作。
然而,由於儲存裝置會因為頻繁的抺除動作、製程上的缺陷、隨著時間增長而導致的老化等因素而產生資料保存的問題。因此,在執行資料寫入操作後,儲存裝置的控制單元會利用錯誤校正碼(error correcting code,ECC)來對儲存裝置所儲存的資料進行資料的糾錯與修正操作。然而,錯誤校正碼的修正能力有一定的限制(例如,60位元),當資料頁所儲存的資料的錯誤位元數超過60位元時,超出了錯誤校正碼的修正能力而發生錯誤校正碼失效的問題,這將導致儲存裝置所儲存的資料喪失有效性。
本發明提供一種儲存裝置,其在執行資料寫入操作時會複製一份相同的資料,以在有其中一份資料發生錯誤校正碼失效時能選擇儲存未發生錯誤校正碼失效的另一份資料,或是針對二份皆有發生錯誤校正碼失效的資料進行資料頁的整併而合成一份未發生錯誤校正碼失效的資料,進而避免資料遺失的問題。
本發明另提供一種儲存裝置的控制單元,其在執行資料寫入操作時會複製一份相同的資料,以在有其中一份資料發生錯誤校正碼失效時能選擇儲存未發生錯誤校正碼失效的另一份資料,或是針對二份皆有發生錯誤校正碼失效的資料進行資料頁的整併而合成一份未發生錯誤校正碼失效的資料,進而避免資料遺失的問題。
本發明再提供一種可用於儲存裝置的資料儲存方法,其使得儲存裝置的控制單元在執行資料寫入操作時會複製一份相同的資料,以在有其中一份資料發生錯誤校正碼失效時能選擇儲存未發生錯誤校正碼失效的另一份資料,或是針對二份皆有發生錯誤校正碼失效的資料進行資料頁的整併而合成一份未發生錯誤校正碼失效的資料,進而避免資料遺失的問題。
本發明提出一種儲存裝置,其包括有資料儲存媒體與控制單元。資料儲存媒體具有備用區塊池,而此備用區塊池用以存放多個備用區塊,且每一備用區塊皆具有多個資料頁。控制單元電性耦接資料儲存媒體,且控制單元接收並判斷來自於主機之資料是否為連續資料。當判斷為是時,控制單元分別寫入上述資料至至少二個備用區塊。而當判斷為否時,控制單元分別寫入上述資料至其中一備用區塊的至少 二個資料頁。
本發明另提出一種控制單元,其包括有控制邏輯與微處理器。控制邏輯電性耦接資料儲存媒體,所述資料儲存媒體具有備用區塊池,而此備用區塊池用以存放多個備用區塊,且每一備用區塊皆具有多個資料頁。微處理器電性耦接控制邏輯,且微處理器用以接收並判斷來自於主機之資料是否為連續資料。當判斷為是時,微處理器透過控制邏輯分別寫入上述資料至至少二個備用區塊。而當判斷為否時,微處理器透過控制邏輯分別寫入上述資料至其中一備用區塊的至少二個資料頁。
本發明再提出一種可用於儲存裝置的資料儲存方法,其包括下列步驟:接收來自主機之資料;判斷此資料是否為連續資料;當判斷為是時,分別寫入上述資料至至少二個備用區塊,其中上述至少二個備用區塊係選自於備用區塊池之複數備用區塊且每一備用區塊皆具有多個資料頁;以及當判斷為否時,分別寫入上述資料至備用區塊池之其中一備用區塊的至少二個資料頁。
本發明係使儲存裝置在執行資料寫入操作時,採用上述方式來複製一份相同的資料,因此可以在有其中一份資料發生錯誤校正碼失效時能選擇儲存未發生錯誤校正碼失效的另一份資料,或是針對二份皆有發生錯誤校正碼失效的資料進行資料頁的整併而合成一份未發生錯誤校正碼失效的資料,進而避免資料遺失的問題。
100‧‧‧儲存裝置
110‧‧‧控制單元
112‧‧‧介面邏輯
114‧‧‧微處理器
116‧‧‧控制邏輯
120‧‧‧資料儲存媒體
130‧‧‧資料區塊池
131~M‧‧‧資料區塊
140‧‧‧備用區塊池
141~K‧‧‧備用區塊
P1~PN‧‧‧資料頁
S201~S204‧‧‧步驟
圖1為依照本發明一實施例之儲存裝置的電路方塊圖; 圖2為依照本發明一實施例之一種可用於儲存裝置之資料儲存方法的流程圖。
圖1為依照本發明一實施例之儲存裝置的電路方塊圖。如圖1所示,儲存裝置100主要包括有控制單元110與資料儲存媒體120。資料儲存媒體120具有資料區塊池(data block pool)130與備用區塊池(spare block pool)140。備用區塊池140用以存放未寫入任何資料之備用區塊(如標示141~K所示,其中K為自然數)。備用區塊寫滿資料後將形成資料區塊(如標示131~M所示,其中M為自然數),並被移至資料區塊池130。在執行垃圾回收(garbage collection)之程序時,數個資料區塊的資料將被寫入至一個備用區塊,並於抺除動作後,又變回了備用區塊並被移至備用區塊池140;而寫入資料的備用區塊將形成資料區塊並被移至資料區塊池130。可想而知地,備用區塊141~K及資料區塊131~M皆為資料區塊在邏輯上之定義,使用者可依實際之需求而增加或減少資料區塊在邏輯上之定義。而如圖1所示,每一資料區塊皆具有多個資料頁(如標示P1~PN所示,其中N亦為自然數)。在此例中,資料儲存媒體120包括以非揮發性記憶體來實現,例如是以快閃記憶體(Flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)等具有長時間資料保存之記憶體裝置來實現。
請繼續參照圖1。控制單元110係電性耦接資料儲存媒體120,並用以控制資料儲存媒體120的操作(例如進行資料的存取或抹除)。在此例中,控制單元110包括有介面邏輯112、微處理器114與控制邏輯116。微處理器114係電性耦接介面邏輯112,用以透過介面邏輯112接收來自主機(例 如是電腦、手機、數位相機等具運算功能的電子裝置,未繪示)之命令或資料,例如:寫入命令、讀取命令、抺除命令等。此外,微處理器114還透過控制邏輯116電性耦接資料儲存媒體120,並用以透過控制邏輯116對資料儲存媒體120進行資料之存取,或進行資料之抹除。
在此例中,當接收到來自於主機的寫入命令以及欲寫入的資料時,微處理器114就會去判斷此資料是否為連續資料。所謂的連續資料即表示其所對應的多個邏輯區塊位址(logic block address,LBA)為依序接續。另外,連續資料的判斷不需以依序接續的二個邏輯區塊位址為準,可以依使用者所需而予以設定。例如,當其設定值為四時,唯有欲寫入的資料的依序接續邏輯區塊位址超過四時,微處理器114才判斷其為連續資料,否則,仍不視為連續資料。接著,微處理器114會依據判斷結果來選擇不同的資料儲存方式。
當判斷為否時,微處理器114就會透過控制邏輯116自備用區塊池140中挑選出一個備用區塊,並透過控制邏輯116而在挑選出的這個備用區塊的二個資料頁中皆寫入上述資料。舉例來說,微處理器114可以是透過控制邏輯116自備用區塊池140中挑選出備用區塊141,並在備用區塊141的資料頁P1中寫入上述資料,以及在備用區塊141的資料頁P2中寫入同樣的資料。換句話說,一份資料還有其備份皆儲存至同一個備用區塊141中。圖示中資料頁P1與資料頁P2為相鄰的二個資料頁,此為較佳的實施方式。然而,資料頁P1與資料頁P2也可為不相鄰的二個資料頁,微處理器114可依據一方程式或亂數產生器來決定資料頁的位置,但不以此為限。另外,備份的數量可以大於一。例如,微處理器114於備用區塊141的其他資料頁,例如,資料頁P3,寫入同樣的資料。如此一來,一份資料以及二份備份皆儲存至同一個 備用區塊141中。
另外,備用區塊141可為備用區塊池140中抺除次數最少或者最久未執行抺除動作者,以符合耗損平均(wear leveling)之管理。
反之,當判斷為是時,微處理器114便透過控制邏輯116自備用區塊池140中挑選出二個備用區塊,並透過控制邏輯116而在挑選出的每一備用區塊中皆寫入上述資料。舉例來說,微處理器114可以是透過控制邏輯116自備用區塊池140中挑選出備用區塊142與143,並自備用區塊142的資料頁P1寫入上述資料,以及自備用區塊143的資料頁P1寫入同樣的資料。
當上述的二個備用區塊寫滿資料時(即所有的資料頁皆寫入資料),微處理器114就會啟動資料確認(verification)之程序,即利用錯誤校正碼來對這二個備用區塊中的每一個資料頁進行資料的糾錯與修正操作,當任何一個備用區塊的任一資料頁有錯誤校正碼失效的問題,則此備用區塊即存在錯誤校正碼失效的問題。並依是否有錯誤校正碼失效的問題來決定是否對這二個備用區塊進行資料整併。另外,為了特定的目的,微處理器114可主動地對備用區塊的未寫入資料的資料頁填入虛置資料(dummy data),使備用區塊寫滿資料而進入啟動資料確認程序。
當執行資料確認程序而微處理器114判斷上述這二個備用區塊皆沒有發生錯誤校正碼失效的問題,或是判斷只有一個備用區塊有發生錯誤校正碼失效的問題時,那麼微處理器114就會透過控制邏輯116將沒有發生錯誤校正碼失效的問題的其中一個備用區塊變更為資料區塊,並存放至資料區塊池130中,而剩下的另一個備用區塊則被回收,即抹除資料並存放回備用區塊池140中。
以前述微處理器114所挑選出的備用區塊142與143為例,假設備用區塊142與143皆已寫滿資料,且其中只有備用區塊142有發生錯誤校正碼失效的問題,而備用區塊143沒有發生錯誤校正碼失效的問題時,那麼微處理器114就會透過控制邏輯116將備用區塊143變更為資料區塊並存放至資料區塊池130中。此外,微處理器114還會透過控制邏輯116抹除備用區塊142中的所有資料並存回備用區塊池140中。
另外,當執行資料確認程序而微處理器114判斷上述的二個備用區塊皆有發生錯誤校正碼失效的問題時,就會透過控制邏輯116自備用區塊池140中再挑選出一個備用區塊(命名為第三備用區塊),並將上述這二個已寫滿資料的備用區塊中之沒有發生錯誤校正碼失效的資料頁的資料儲存至第三備用區塊的資料頁中,並在第三備用區塊寫滿資料並通過資料確認後將其變更為資料區塊,並存放至資料區塊池130中,最後,將上述這二個備用區塊在抹除其資料後存放回備用區塊池140中。
再以前述微處理器114所挑選出的備用區塊142與143為例,假設備用區塊142與143皆已寫滿資料,且備用區塊142資料頁P1及PN有發生錯誤校正碼失效的問題,備用區塊143的資料頁P1及PN並無錯誤校正碼失效的問題;備用區塊143的資料頁P2及PN-1有發生錯誤校正碼失效的問題,備用區塊142的資料頁P2及PN-1並無錯誤校正碼失效的問題。那麼微處理器114就會透過控制邏輯116自備用區塊池140中挑選出一個備用區塊以作為第三備用區塊,例如是挑選出備用區塊144,以將備用區塊142的資料頁P2~PN-1以及備用區塊143的資料頁P1及PN的資料儲存至備用區塊144中。於資料確認的程序中,微處理器114更可 以於資料儲存至備用區塊144後,重新確認資料頁之資料,以確保資料已正確地儲存至備用區塊144中。如果有資料頁亦存在錯誤校正碼失效的問題,則微處理器114透過控制邏輯116自備用區塊池140中再挑選出另一個備用區塊作為第三備用區塊,並重新上述步驟。當資料的準確性完成確認後,微處理器114就會透過控制邏輯116將備用區塊144變更為資料區塊並存放至資料區塊池130中。此外,微處理器114還會透過控制邏輯116抹除備用區塊142與143並存回備用區塊池140中,完成資料確認之程序。
藉由上述教示,本領域具有通常知識者當可歸納出一種可用於儲存裝置之資料儲存方法的一些基本操作步驟,如圖2所示。圖2即為依照本發明一實施例之一種可用於儲存裝置之資料儲存方法的流程圖。請參照圖2,此方法包括有下列步驟:首先,接收來自主機之資料(如步驟S201所示);接著,判斷此資料是否為連續資料(如步驟S202所示);接下來,當判斷為是時,分別寫入上述資料至至少二個備用區塊,其中上述至少二個備用區塊係選自於備用區塊池且每一備用區塊皆具有多個資料頁(如步驟S203所示);反之,當判斷為否時,分別寫入上述資料至備用區塊池之其中一備用區塊的至少二個資料頁(如步驟S204所示)。
綜上所述,本發明係使儲存裝置在執行資料寫入操作時,採用上述方式來複製一份相同的資料,因此可以在有其中一份資料發生錯誤校正碼失效時能選擇儲存未發生錯誤校正碼失效的另一份資料,或是針對二份皆有發生錯誤校正碼失效的資料進行資料頁的整併而合成一份未發生錯誤校正碼失效的資料,進而避免資料遺失的問題。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精 神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (15)

  1. 一種儲存裝置,其包括:一資料儲存媒體,具有一備用區塊池,該備用區塊池具有多個備用區塊,每一備用區塊皆具有多個資料頁;以及一控制單元,電性耦接該資料儲存媒體,該控制單元接收並判斷來自於一主機之一資料是否為一連續資料,當判斷為是時,該控制單元自該備用區塊池中挑選出至少二個備用區塊並同時寫入該資料至所挑選出之該些備用區塊;當判斷為否時,該控制單元同時地分別寫入該資料至該些備用區塊其中之一的至少二該些資料頁。
  2. 如申請專利範圍第1項所述之儲存裝置,其中該連續資料所對應的多個邏輯區塊位址為依序接續。
  3. 如申請專利範圍第1項所述之儲存裝置,其中當至少二該些備用區塊寫滿資料時,該控制單元對至少二該些備用區塊進行一資料確認程序。
  4. 如申請專利範圍第3項所述之儲存裝置,其中當進行該資料確認時,至少二該些備用區塊中沒有發生一錯誤校正碼失效問題的其中一個將變更為一資料區塊。
  5. 如申請專利範圍第3項所述之儲存裝置,其中當進行該資料確認時,該控制單元判斷至少二該些備用區塊皆有發生一錯誤校正碼失效的問題時,將至少二該些備用區塊中沒有發生該錯誤校正碼失效的該等資料頁之資料儲存至一第三備用區塊。
  6. 一種控制單元,其包括:一控制邏輯,電性耦接一資料儲存媒體,該資料儲存媒 體具有一備用區塊池,該備用區塊池用以存放多個備用區塊,其中每一備用區塊皆具有多個資料頁;以及一微處理器,電性耦接該控制邏輯,該微處理器用以接收判斷來自於一主機之一資料是否為一連續資料,當判斷為是時,該微處理器透過該控制邏輯自該備用區塊池中挑選出至少二個備用區塊並同時寫入該資料至所挑選出之該些備用區塊,而當判斷為否時,該微處理器透過該控制邏輯同時地分別寫入該資料至該些備用區塊其中之一的至少二該些資料頁。
  7. 如申請專利範圍第6項所述之控制單元,其中該連續資料所對應的多個邏輯區塊位址為依序接續。
  8. 如申請專利範圍第6項所述之控制單元,其中當至少二該些備用區塊寫滿資料時,該微處理器對至少二個該些備用區塊進行一資料確認程序。
  9. 如申請專利範圍第8項所述之控制單元,其中當該微處理器進行該資料確認時,至少二該些備用區塊中沒有發生一錯誤校正碼失效問題的其中一個將變更為一資料區塊。
  10. 如申請專利範圍第8項所述之控制單元,其中當該微處理器判斷至少二該些備用區塊皆有發生一錯誤校正碼失效的問題時,將至少二該些備用區塊中沒有發生該錯誤校正碼失效的該等資料頁之資料儲存至一第三備用區塊。
  11. 一種可用於儲存裝置的資料儲存方法,其包括:接收來自於一主機之一資料;判斷該資料是否為一連續資料;當判斷為是時,自一備用區塊池中挑選出至少二個備用區塊並同時寫入該資料至所挑選出之該些備用區塊,其中每 一備用區塊具有多個資料頁;以及當判斷為否時,同時地分別寫入該資料至該備用區塊池之該些備用區塊其中之一的至少二該些資料頁。
  12. 如申請專利範圍第11項所述之可用於儲存裝置的資料儲存方法,其中該連續資料所對應的多個邏輯區塊位址為依序接續。
  13. 如申請專利範圍第11項所述之可用於儲存裝置的資料儲存方法,其更包括:當至少二該些備用區塊寫滿資料時,對至少二該些備用區塊進行一資料確認程序。
  14. 如申請專利範圍第13項所述之可用於儲存裝置的資料儲存方法,其中當進行該資料確認時,至少二該些備用區塊中沒有發生一錯誤校正碼失效問題的其中一個變更為一資料區塊。
  15. 如申請專利範圍第13項所述之可用於儲存裝置的資料儲存方法,其中當進行該資料確認時,判斷至少二該些備用區塊皆有發生一錯誤校正碼失效的問題時,將至少二該些備用區塊中沒有發生該錯誤校正碼失效的該等資料頁之資料儲存至一第三備用區塊。
TW105107810A 2016-03-14 2016-03-14 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法 TWI639112B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW105107810A TWI639112B (zh) 2016-03-14 2016-03-14 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
CN201610371108.0A CN107193485B (zh) 2016-03-14 2016-05-30 储存装置、其控制单元、及可用于储存装置的数据储存方法
US15/396,784 US10120611B2 (en) 2016-03-14 2017-01-02 Storage device and data control method for storage error control
US16/142,994 US20190026045A1 (en) 2016-03-14 2018-09-26 Storage Device and Data Control Method for Storage Error Control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105107810A TWI639112B (zh) 2016-03-14 2016-03-14 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法

Publications (2)

Publication Number Publication Date
TW201732531A TW201732531A (zh) 2017-09-16
TWI639112B true TWI639112B (zh) 2018-10-21

Family

ID=59786722

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105107810A TWI639112B (zh) 2016-03-14 2016-03-14 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法

Country Status (3)

Country Link
US (2) US10120611B2 (zh)
CN (1) CN107193485B (zh)
TW (1) TWI639112B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI639112B (zh) * 2016-03-14 2018-10-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
US11922047B2 (en) * 2021-09-16 2024-03-05 EMC IP Holding Company LLC Using RPO as an optimization target for DataDomain garbage collection
US11809331B1 (en) * 2022-05-25 2023-11-07 Western Digital Technologies, Inc. Storage system and method for avoiding header to improve parity

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201314698A (zh) 2011-07-28 2013-04-01 Sandisk Technologies Inc 具有使用多頁之結合驗證之加速寫入後讀取之非揮發性記憶體及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI398770B (zh) * 2008-07-08 2013-06-11 Phison Electronics Corp 用於快閃記憶體的資料存取方法、儲存系統與控制器
CN101576966A (zh) * 2009-06-02 2009-11-11 中兴通讯股份有限公司 一种读写存储卡的方法及装置
JP5404483B2 (ja) * 2010-03-17 2014-01-29 株式会社東芝 メモリシステム
US9218242B2 (en) * 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9690482B2 (en) * 2014-11-03 2017-06-27 Arm Limited Data storage organisation technique
TWI519951B (zh) * 2014-11-03 2016-02-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
JP2017045405A (ja) * 2015-08-28 2017-03-02 株式会社東芝 メモリシステム
CN105260270B (zh) * 2015-11-11 2018-12-11 恒宝股份有限公司 一种Flash存储空间的动态恢复方法及装置
TWI639112B (zh) * 2016-03-14 2018-10-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201314698A (zh) 2011-07-28 2013-04-01 Sandisk Technologies Inc 具有使用多頁之結合驗證之加速寫入後讀取之非揮發性記憶體及方法

Also Published As

Publication number Publication date
CN107193485A (zh) 2017-09-22
TW201732531A (zh) 2017-09-16
US20190026045A1 (en) 2019-01-24
US20170262219A1 (en) 2017-09-14
CN107193485B (zh) 2020-07-31
US10120611B2 (en) 2018-11-06

Similar Documents

Publication Publication Date Title
US10255192B2 (en) Data storage device and data maintenance method thereof
CN105701021B (zh) 数据储存装置及其数据写入方法
US9274887B2 (en) Non-regular parity distribution detection via metadata tag
TWI527037B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
TWI645404B (zh) 資料儲存裝置以及非揮發式記憶體操作方法
CN110895514A (zh) 映射表更新方法
US20090089484A1 (en) Data protection method for power failure and controller using the same
US10446252B2 (en) Data storage device and method for data error management
TWI633428B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
CN112099985B (zh) 数据储存装置以及非挥发式存储器控制方法
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US20100318726A1 (en) Memory system and memory system managing method
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
TWI639112B (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
CN106155582A (zh) 非挥发性储存装置与控制器
TWI521346B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TWI639113B (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
US11467903B2 (en) Memory system and operating method thereof
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
US20210248064A1 (en) Data processing method and memory controller utilizing the same
CN102956267B (zh) 存储器编程方法及应用其的闪存装置
Firmware et al. A Beginner’s Guide to SSD Firmware
TW201310236A (zh) 記憶體編程方法及應用其之快閃記憶體裝置