TWI556254B - 資料儲存裝置及其資料存取方法 - Google Patents

資料儲存裝置及其資料存取方法 Download PDF

Info

Publication number
TWI556254B
TWI556254B TW103135459A TW103135459A TWI556254B TW I556254 B TWI556254 B TW I556254B TW 103135459 A TW103135459 A TW 103135459A TW 103135459 A TW103135459 A TW 103135459A TW I556254 B TWI556254 B TW I556254B
Authority
TW
Taiwan
Prior art keywords
data
parity check
check code
page
area
Prior art date
Application number
TW103135459A
Other languages
English (en)
Other versions
TW201614670A (en
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 TW103135459A priority Critical patent/TWI556254B/zh
Priority to CN201410614783.2A priority patent/CN105513638B/zh
Priority to CN202010304166.8A priority patent/CN111538676B/zh
Priority to US14/711,472 priority patent/US9741451B2/en
Publication of TW201614670A publication Critical patent/TW201614670A/zh
Application granted granted Critical
Publication of TWI556254B publication Critical patent/TWI556254B/zh
Priority to US15/649,394 priority patent/US10283216B2/en

Links

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

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)
  • Detection And Correction Of Errors (AREA)

Description

資料儲存裝置及其資料存取方法
本發明係關於一種記憶體裝置之資料存取方法;特別係關於一種具有一超級區塊之記憶體裝置的資料存取方法。
快閃記憶體為一種普遍的非揮發性資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等使用。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks)。各區塊包括複數頁面(pages),其中在快閃記憶體中資料寫入的單位是頁面,資料抹除之最小單位為區塊。由於快閃記憶體的存取過程中可能會發生資料內容的錯誤,所以目前在存入資料時會將原始的資料進行編碼,再儲存編碼後的資料至快閃記憶體中,而資料讀取時則將編碼的資料讀出,再解碼所讀出的編碼資料來得到原先的資料。編/解碼操作雖然能夠進行除錯,然而其所產生之編碼資料的存取方式會引響到快閃記憶體之效率。
本發明所提供之資料儲存裝置可將所產生之複數同位檢查碼集中儲存在超級區塊SB中之尾端的位置,以增進資料在讀取時的流暢度。另外本發明所提供之資料儲存裝置亦可加以對所產生之同位檢查碼進行第二次的編碼保護,以避免第一次所產生的同位檢查碼發生錯誤。
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體包括複數晶片,每一晶片包括複數頁面,每一晶片中之每一頁面以一既定排列順序構成一超級區塊,超級區塊由頂端至底部依序具有位置為0~X的頁面,並且在超級區塊中位置0~Y-1之頁面為一資料區,在超級區塊中位置Y~X之頁面為一同位檢查碼區,其中X為大於1之整數,並且Y為大於1並且小於X之整數。控制器用以在讀取資料區中所儲存之資料發生錯誤時,使用同位檢查碼區中之資料校正資料區中之資料。同位檢查碼區中位置為Y~X之頁面中所儲存之資料係由對資料區中之資料分別編碼所產生之一第一同位檢查碼,第一同位檢查碼係用以在所相應之資料區中所儲存之資料發生錯誤時,校正相應之資料區中之資料。
在另一實施例中,資料區更具有複數資料群組。同位檢查碼區中位置為Y~Z-1之頁面中所儲存之資料係由對複數資料群組中之資料分別編碼所產生之複數第一同位檢查碼,第一同位檢查碼係用以在所相應之資料群組中所儲存之資料發生錯誤時,校正相應之資料區中之資料,其中Z為大於Y並且小於X之整數。同位檢查碼區中位置為Z~X之頁面中所儲存之資料係由對複數第一同位檢查碼編碼產生之一第二同位 檢查碼,用以在複數第一同位檢查碼錯誤時,校正複數第一同位檢查碼,其中Z為大於Y並且小於X之整數。另外,資料群組系依序由頂端至底部的方向儲存於超級區塊中,每一資料群組包括每一晶片中之至少一頁面。
在一實施例中,既定排列順序為先依序排列每一晶片中位於頂端之一第一頁面,接著排列每一晶片中次於第一頁面之一第二頁面,直到排列每一晶片中位於底部之一最後頁面。
本發明亦提供一種資料存取方法,適用於一資料儲存裝置,其中資料儲存裝置具有複數晶片,每一晶片具有位置為0~M的複數頁面,並且晶片中之至少一第一晶片中位置M之頁面為一同位檢查碼區,其餘在每一晶片中之頁面為一資料區。資料存取方法包括:對一欲存資料進行編碼,以獲得一第一同位檢查碼;將第一同位檢查碼暫存至一動態隨機存取器中,並依照一第一既定寫入順序將欲存資料寫入資料區,其中第一既定寫入順序為先將欲存資料中之部分位元寫入每一晶片中位於位置為1之頁面,接著再將欲存資料中剩餘之部分位元寫入每一晶片中位置為2之頁面,直到欲存資料中之所有位元皆寫入資料區中;當欲存資料中之所有位元皆寫入資料區中,將第一同位檢查碼依序寫入同位檢查碼區。
本發明亦提供另一種資料存取方法,適用於一資料儲存裝置,其中資料儲存裝置具有複數晶片,每一晶片具有位置為0~M的複數頁面,並且在晶片中之至少一第一晶片之位置0~K-2以及晶片中除了第一晶片外之至少一第二晶片之位置 0~K-1之頁面為一資料區,在第一晶片之位置K-1~M以及第二晶片之位置K~M之頁面為一同位檢查碼區。資料存取方法包括:根據一既定長度將一欲存資料,分割為複數資料群組;對複數資料群組分別進行編碼,以獲得複數第一同位檢查碼;將複數第一同位檢查碼暫存至一動態隨機存取器中,並依照一第一既定寫入順序將欲存資料寫入資料區,其中第一既定寫入順序為先將欲存資料中之部分位元寫入每一晶片中位於位置為1之頁面,接著再將欲存資料中剩餘之部分位元寫入每一晶片中位置為2之頁面,直到欲存資料中之所有位元皆寫入資料區中;當欲存資料中之所有位元皆寫入資料區中,依照一第二既定寫入順序將複數第一同位檢查碼寫入同位檢查碼區,其中第二既定寫入順序為先將第一同位檢查碼之部分位元寫入第一晶片之位置K-1之頁面,接著再將第一同位檢查碼中剩餘之部分位元依序寫入每一晶片之位置K之頁面,直到第一同位檢查碼中之所有位元以及所有第一同位檢查碼皆寫入同位檢查碼區中。
在另一實施例中,資料存取方法更包括:對複數第一同位檢查碼進行編碼,以獲得一第二同位檢查碼;將第二同位檢查碼暫存至一動態隨機存取器中;當所有第一同位檢查碼皆已寫入同位檢查碼區中,依照第二既定寫入順序,在第一同位檢查碼後接續將第二同位檢查碼寫入同位檢查碼區中。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧動態隨機存取器
180‧‧‧快閃記憶體
C0~CN‧‧‧晶片
CH0~CH3‧‧‧通道
W0~WN‧‧‧位元線
C0_P0~C0_PM、C1_P0~C1_PM、C2_P0~C2_PM、C3_P0~C3_PM、C4_P0~C4_PM、C5_P0~C5_PM、C6_P0~C6_PM、C7_P0~C7_PM、C8_P0~C8_PM、C9_P0~C9_PM、C10_P0~C10_PM、C11_P0~C11_PM、C0_P0~C0_PM、C0_P0~C0_PM、C12_P0~C12_PM、C13_P0~C13_PM‧‧‧頁面
SB‧‧‧超級區塊
DA‧‧‧資料區
RAPA‧‧‧同位檢查碼區
RG0~RGN‧‧‧資料群組
RAID_G‧‧‧同位檢查碼群組
S900-S908、S1000-S1016‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2A、2B圖係本發明之一種實施例之快閃記憶體的示意圖。
第3圖係本發明之一種實施例之超級區塊的示意圖。
第4圖係本發明之一種實施例之超級區塊之資料區以及同位檢查碼區的一示意圖。
第5A、5B圖係本發明之一種實施例之快閃記憶體之資料區以及同位檢查碼區的一示意圖。
第6圖係本發明之一種實施例之超級區塊之資料區以及同位檢查碼區的另一示意圖。
第7A、7B圖係本發明之一種實施例之快閃記憶體之資料區以及同位檢查碼區的另一示意圖。
第8圖係本發明之一種實施例之資料群組的一示意圖。
第9圖係本發明之一種實施例之資料讀取方法之流程圖。
第10圖係本發明之另一種實施例之資料讀取方法之流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖係本發明之一種實施例之電子系統之方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器160,且可根據主機120所下達的命令操作。
控制器160包括一運算單元162、一永久記憶體(如,唯讀記憶體ROM)164以及一動態隨機存取器(RAM)166。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180,其中運算單元162更用以將快閃記憶體180中之頁面重組為一超級區塊(Super Block)。另外,運算單元162更包括一錯誤校正引擎(未圖示)。錯誤校正引擎係用以在資料發生錯誤時,對所讀取之資料進行錯誤校正,本發明不限於此。舉例而言,錯誤校正引擎可用以對資料進行編碼以產生同位檢查碼,並且用以在讀取超級區塊SB中之資料區DA(如第4圖以及第5圖所示)中所儲存之資料發生錯誤時,使用同位檢查碼區RAPA中之資料校正資料區DA中之資料。
快閃記憶體180包括複數晶片C1-CN,每一晶片C1-CN中包括複數頁面以及複數字元線與複數位元線,其中每一字元線用以連接至少一頁面,以選擇所欲讀取之頁面。舉例而言,當快閃記憶體180係為單階儲存單元(Single-Level Cell,SLC)時,一條位元線用以連接至一個頁面。當快閃記憶體180係為多階儲存單元(Multi-Level Cell,MLC)時,一條位元線用以連接至兩個頁面。當快閃記憶體180係為三階儲存單元(Triple-Level Cell,TLC)時,一條位元線用以連接至三個頁面,但本發明不限於此。每一晶片C0-CN包括複數頁面,每一晶片C0-CN中之每一頁面以一既定排列順序構成一超級區塊SB(如第3圖所示)。
超級區塊SB由頂端至底部依序具有位置為0~X的 頁面,並且在超級區塊SB中位置0~Y-1之頁面為一資料區DA,在超級區塊SB中位置Y~X之頁面為一同位檢查碼區,其中在超級區塊SB中位置0~Y-1之頁面為資料區DA用以儲存資料,在超級區塊SB中位置Y~X之頁面為同位檢查碼區用以儲存同位檢查碼(Parity)。值得注意的是,X為大於1之整數,並且Y為大於1並且小於X之整數。在另一實施例中,資料區DA更包括複數資料群組RG0~RGN,其中同位檢查碼區RAPA中位置為Y~Z-1之頁面中所儲存之資料係由對複數資料群組RG0~RGN中之資料分別編碼所產生之複數第一同位檢查碼,並且同位檢查碼區RAPA中位置為Z~X之頁面中所儲存之資料係由對複數第一同位檢查碼編碼產生之一第二同位檢查碼。值得注意的是,Z為大於Y並且小於X之整數。另外,在一實施例中,同位檢查碼(Parity)係為容錯式磁碟陣列(Redundant Array of Independent Disks,RAID)同位檢查碼。
第2圖係本發明之一種實施例之快閃記憶體的示意圖。如第2圖所示,快閃記憶體180包括16個晶片C0-C15,並且每一通道(Channel)CH1-CH4分別控制4個晶片,但本發明不限於此。快閃記憶體180亦可包括其他數量之晶片以及通道。另外,每一晶片C0-C15包括複數頁面。舉例而言,晶片C0包括頁面C0_P0-C0_PM,晶片C1包括頁面C1_P0-C1_PM,晶片C0包括頁面C2_P0-C2_PM,晶片C3包括頁面C3_P0-C3_PM,等依此類推。值得注意的是,在本實施例中,快閃記憶體180係為三階儲存單元(Triple-Level Cell,TLC),故每一位元線W0-WN分別用以連接至三個頁面,但本發明不限於此。快閃記憶體180 亦可為單階儲存單元或者二階儲存單元。
第3圖係本發明之一種實施例之超級區塊的示意圖,其中第3圖是由第2圖所示之快閃記憶體180中之16個晶片C0-C15中之每一頁面以一既定排列順序構成一超級區塊SB超級區塊SB。如圖所示,既定排列順序為先依序排列每一晶片C0-CN中位於頂端之一第一頁面,接著排列每一晶片C0-CN中次於第一頁面之一第二頁面,直到排列每一晶片C0-CN中位於底部之一最後頁面。舉例而言,在位置0的頁面為晶片C0之第一個頁面C0_P0,在位置1的頁面為晶片C1之第一個頁面C0_P0,在位置2的頁面為晶片C2之第一個頁面C2_P0,依此類推,第16個晶片C15中位於頂端之頁面C15_P0係位於位置15。接著,在位置16的頁面為晶片C0之第二個頁面C0_P1,在位置17的頁面為晶片C1之第一個頁面C0_P1,在位置18的頁面為晶片C2之第一個頁面C2_P1,依此類推,最後兩個位置X-1以及X則分別是第15個晶片C14之最後一個頁面C14_PM以及第16個晶片C15中之最後頁面C15_PM。
第4圖係本發明之一種實施例之超級區塊之資料區以及同位檢查碼區的一示意圖,其中第4圖中之超級區塊SB相似於第3圖所示之超級區塊SB。在本實施例中,同位檢查碼區RAPA係為在超級區塊SB中最底端之三個位置X-2、X-1以及X的頁面C13_PM、C14_PM以及C15_PM所構成的。換言之,在本實施例中,Y=X-2。如第4圖所示,在超級區塊SB中位置0~X-3(0~Y-1)之頁面為資料區DA。在超級區塊SB中位置X-2~X(Y~X)之頁面為同位檢查碼區RAPA,但本發明不限於 此。在其他實施例中,同位檢查碼區RAPA係為在超級區塊SB中最底端之1、2、3、4、5、10、20或者其他至少一個以上位置的頁面所構成的。另外,同位檢查碼區RAPA中位置為Y~X之頁面中所儲存之資料係由對位置1~Y-1之頁面的資料編碼所產生之一第一同位檢查碼,第一同位檢查碼係用以在資料區DA中所儲存之資料發生錯誤時,校正資料區DA中之資料。值得注意的是,在一實施例中,資料區DA中包括複數資料段,其中每一資料段分別具有獨立的同位檢查碼。換言之,第一同位檢查碼係由複數個分別相應於不同資料段之同位檢查碼所構成的。
另外,在第4圖之實施例中,以晶片的角度來看則如第5圖所示。第5圖係本發明之一種實施例之快閃記憶體之資料區以及同位檢查碼區的一示意圖。在第5圖中,每一晶片C0-CN具有位置為0~M的複數頁面,並且晶片C0~CN中之至少一第一晶片C0~CN之位置M的頁面為同位檢查碼區RAPA,其餘在每一晶片C0~CN中之頁面為資料區DA。在本實施例中,同位檢查碼區RAPA係為最後三個晶片的最後三個位置的頁面C13_PM、C14_PM以及C15_PM,但本發明不限於此。
第6圖係本發明之另一種實施例之超級區塊之資料區以及同位檢查碼區的一示意圖,其中第5圖中之超級區塊SB相似於第3圖所示之超級區塊SB。值得注意的是,在本實施例中,資料區DA分為複數資料群組RG0~RGN,並且同位檢查碼區RAPA更包括一同位檢查碼群組RAID_G,用以儲存以資料群組RG0~RGN為單位所產生之複數第一同位檢查碼,其中資 料群組RG0~RGN系依序由頂端至底部的方向儲存於超級區塊SB中,並且每一資料群組RG0~RGN包括每一晶片C0-CN中之至少一頁面。另外,同位檢查碼區RAPA中最底端之三個位置X-2、X-1以及X的頁面C13_PM、C14_PM以及C15_PM則用以儲存對同位檢查碼群組RAID_G編碼所產生之第二同位檢查碼,但本發明不限於此。換言之,在本實施例中,Z=X-2。同位檢查碼區RAPA中位置為Y~X-3(Y~Z-1)之頁面中所儲存之資料係由對複數資料群組RG0~RGN中之資料分別編碼所產生之複數第一同位檢查碼,第一同位檢查碼係用以在所相應之資料群組RG0~RGN中所儲存之資料發生錯誤時,校正相應之資料區DA中之資料。同位檢查碼區RAPA中位置為X-2~X(Z~X)之頁面中所儲存之資料係由對複數第一同位檢查碼編碼產生之一第二同位檢查碼,用以在複數第一同位檢查碼錯誤時,校正複數第一同位檢查碼。值得注意的是,在一實施例中,資料區DA中包括複數資料段,其中每一資料段分別具有獨立的同位檢查碼。另外,第二同位檢查碼亦係由將同位檢查碼群組RAID_G分為複數資料段編碼所獲得之複數同位檢查碼所構成的。換言之,每一第一同位檢查碼以及第二同位檢查碼皆係由複數個分別相應於不同資料段之同位檢查碼所構成的。
另外,在第6圖之實施例中,以晶片的角度來看則如第7圖所示。第7圖係本發明之一種實施例之快閃記憶體之資料區以及同位檢查碼區的另一示意圖。在第7圖中,每一晶片C0~CN具有位置為0~M的複數頁面,並且在晶片C0~CN中之至少一第一晶片之位置0~K-2以及所有晶片中除了第一晶片外之 至少一第二晶片之位置0~K-1之頁面為資料區DA,在第一晶片之位置K-1~M以及第二晶片C0~CN之位置之頁面為同位檢查碼區RAPA。在本實施例中,第一晶片為晶片C13、C14以及C15,第二晶片為晶片C0~C12,但本發明不限於此。詳細而言,在同位檢查碼區RAPA中,除了最後三個晶片的最後三個位置的頁面C13_PM、C14_PM以及C15_PM係用以儲存第二同位檢查碼之外,其餘的48個頁面為用以儲存複數第一同位檢查碼之同位檢查碼群組RAID_G,但本發明不限於此。
舉例而言,在本發明之一實施例中,每一資料群組RG0~RGN分別具有由16個晶片C0~C15中之5條字線所控制之240個頁面,如第8圖所示。每一資料群組RG0~RGN經由編碼後會產生3個頁面的第一同位檢查碼。假設資料區DA具有16個資料群組RG0~RG15,同位檢查碼群組RAID_G的最底端則會儲存48個頁面的複數個第一同位檢查碼。接著,控制器160會在對同位檢查碼群組RAID_G中48個頁面的第一同位檢查碼進行編碼,以產生3個頁面的第二同位檢查碼。值得注意的是,控制器160可在一不固定之變動單位下,產生相同長度之同位檢查碼(例如,上述之3個頁面),但本發明不限於此。控制器160可在一不固定之變動單位下,產生相同長度為1、2、3、4、5、10、20或者其他至少一個以上頁面的同位檢查碼。
第9圖係本發明之一種實施例之資料讀取方法之流程圖,適用於第4圖以及第5圖所示之超級區塊SB。超級區塊SB由頂端至底部依序具有位置為0~X的頁面,並且在超級區塊SB中位置0~Y-1之頁面為一資料區DA,在超級區塊SB中位置 Y~X之頁面為一同位檢查碼區,其中在超級區塊SB中位置0~Y-1之頁面為資料區DA用以儲存資料,在超級區塊SB中位置Y~X之頁面為同位檢查碼區用以儲存同位檢查碼(Parity)。換言之,每一晶片C0-CN具有位置為0~M的複數頁面,並且晶片C0~CN中之至少一第一晶片C0~CN之位置M的頁面為同位檢查碼區RAPA,其餘在每一晶片C0~CN中之頁面為資料區DA。流程開始於步驟S900。
在步驟S900中,資料儲存裝置140自主機120或者其他儲存裝置接收一欲存資料。
接著,在步驟S902中,控制器160用以對所接收之欲存資料進行編碼,以獲得一第一同位檢查碼。
接著,在步驟S904中,控制器160將第一同位檢查碼暫存至動態隨機存取器166中。
接著,在步驟S906中,控制器160依照一第一既定寫入順序將欲存資料寫入資料區DA,其中第一既定寫入順序為先將欲存資料中之部分位元寫入每一晶片C0~CN中位於位置為1之頁面,接著再將欲存資料中剩餘之部分位元寫入每一晶片C0~CN中位置為2之頁面,直到欲存資料中之所有位元皆寫入資料區DA中,如第5圖所示。換言之,控制器160是依序從位置0至位置Y-1的方向,將欲存資料寫入超級區塊SB的資料區DA中,如第4圖所示。
接著,在步驟S908中,當欲存資料中之所有位元皆寫入資料區DA中,控制器160將儲存於動態隨機存取器166中之第一同位檢查碼依序寫入同位檢查碼區RAPA。舉例而 言,控制器160係先將第一同位檢查碼之部分位元寫入晶片C13中位置為M的頁面C13_PM中,再將第一同位檢查碼之其他位元寫入晶片C14中位置為M的頁面C14_PM中,最後將第一同位檢查碼之剩餘的位元寫入晶片C15中位置為M的頁面C15_PM中,如第5圖所示。
值得注意的是,在一實施例中,控制器160系將欲存資料切分為複數資料段,以分別進行編碼,其中每一資料段分別具有獨立的同位檢查碼。換言之,第一同位檢查碼係由複數個分別相應於不同資料段之同位檢查碼所構成的。每當控制器160產生一個同位檢查碼,控制器即將所產生之同位檢查碼寫入動態隨機存取器166中,並待所有欲存資料皆寫入資料區DA後,才將儲存於動態隨機存取器166中之所有同位檢查碼(即第一同位檢查碼)寫入同位檢查碼區RAPA。流程結束於步驟S908。
第10圖係本發明之另一種實施例之資料讀取方法之流程圖,適用於第6圖以及第7圖所示之超級區塊SB。超級區塊SB由頂端至底部依序具有位置為0~X的頁面,並且在超級區塊SB中位置0~Y-1之頁面為一資料區DA,在超級區塊SB中位置Y~X之頁面為一同位檢查碼區,其中在超級區塊SB中位置0~Y-1之頁面為資料區DA用以儲存資料,在超級區塊SB中位置Y~X之頁面為同位檢查碼區用以儲存同位檢查碼(Parity)。值得注意的是,在本實施例中,資料區DA分為複數資料群組RG0~RGN,並且同位檢查碼區RAPA更包括一同位檢查碼群組RAID_G,用以儲存以資料群組RG0~RGN為單位所產生之複數 第一同位檢查碼,其中資料群組RG0~RGN系依序由頂端至底部的方向儲存於超級區塊SB中,並且每一資料群組RG0~RGN包括每一晶片C0-CN中之至少一頁面。另外,同位檢查碼區RAPA中最底端之三個位置X-2、X-1以及X的頁面C13_PM、C14_PM以及C15_PM則用以儲存對同位檢查碼群組RAID_G編碼所產生之第二同位檢查碼,但本發明不限於此。換言之,資料儲存裝置140具有複數晶片C0~CN,每一晶片C0~CN具有位置為0~M的複數頁面,並且在晶片C0~CN中之至少一第一晶片C0~CN之位置0~K-2以及晶片C0~CN中除了第一晶片C0~CN外之至少一第二晶片C0~CN之位置0~K-1之頁面為一資料區DA,在第一晶片C0~CN之位置K-1~M以及第二晶片C0~CN之位置K~M之頁面為一同位檢查碼區RAPA。流程開始於步驟S1000。
在步驟S1000中,資料儲存裝置140自主機120或者其他儲存裝置接收一欲存資料。
接著,在步驟S1002中,控制器160根據一既定長度將欲存資料,分割為複數資料群組以分別存入資料區DA之資料群組RG0~RGN中。在一實施例中,每一資料群組RG0~RGN分別具有由16個晶片C0~C15中之5條字線所控制之240個頁面,但本發明不限於此。換言之,既定長度即為240個頁面可儲存之資料量。
接著,在步驟S1004中,控制器160用以分別對複數資料群組分別進行編碼,以獲得複數第一同位檢查碼。
接著,在步驟S1006中,控制器160將複數第一同 位檢查碼暫存至動態隨機存取器166。
接著,在步驟S1008中,控制器160對複數第一同位檢查碼進行編碼,以獲得一第二同位檢查碼。
接著,在步驟S1010中,控制器160將第二同位檢查碼暫存至動態隨機存取器166。
接著,在步驟S1012中,控制器160依照一第一既定寫入順序將欲存資料所分割之群組依序寫入資料區DA中之料群組RG0~RGN中。第一既定寫入順序為先將欲存資料中之部分位元寫入每一晶片C0~CN中位於位置為1之頁面,接著再將欲存資料中剩餘之部分位元寫入每一晶片C0~CN中位置為2之頁面,直到欲存資料中之所有位元皆寫入資料區DA中,如第7圖所示。換言之,控制器160是依序從位置0至位置Y-1的方向,將欲存資料寫入超級區塊SB的資料區DA中,如第6圖所示。
接著,在步驟S1014中,當欲存資料中之所有位元皆寫入資料區DA中,控制器160依照一第二既定寫入順序將複數第一同位檢查碼寫入同位檢查碼區RAPA。第二既定寫入順序為先將第一同位檢查碼之部分位元寫入第一晶片C0~CN之位置K-1之頁面,接著再將第一同位檢查碼中剩餘之部分位元依序寫入每一晶片C0~CN之位置K之頁面,直到第一同位檢查碼中之所有位元以及所有第一同位檢查碼皆寫入同位檢查碼區RAPA中,如第7圖所示。舉例而言,控制器160係先將第一個第一同位檢查碼依序寫入晶片C13之頁面C13_PM-3、晶片C14之頁面C14_PM-3以及晶片C15之頁面C15_PM-3,再將第二個第二同位檢查碼依序寫入晶片C0之頁面C0_PM-2、晶片C1 之頁面C1_PM-2以及晶片C2之頁面C2_PM-2,直到所有的第一檢查碼皆寫入同為檢察區RAPA中,但本發明不限於此。每一第一同位檢查碼的資料量可大於或者小於3個頁面。
接著,在步驟S1016中,當所有第一同位檢查碼皆已寫入同位檢查碼區RAPA中,控制器160依照同樣第二既定寫入順序,在第一同位檢查碼在同位檢查碼區RAPA中所儲存之位置之後,接續地將第二同位檢查碼寫入同位檢查碼區RAPA中。在第7圖之實施例中,控制器160系將第二同位檢查碼寫入晶片C13中位置為M的頁面C13_PM、晶片C14中位置為M的頁面C14_PM以及晶片C15中位置為M的頁面C15_PM中。
值得注意的是,在一實施例中,控制器160系將每一資料群組中之資料切分為複數資料段,以分別進行編碼,其中每一資料段分別具有獨立的同位檢查碼。換言之,每一第一同位檢查碼係由複數個分別相應於不同資料段之同位檢查碼所構成的。當所有第一位元檢查碼皆編碼完成後,控制器160更用以將由複數第一位元檢查碼所構成之同位檢查碼群組RAID_G切分為複數資料段,每一由同位檢查碼群組RAID_G所切分之資料段皆具有一獨立之同位檢查碼。換言之,第二同位檢查碼也是由複數同位檢查碼所構成的。每當控制器160產生一個同位檢查碼,控制器即將所產生之同位檢查碼寫入動態隨機存取器166中,並待所有欲存資料皆寫入資料區DA後,才將儲存於動態隨機存取器166中之所有同位檢查碼(即第一同位檢查碼)寫入同位檢查碼區RAPA。流程結束於步驟S1016。
本發明所提供之資料儲存裝置140可將所產生之 複數同位檢查碼集中儲存在超級區塊SB中之尾端的位置,以增進資料在讀取時的流暢度,其中一般的同位檢查碼係緊接著資料段儲存在區塊中。另外本發明所提供之資料儲存裝置140亦可加以對所產生之同位檢查碼進行第二次的編碼保護,以避免第一次所產生的同位檢查碼發生錯誤。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧動態隨機存取器
180‧‧‧快閃記憶體
C0~CN‧‧‧晶片

Claims (18)

  1. 一種資料儲存裝置,包括:一快閃記憶體,包括複數晶片,每一晶片包括複數頁面,每一上述晶片中之每一上述頁面以一既定排列順序構成一超級區塊,上述超級區塊由頂端至底部依序具有位置為0~X的上述頁面,並且在上述超級區塊中位置0~Y-1之上述頁面為一資料區,在上述超級區塊中位置Y~X之上述頁面為一同位檢查碼區,其中X為大於1之整數,並且Y為大於1並且小於X之整數;以及一控制器,用以在讀取上述資料區中所儲存之資料發生錯誤時,使用上述同位檢查碼區中之資料校正上述資料區中之資料。
  2. 根據申請專利範圍第1項之資料儲存裝置,其中上述同位檢查碼區中位置為Y~X之上述頁面中所儲存之資料係由對上述資料區中之資料分別編碼所產生之一第一同位檢查碼,上述第一同位檢查碼係用以在所相應之上述資料區中所儲存之資料發生錯誤時,校正相應之上述資料區中之資料。
  3. 根據申請專利範圍第1項之資料儲存裝置,其中上述資料區具有複數資料群組。
  4. 根據申請專利範圍第3項之資料儲存裝置,其中上述同位檢查碼區中位置為Y~Z-1之上述頁面中所儲存之資料係由對上述複數資料群組中之資料分別編碼所產生之複數第一同位檢查碼,上述第一同位檢查碼係用以在所相應之上述資料群組中所儲存之資料發生錯誤時,校正相應之上述資料 區中之資料,其中Z為大於Y並且小於X之整數。
  5. 根據申請專利範圍第4項之資料儲存裝置,其中上述同位檢查碼區中位置為Z~X之上述頁面中所儲存之資料係由對上述複數第一同位檢查碼編碼產生之一第二同位檢查碼,用以在上述複數第一同位檢查碼錯誤時,校正上述複數第一同位檢查碼,其中Z為大於Y並且小於X之整數。
  6. 根據申請專利範圍第3項之資料儲存裝置,其中上述資料群組系依序由頂端至底部的方向儲存於上述超級區塊中。
  7. 根據申請專利範圍第6項之資料儲存裝置,其中每一上述資料群組包括每一上述晶片中之至少一上述頁面。
  8. 根據申請專利範圍第1項之資料儲存裝置,其中上述既定排列順序為先依序排列每一上述晶片中位於頂端之一第一頁面,接著排列每一上述晶片中次於上述第一頁面之一第二頁面,直到排列每一上述晶片中位於底部之一最後頁面。
  9. 一種資料存取方法,適用於一資料儲存裝置,其中上述資料儲存裝置具有複數晶片,每一上述晶片具有位置為0~M的複數頁面,並且上述晶片中之至少一第一晶片中位置M之上述頁面為一同位檢查碼區,其餘在每一上述晶片中之上述頁面為一資料區,上述資料存取方法包括:對一欲存資料進行編碼,以獲得一第一同位檢查碼;將上述第一同位檢查碼暫存至一動態隨機存取器中,並依照一第一既定寫入順序將上述欲存資料寫入上述資料區,其中上述第一既定寫入順序為先將上述欲存資料中之部分位元寫入每一上述晶片中位於位置為1之上述頁面,接著再 將上述欲存資料中剩餘之部分位元寫入每一上述晶片中位置為2之上述頁面,直到上述欲存資料中之所有位元皆寫入上述資料區中;當上述欲存資料中之所有位元皆寫入上述資料區中,將上述第一同位檢查碼依序寫入上述同位檢查碼區。
  10. 根據申請專利範圍第9項之資料存取方法,其中上述第一同位檢查碼係用以在讀取儲存在上述資料區之上述欲存資料發生錯誤時,校正上述欲存資料。
  11. 根據申請專利範圍第9項之資料存取方法,其中每一上述晶片中之每一上述頁面以一既定順序構成一超級區塊,上述超級區塊由頂端至底部依序具有位置為0~X的上述頁面,並且在上述超級區塊中位置0~Y-1之上述頁面為上述資料區,在上述超級區塊中位置Y~X之上述頁面為上述同位檢查碼區。
  12. 根據申請專利範圍第11項之資料存取方法,其中上述既定順序為先依序排列每一上述晶片中位於頂端之一第一頁面,接著排列每一上述晶片中次於上述第一頁面之一第二頁面,直到排列每一上述晶片中位於底部之一最後頁面。
  13. 一種資料存取方法,適用於一資料儲存裝置,其中上述資料儲存裝置具有複數晶片,每一上述晶片具有位置為0~M的複數頁面,並且在上述晶片中之至少一第一晶片之位置0~K-2以及上述晶片中除了上述第一晶片外之至少一第二晶片之位置0~K-1之上述頁面為一資料區,在上述第一晶片之位置K-1~M以及上述第二晶片之位置K~M之上述頁面為 一同位檢查碼區,上述資料存取方法包括:根據一既定長度將一欲存資料,分割為複數資料群組;對上述複數資料群組分別進行編碼,以獲得複數第一同位檢查碼;將上述複數第一同位檢查碼暫存至一動態隨機存取器中,並依照一第一既定寫入順序將上述欲存資料寫入上述資料區,其中上述第一既定寫入順序為先將上述欲存資料中之部分位元寫入每一上述晶片中位於位置為1之上述頁面,接著再將上述欲存資料中剩餘之部分位元寫入每一上述晶片中位置為2之上述頁面,直到上述欲存資料中之所有位元皆寫入上述資料區中;以及當上述欲存資料中之所有位元皆寫入上述資料區中,依照一第二既定寫入順序將上述複數第一同位檢查碼寫入上述同位檢查碼區,其中上述第二既定寫入順序為先將上述第一同位檢查碼之部分位元寫入上述第一晶片之位置K-1之上述頁面,接著再將上述第一同位檢查碼中剩餘之部分位元依序寫入每一上述晶片之位置K之頁面,直到上述第一同位檢查碼中之所有位元以及所有上述第一同位檢查碼皆寫入上述同位檢查碼區中。
  14. 根據申請專利範圍第13項之資料存取方法,其中上述第一同位檢查碼係用以在讀取儲存在上述資料區之相應的上述資料群組發生錯誤時,校正上述資料群組。
  15. 根據申請專利範圍第13項之資料存取方法,更包括: 對上述複數第一同位檢查碼進行編碼,以獲得一第二同位檢查碼;將上述第二同位檢查碼暫存至一動態隨機存取器中;當所有上述第一同位檢查碼皆已寫入上述同位檢查碼區中,依照上述第二既定寫入順序,在上述第一同位檢查碼後接續將上述第二同位檢查碼寫入上述同位檢查碼區中。
  16. 根據申請專利範圍第15項之資料存取方法,其中上述第二同位檢查碼係用以在讀取儲存在上述第一同位檢查碼發生錯誤時,校正上述第一同位檢查碼。
  17. 根據申請專利範圍第13項之資料存取方法,其中每一上述晶片中之每一上述頁面以一既定順序構成一超級區塊,上述超級區塊由頂端至底部依序具有位置為0~X的上述頁面,並且在上述超級區塊中位置0~Y-1之上述頁面為上述資料區,在上述超級區塊中位置Y~X之上述頁面為上述同位檢查碼區。
  18. 根據申請專利範圍第17項之資料存取方法,其中上述既定順序為先依序排列每一上述晶片中位於頂端之一第一頁面,接著排列每一上述晶片中次於上述第一頁面之一第二頁面,直到排列每一上述晶片中位於底部之一最後頁面。
TW103135459A 2014-10-14 2014-10-14 資料儲存裝置及其資料存取方法 TWI556254B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
TW103135459A TWI556254B (zh) 2014-10-14 2014-10-14 資料儲存裝置及其資料存取方法
CN201410614783.2A CN105513638B (zh) 2014-10-14 2014-11-04 数据储存装置及其数据存取方法
CN202010304166.8A CN111538676B (zh) 2014-10-14 2014-11-04 数据储存装置及其数据存取方法
US14/711,472 US9741451B2 (en) 2014-10-14 2015-05-13 Data storage device and data maintenance method thereof
US15/649,394 US10283216B2 (en) 2014-10-14 2017-07-13 Data storage device and data maintenance method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103135459A TWI556254B (zh) 2014-10-14 2014-10-14 資料儲存裝置及其資料存取方法

Publications (2)

Publication Number Publication Date
TW201614670A TW201614670A (en) 2016-04-16
TWI556254B true TWI556254B (zh) 2016-11-01

Family

ID=55655524

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103135459A TWI556254B (zh) 2014-10-14 2014-10-14 資料儲存裝置及其資料存取方法

Country Status (3)

Country Link
US (2) US9741451B2 (zh)
CN (2) CN111538676B (zh)
TW (1) TWI556254B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI556254B (zh) * 2014-10-14 2016-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料存取方法
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
US10289487B2 (en) 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
CN107391296B (zh) 2016-04-27 2020-11-06 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
TWI720246B (zh) * 2017-08-30 2021-03-01 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
KR102524432B1 (ko) 2018-04-09 2023-04-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
TWI714248B (zh) * 2019-09-09 2020-12-21 新唐科技股份有限公司 記憶體控制器與資料保護方法
KR20210128224A (ko) * 2020-04-16 2021-10-26 에스케이하이닉스 주식회사 스토리지 장치 및 그것의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239724B2 (en) * 2009-04-08 2012-08-07 Google Inc. Error correction for a data storage device
US8589764B2 (en) * 2010-09-14 2013-11-19 The University Of Tokyo Data storage device and control device configured to control data transfer between a host device, a first storage, and a second storage
US8635511B2 (en) * 2010-08-11 2014-01-21 The University Of Tokyo Data processing apparatus, control device and data storage device
US8700881B2 (en) * 2009-04-22 2014-04-15 Samsung Electronics Co., Ltd. Controller, data storage device and data storage system having the controller, and data processing method
US8751896B2 (en) * 2008-02-29 2014-06-10 Kabushiki Kaisha Toshiba Semiconductor storage device, method of controlling the same, and error correction system

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08315567A (ja) * 1995-05-22 1996-11-29 Mitsubishi Electric Corp 半導体記憶装置
US7032154B2 (en) * 2000-06-05 2006-04-18 Tyco Telecommunications (Us) Inc. Concatenated forward error correction decoder
CN1933026A (zh) * 2006-08-18 2007-03-21 福昭科技(深圳)有限公司 高可靠排序管理扇区的存储结构
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US8468416B2 (en) * 2007-06-26 2013-06-18 International Business Machines Corporation Combined group ECC protection and subgroup parity protection
US7747903B2 (en) * 2007-07-09 2010-06-29 Micron Technology, Inc. Error correction for memory
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
TWI382422B (zh) * 2008-07-11 2013-01-11 Genesys Logic Inc 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法
CN101625897B (zh) * 2008-07-11 2012-05-30 群联电子股份有限公司 用于快闪存储器的数据写入方法、储存系统与控制器
US8555143B2 (en) * 2008-12-22 2013-10-08 Industrial Technology Research Institute Flash memory controller and the method thereof
JP5789767B2 (ja) * 2009-11-25 2015-10-07 パナソニックIpマネジメント株式会社 半導体記録装置及び半導体記録装置の制御方法
JP5017407B2 (ja) * 2010-03-24 2012-09-05 株式会社東芝 半導体記憶装置
US9424178B2 (en) * 2010-06-21 2016-08-23 Sandisk Il Ltd. Optimized flash memory without dedicated parity area and with reduced array size
CN102436842B (zh) * 2010-09-29 2014-05-14 群联电子股份有限公司 存储器储存装置、存储器控制器与产生对数似然比的方法
CN102693760B (zh) * 2011-03-24 2015-07-15 扬智科技股份有限公司 Nand快闪存储器的错误校正方法
JP5426711B2 (ja) * 2011-06-08 2014-02-26 パナソニック株式会社 メモリコントローラ及び不揮発性記憶装置
US9424128B2 (en) * 2011-08-12 2016-08-23 Futurewei Technologies, Inc. Method and apparatus for flexible RAID in SSD
US8984373B2 (en) * 2012-02-22 2015-03-17 Silicon Motion, Inc. Method for accessing flash memory and associated flash memory controller
US9026887B2 (en) * 2012-03-15 2015-05-05 Micron Technology, Inc. Physical page, logical page, and codeword correspondence
KR20130114297A (ko) * 2012-04-09 2013-10-17 삼성전자주식회사 솔리드 스테이트 드라이브 및 이를 포함하는 전자 장치
US9684591B2 (en) * 2012-04-27 2017-06-20 Hitachi, Ltd. Storage system and storage apparatus
KR102025340B1 (ko) * 2012-11-27 2019-09-25 삼성전자 주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
KR102143517B1 (ko) * 2013-02-26 2020-08-12 삼성전자 주식회사 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법
US20140245101A1 (en) * 2013-02-28 2014-08-28 Kabushiki Kaisha Toshiba Semiconductor memory
US9053012B1 (en) * 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9026867B1 (en) * 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
TWI533316B (zh) * 2013-03-18 2016-05-11 慧榮科技股份有限公司 錯誤修正方法以及記憶體裝置
KR102164630B1 (ko) * 2013-06-28 2020-10-12 삼성전자주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법
US9389957B2 (en) * 2013-09-03 2016-07-12 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory control method
US9021343B1 (en) * 2014-06-13 2015-04-28 Sandisk Technologies Inc. Parity scheme for a data storage device
TWI556254B (zh) * 2014-10-14 2016-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料存取方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751896B2 (en) * 2008-02-29 2014-06-10 Kabushiki Kaisha Toshiba Semiconductor storage device, method of controlling the same, and error correction system
US8239724B2 (en) * 2009-04-08 2012-08-07 Google Inc. Error correction for a data storage device
US8700881B2 (en) * 2009-04-22 2014-04-15 Samsung Electronics Co., Ltd. Controller, data storage device and data storage system having the controller, and data processing method
US8635511B2 (en) * 2010-08-11 2014-01-21 The University Of Tokyo Data processing apparatus, control device and data storage device
US8589764B2 (en) * 2010-09-14 2013-11-19 The University Of Tokyo Data storage device and control device configured to control data transfer between a host device, a first storage, and a second storage

Also Published As

Publication number Publication date
CN111538676A (zh) 2020-08-14
US9741451B2 (en) 2017-08-22
US20170309350A1 (en) 2017-10-26
US10283216B2 (en) 2019-05-07
TW201614670A (en) 2016-04-16
CN105513638A (zh) 2016-04-20
CN111538676B (zh) 2023-08-15
US20160103734A1 (en) 2016-04-14
CN105513638B (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
TWI556254B (zh) 資料儲存裝置及其資料存取方法
KR101887557B1 (ko) 플래시 메모리 모듈에 액세스하기 위한 플래시 메모리 제어기 및 메모리 장치, 그리고 관련된 방법
US10771091B2 (en) Flash memory apparatus and storage management method for flash memory
US10846173B2 (en) Method for accessing flash memory module and associated flash memory controller and memory device
US10643733B2 (en) Method, flashing memory controller, memory device for accessing 3D flash memory having multiple memory chips
US10019355B2 (en) Flash memory apparatus and storage management method for flash memory
US10348332B2 (en) Method for accessing flash memory module and associated flash memory controller and memory device
US20160283319A1 (en) Data storage device and encoding method thereof
US20240154624A1 (en) Flash memory apparatus and storage management method for flash memory
CN111951855B (zh) 存取闪存模块的方法及相关的闪存控制器与记忆装置
US9318216B2 (en) Multilevel cell nonvolatile memory system
US11444637B2 (en) Self-adaptive low-density parity check hard decoder
US9104596B2 (en) Memory system
CN112530507A (zh) 准循环校正子解码器的硬件实施方案