TWI557560B - 資料儲存裝置以及資料讀取方法 - Google Patents

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

Info

Publication number
TWI557560B
TWI557560B TW104104675A TW104104675A TWI557560B TW I557560 B TWI557560 B TW I557560B TW 104104675 A TW104104675 A TW 104104675A TW 104104675 A TW104104675 A TW 104104675A TW I557560 B TWI557560 B TW I557560B
Authority
TW
Taiwan
Prior art keywords
data
page
read
entity
error correction
Prior art date
Application number
TW104104675A
Other languages
English (en)
Other versions
TW201629773A (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 TW104104675A priority Critical patent/TWI557560B/zh
Priority to CN201510180676.8A priority patent/CN106155916B/zh
Priority to US14/951,052 priority patent/US11061764B2/en
Publication of TW201629773A publication Critical patent/TW201629773A/zh
Application granted granted Critical
Publication of TWI557560B publication Critical patent/TWI557560B/zh

Links

Classifications

    • 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/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
    • 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/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
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/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
    • G06F11/1056Updating check bits on partial write, i.e. read/modify/write
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)

Description

資料儲存裝置以及資料讀取方法
本發明係關於一種資料儲存裝置,特別係關於可將不同記憶體平面之頁面合併存取之資料儲存裝置。
快閃記憶體係為一種可以被電抹除並且重新寫入的非易失性記憶體,並且主要係應用在記憶卡、USB隨身碟、eMMC以及固態硬碟(Solid-State Disk)中,藉以作為一般的儲存與電腦裝置和數位產品間的資料之轉運。
快閃記憶體於生產過程中,會因為粉塵或是光罩問題,使得快閃記憶單元中的一整列(column)的資料都無法正確存取。傳統上,可以掃描的方式檢測出壞列的數量。但是,一旦無法存取的資料列數目太多,則會影響到錯誤檢查碼進行修正的能力。
本發明所提供之資料儲存裝置以及錯誤校正方法,可將不同記憶體平面之頁面合併存取。
本發明提供一種資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體包括複數晶粒(die),並且每一晶粒包括一第一記憶體平面(plane)以及一第二記憶體平面(plane),其中第一記憶體平面以及第二記憶體平面分別包括複數實體頁面(page)。控制器被設置為用以根據用以對一目標頁 面進行讀取之一讀取命令,讀取第一記憶體平面中之一第一實體頁面以及第二記憶體平面中之一第二實體頁面。
在一實施例中,控制器更包括一錯誤校正引擎,並且控制器更被設置為用以將所讀取之第一實體頁面的資料以及第二實體頁面的資料傳送至錯誤校正引擎,使得錯誤校正引擎根據第一實體頁面的資料以及第二實體頁面的資料對目標頁面進行錯誤校正。
詳細而言,控制器被設置為用以根據讀取命令,依序傳送複數資料塊讀取命令至快閃記憶體,以依序讀取由第一實體頁面以及第二實體頁面所構成之目標頁面中之複數資料塊,其中控制器更被設置為用以藉由資料塊讀取命令中之兩者,分別對第一實體頁面中之複數位元組以及第二實體頁面中之複數位元組進行讀取,以獲得資料塊中之一第一資料塊。每一資料塊包括一資料段以及用以校正資料段之一校驗碼。控制器更被設置為用以將根據資料塊讀取命令中之兩者所讀取之第一實體頁面以及第二實體頁面中之位元組傳送至錯誤校正引擎,使得錯誤校正引擎可根據所讀取之第一實體頁面以及第二實體頁面中之位元組對第一資料塊進行錯誤校正。在一實施例中,資料塊讀取命令包括一位址閂鎖致能信號(address latch enable,ALE)以及命令閂鎖致能信號(command latch enable,CLE)。
本發明亦提供一種資料讀取方法,適用於一快閃記憶體,其中快閃記憶體包括複數晶粒(die),每一晶粒包括一第一記憶體平面(plane)以及一第二記憶體平面(plane),第一記 憶體平面以及第二記憶體平面分別包括複數實體頁面(page)。資料讀取方法包括:自主機接收一讀取命令,其中讀取命令係用以對一目標頁面進行讀取;以及根據讀取命令,讀取第一記憶體平面中之一第一實體頁面以及第二記憶體平面中之一第二實體頁面。
在另一實施例中,資料讀取方法更包括:將所讀取之第一實體頁面的資料以及第二實體頁面的資料傳送至一錯誤校正引擎;以及藉由錯誤校正引擎根據第一實體頁面的資料以及第二實體頁面的資料對目標頁面進行錯誤校正。
詳細而言,根據讀取命令讀取第一記憶體平面中之第一實體頁面以及第二記憶體平面中之第二實體頁面的步驟更包括:根據讀取命令,依序傳送複數資料塊讀取命令至快閃記憶體,以依序讀取由第一實體頁面以及第二實體頁面所構成之目標頁面中之複數資料塊,其中資料塊讀取命令中之兩者,分別對第一實體頁面中之複數位元組以及第二實體頁面中之複數位元組進行讀取,以獲得資料塊中之一第一資料塊。每一資料塊包括一資料段以及用以校正資料段之一校驗碼。
在一實施例中,資料讀取方法更包括:根據資料塊讀取命令中之兩者所讀取之第一實體頁面以及第二實體頁面中之位元組傳送至一錯誤校正引擎;以及藉由錯誤校正引擎,根據所讀取之第一實體頁面以及第二實體頁面中之位元組對第一資料塊進行錯誤校正。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧隨機存取記憶體
168‧‧‧錯誤校正引擎
180‧‧‧快閃記憶體
D0~DN‧‧‧晶粒
BU‧‧‧緩衝器
MD‧‧‧元資料
PL0、PL1‧‧‧記憶體平面
P0_1~P0_N、P1_0~P1_N‧‧‧實體頁面
P0’~PN’‧‧‧頁面
S600~S602、S700~S706‧‧‧步驟
第1圖為本發明所提供之一電子系統之一種實施例的方塊圖。
第2圖為本發明所提供之晶粒之一種實施例的示意圖。
第3圖為本發明所提供之實體頁面之一種實施例的示意圖。
第4圖為本發明所提供之實體頁面之另一種實施例的示意圖。
第5圖為本發明所提供之晶粒之另一種實施例的示意圖。
第6圖為本發明所提供之一資料讀取方法之一種實施例的流程圖。
第7圖為本發明所提供之一資料讀取方法之另一種實施例的流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖為本發明所提供之一電子系統之一種實施例的方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器160,且可根據主機110所下達的命令操作。控制器160包括一運算單元162、一永久記憶體(如,唯讀記憶體ROM)164、隨機存取記憶體(RAM)166以及一錯誤校正引擎168。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162 執行,使控制器160基於該韌體控制該快閃記憶體180。隨機存取記憶體(RAM)166用以載入程式碼與參數以提供控制器160根據所載入的程式碼與參數動作。錯誤校正引擎168用以對所讀取之資料進行錯誤校正(Error Correction),以及對寫入之資料進行編碼以獲得校驗碼(parity)。快閃記憶體180包括複數晶粒(die)D0~DN,如第2圖所示。每一晶粒D0~DN包括一緩衝器BU、一第一記憶體平面(plane)PL0以及一第二記憶體平面(plane)PL1。每一第一記憶體平面PL0以及第二記憶體平面PL1分別包括複數實體頁面(page)P0~PN。值得注意的是,在本實施例中,每一晶粒D0~DN包括一緩衝器BU,用以緩衝第一記憶體平面PL0以及第二記憶體平面PL1的資料,但本發明不限於此。在其他實施例中,每一晶粒D0~DN可包括兩個緩衝器,分別用以緩衝第一記憶體平面PL0以及第二記憶體平面PL1的資料。
快閃記憶體於生產過程中,會因為粉塵或是光罩問題,使得快閃記憶單元中的一整列(column)的資料都無法正確存取,損毀的列稱為壞列(bad column)。然而,在同一晶粒中的記憶體平面所具有壞列的數量可能彼此不同。壞列的數量越多,記憶體平面中之實體頁面裡可利用的記憶體空間則越少,其中記憶體空間的大小引響到錯誤位元校正能力。詳細而言,具有越高的錯誤位元校正能力之錯誤校正(Error Correction)的編碼,會產生長度越長的校驗碼(Parity)。
第3圖為本發明所提供之實體頁面之一種實施例的示意圖。在本實施例中,第一記憶體平面PL0的每一實體頁 面P0_0~P0_N分別具有1000位元組(Byte)無法使用的壞列,第二記憶體平面PL1的每一實體頁面P1_0~P1_N中,分別具有900位元組(Byte)無法使用的壞列。另外,在本實施例中,實體頁面為快閃記憶體180之最小讀取單位。換言之,每一實體頁面為一頁面。值得注意的是,第3圖示意性的將壞列顯示於實體頁面P0_0以及P1_0尾端,但實際上壞列系隨機散落於實體頁面P0_0以及P1_0中。在本實施例中,產品設計者將同一晶粒中具有不同壞列數量之第一記憶體平面PL0以及第二記憶體平面PL1的錯誤位元校正能力,皆定義為同一錯誤位元校正能力值。舉例而言,在本實施例中,第一記憶體平面PL0以及第二記憶體平面PL1的錯誤位元校正能力值皆為59位元(Bit),59位元之錯誤位元校正能力值需要長度為104位元組的校驗碼。以第一記憶體平面PL0的實體頁面P0_0以及第二記憶體平面PL1的實體頁面P1_0為例,實體頁面P0_0以及實體頁面P1_0分別具有7個資料塊(Chunk)C0~C6以及一元資料段(Meta data)MD。每一資料塊C0~C6分別具有一資料段以及一校驗碼段(parity)。資料段的長度為1024位元組。校驗碼的長度為104位元組。元資料段MD的長度為32位元組。如第3圖所示,具有較少壞列的第二記憶體平面PL1由於配合具有較多壞列的第一記憶體平面PL0,會損失可使用的100位元組,造成資源的浪費。值得注意的是,壞列的數量、元資料段MD的長度、資料段的長度、以及錯誤位元校正能力值皆為本發明之一種實施例,但本發明不限於此。每一個不同的記憶體平面皆可能由於不同之生產環境具有不同數量的壞列。實體頁面中資料塊的數量、錯誤位元校 正能力值以及資料段的長度皆可由產品開發者自行決定,其中元資料段MD的長度則是由所決定之錯誤位元校正能力值以及錯誤校驗的種類而決定的。
第4圖為本發明所提供之實體頁面之另一種實施例的示意圖。在本實施例中,第一記憶體平面PL0的每一實體頁面P0_0~P0_N分別具有1000位元組(Byte)無法使用的壞列,第二記憶體平面PL1的每一實體頁面P1_0~P1_N分別具有900位元組(Byte)無法使用的壞列。值得注意的是,第4圖示意性的將壞列顯示於實體頁面P0_0以及實體頁面P1_0尾端,但實際上壞列系隨機散落於實體頁面中。另外,在本實施例中,快閃記憶體180之最小讀取單位為頁面P0’~PN’,如第5圖所示。換言之,在本實施例中,快閃記憶體180之最小讀取單位(頁面)係由第一記憶體平面PL0中之一實體頁面以及第二記憶體平面PL1中之一實體頁面所構成的。在本實施例中,由第一記憶體平面PL0與第二記憶體平面PL1所構成的頁面P0’~PN’具有一錯誤位元校正能力值。值得注意的是,由於第一記憶體平面PL0中之實體頁面P0_0~P0_N以及第二記憶體平面PL1中之實體頁面P1_0~P1_N已分別依序被合併為頁面P0’~PN’,因此在第3圖中所示未使用的位元組(100Byte)可在本實施例中作為的校驗碼空間。由於有相較於第3圖中之實施例較多用以儲存校驗碼的空間並且兩個實體頁面僅需要一個元資料MD,因此在本實施例中頁面P0’~PN’可具有相較於第3圖之實施例更高的錯誤位元校正能力值。舉例而言,在本實施例中,第一記憶體平面PL0以及第二記憶體平面PL1所構成之頁面P0’~PN’的錯誤位元校 正能力值為65位元,但本發明不限於此。65位元之錯誤位元校正能力值需要長度為114位元組的校驗碼。以第一記憶體平面PL0的實體頁面P0_0以及第二記憶體平面PL1的實體頁面P1_0所構成之頁面P0’為例,頁面P0’具有14個資料塊(Chunk)C0~C13以及一元資料段(Meta data)MD。每一資料塊C0~C13分別具有一資料段以及一校驗碼段(parity)。資料段的長度為1024位元組、校驗碼的長度為114位元組以及元資料段MD的長度為32位元組。值得注意的是,壞列的數量、元資料段MD的長度、資料段的長度、以及錯誤位元校正能力值皆為本發明之一種實施例,但本發明不限於此。每一個不同的記憶體平面皆可能由於不同之生產環境具有不同數量的壞列。頁面中資料塊的數量、錯誤位元校正能力值以及資料段的長度皆可由產品開發者自行決定,其中元資料段MD的長度則是由所決定之錯誤位元校正能力值以及錯誤校驗的種類決定。
詳細而言,在第4圖以及第5圖之實施例中,控制器160被設置為根據用以對一目標頁面P0’進行讀取之一讀取命令,讀取第一記憶體平面PL0中之第一實體頁面P0-0以及第二記憶體平面PL1中之第二實體頁面P1_0。另外,控制器160更被設置為用以將所讀取之第一實體頁面P0_0的資料以及第二實體頁面P1_0的資料傳送至錯誤校正引擎168,使得錯誤校正引擎168可根據第一實體頁面P0_0的資料以及第二實體頁面P1_0的資料對目標頁面P0’進行錯誤校正。詳細而言,控制器160被設置為用以根據讀取命令,依序傳送複數資料塊讀取命令至快閃記憶體180,以依序讀取由第一實體頁面P0_0以及第 二實體頁面P1_0所構成之目標頁面中之複數資料塊C0~C13。值得注意的是,每一資料塊讀取命令中皆包括一位址閂鎖致能信號(address latch enable,ALE)以及命令閂鎖致能信號(command latch enable,CLE)。
另外,在某些實施例中,控制器160更被設置為用以藉由資料塊讀取命令中之兩者,分別對第一實體頁面P0_0中之複數位元組以及第二實體頁面P1_0中之複數位元組進行讀取,以獲得資料塊中之一資料塊。控制器160更被設置為用以將根據資料塊讀取命令所讀取資料塊C0~C13,傳送至錯誤校正引擎168,使得錯誤校正引擎168可根據所讀取之資料塊C0~C13進行錯誤校正。舉例而言,如第4圖所示,由於第一記憶體平面PL0的記憶體空間不夠,因此資料塊C6中之資料有一部分被分配至第二記憶體平面PL1。因此,在本實施例中,控制器160更被設置為用以藉由資料塊讀取命令中之兩者,分別對第一實體頁面P0_0中之複數位元組以及第二實體頁面P1_0中之複數位元組進行讀取,以獲得資料塊中之資料塊C6。接著,控制器160更被設置為用以將根據資料塊讀取命令中之兩者所讀取之第一實體頁面P0_0以及第二實體頁面P1_o中之位元組傳送至錯誤校正引擎168,使得錯誤校正引擎168可根據所讀取之第一實體頁面P0_0以及第二實體頁面P1_0中之位元組對資料塊C6進行錯誤校正。
值得注意的是,在一實施例中,快閃記憶體180可更包括一對應表,用以儲存頁面P0’~PN’所對應之實體頁面。當資料儲存裝置140上電時,控制器160可將對應表載入隨機存 取記憶體166中,以當接收到讀取命令或者寫入命令時,將目標頁面的位址轉換為所相應之實體頁面的位址,並根據所轉換之位址對快閃記憶體180進行存取。在另一實施例中,控制器160更可包括一頁面轉換電路。頁面轉換電路以硬體的方式,將第一記憶體平面PL0中之實體頁面P0_0~P0_N的資料以及第二記憶體平面PL1中之實體頁面P1_0~P1_N的資料合併為頁面P0’~PN’的資料,以將所合併的之頁面P0’~PN’資料提供給控制器160進行讀取以及寫入,但本發明不限於此。
第6圖為本發明所提供之一資料讀取方法之一種實施例的流程圖。資料讀取方法適用於第1圖~第5圖所示之電子系統100。流程開始於步驟S600。
在步驟S600中,控制器160自主機120接收一讀取命令,其中讀取命令係用以對一目標頁面進行讀取。
接著,在步驟S602中,控制器160根據讀取命令,讀取第一記憶體平面PL0中之一第一實體頁面以及第二記憶體平面PL1中之一第二實體頁面。詳細而言,控制器160被設置為用以根據讀取命令,依序傳送複數資料塊讀取命令至快閃記憶體180,以依序讀取由第一實體頁面P0_0以及第二實體頁面P1_0所構成之目標頁面中之複數資料塊C0~C13。值得注意的是,每一資料塊讀取命令中皆包括一位址閂鎖致能信號(address latch enable,ALE)以及命令閂鎖致能信號(command latch enable,CLE)。另外,在某些實施例中,控制器160更被設置為用以藉由資料塊讀取命令中之兩者,分別對第一實體頁面P0_0中之複數位元組以及第二實體頁面P1_0中之複數位元 組進行讀取,以獲得資料塊中之一資料塊。舉例而言,如第4圖所示,由於第一記憶體平面PL0的記憶體空間不夠,因此資料塊C6中之資料有一部分被分配至第二記憶體平面PL1。因此,在本實施例中,控制器160更被設置為用以藉由資料塊讀取命令中之兩者,分別對第一實體頁面P0_0中之複數位元組以及第二實體頁面P1_0中之複數位元組進行讀取,以獲得資料塊中之資料塊C6。流程結束於步驟S602。
第7圖為本發明所提供之一資料讀取方法之另一種實施例的流程圖。資料讀取方法適用於第1圖~第5圖所示之電子系統100。流程開始於步驟S700。值得注意的是,步驟S700~S702相似於步驟S600~S602,因此步驟S700~S702的細節請參考第7圖之說明,在此不再贅述。
在步驟S704中,控制器160更被設置為用以將所讀取之第一實體頁面P0_0的資料以及第二實體頁面P1_0的資料傳送至錯誤校正引擎168。詳細而言,控制器160係被設置為用以將根據資料塊讀取命令所讀取資料塊,傳送至錯誤校正引擎168。在第4圖的實施例中,當控制器160藉由資料塊讀取命令中之兩者,分別對第一實體頁面P0_0中之複數位元組以及第二實體頁面P1_0中之複數位元組進行讀取後,控制器160將根據資料塊讀取命令中之兩者所讀取之第一實體頁面P0_0以及第二實體頁面P1_0中之位元組傳送至錯誤校正引擎168。
在步驟S706中,錯誤校正引擎168根據第一實體頁面P0_0的資料以及第二實體頁面P1_0的資料對目標頁面進行錯誤校正。詳細而言,錯誤校正引擎168係根據所讀取之資料 塊進行錯誤校正。在第4圖的實施例中,錯誤校正引擎168係根據所讀取之第一實體頁面P0_0中之位元組以及第二實體頁面P1_0中之位元組對資料塊C6進行錯誤校正。流程結束於步驟S706。
本發明所提供之資料儲存裝置140以及資料讀取方法合併兩個記憶體平面的頁面。換言之,資料儲存裝置140中之最小讀取單位是由兩個記憶體平面的頁面所構成的。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧隨機存取記憶體
168‧‧‧錯誤校正引擎
180‧‧‧快閃記憶體

Claims (12)

  1. 一種資料儲存裝置,包括:一快閃記憶體,包括複數晶粒(die),並且每一上述晶粒包括一第一記憶體平面(plane)以及一第二記憶體平面(plane),其中上述第一記憶體平面以及上述第二記憶體平面分別包括複數實體頁面(page);以及一控制器,被設置為用以根據用以對一目標頁面進行讀取之一讀取命令,讀取上述第一記憶體平面中之一第一實體頁面以及上述第二記憶體平面中之一第二實體頁面。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中上述控制器更包括一錯誤校正引擎,並且上述控制器更被設置為用以將所讀取之上述第一實體頁面的資料以及上述第二實體頁面的資料傳送至上述錯誤校正引擎,使得上述錯誤校正引擎根據上述第一實體頁面的資料以及上述第二實體頁面的資料對上述目標頁面進行錯誤校正。
  3. 如申請專利範圍第1項所述之資料儲存裝置,其中上述控制器被設置為用以根據上述讀取命令,依序傳送複數資料塊讀取命令至上述快閃記憶體,以依序讀取由上述第一實體頁面以及上述第二實體頁面所構成之上述目標頁面中之複數資料塊,其中上述控制器更被設置為用以藉由上述資料塊讀取命令中之兩者,分別對上述第一實體頁面中之複數位元組以及上述第二實體頁面中之複數位元組進行讀取,以獲得上述資料塊中之一第一資料塊。
  4. 如申請專利範圍第3項所述之資料儲存裝置,其中每一上 述資料塊包括一資料段以及用以校正上述資料段之一校驗碼。
  5. 如申請專利範圍第3項所述之資料儲存裝置,其中上述控制器更包括一錯誤校正引擎,並且上述控制器更被設置為用以將根據上述資料塊讀取命令中之兩者所讀取之上述第一實體頁面以及上述第二實體頁面中之位元組傳送至上述錯誤校正引擎,使得上述錯誤校正引擎可根據所讀取之上述第一實體頁面以及上述第二實體頁面中之位元組對上述第一資料塊進行錯誤校正。
  6. 如申請專利範圍第3項所述之資料儲存裝置,其中每一上述資料塊讀取命令包括一位址閂鎖致能信號(address latch enable,ALE)以及命令閂鎖致能信號(command latch enable,CLE)。
  7. 一種資料讀取方法,適用於一快閃記憶體,其中上述快閃記憶體包括複數晶粒(die),每一上述晶粒包括一第一記憶體平面(plane)以及一第二記憶體平面(plane),上述第一記憶體平面以及上述第二記憶體平面分別包括複數實體頁面(page),並且上述資料讀取方法包括:自主機接收一讀取命令,其中上述讀取命令係用以對一目標頁面進行讀取;以及根據上述讀取命令,讀取上述第一記憶體平面中之一第一實體頁面以及上述第二記憶體平面中之一第二實體頁面。
  8. 如申請專利範圍第7項所述之資料讀取方法,更包括: 將所讀取之上述第一實體頁面的資料以及上述第二實體頁面的資料傳送至一錯誤校正引擎;以及藉由上述錯誤校正引擎根據上述第一實體頁面的資料以及上述第二實體頁面的資料對上述目標頁面進行錯誤校正。
  9. 如申請專利範圍第7項所述之資料讀取方法,其中上述根據上述讀取命令讀取上述第一記憶體平面中之上述第一實體頁面以及上述第二記憶體平面中之上述第二實體頁面的步驟更包括:根據上述讀取命令,依序傳送複數資料塊讀取命令至上述快閃記憶體,以依序讀取由上述第一實體頁面以及上述第二實體頁面所構成之上述目標頁面中之複數資料塊,其中上述資料塊讀取命令中之兩者,分別對上述第一實體頁面中之複數位元組以及上述第二實體頁面中之複數位元組進行讀取,以獲得上述資料塊中之一第一資料塊。
  10. 如申請專利範圍第9項所述之資料讀取方法,其中每一上述資料塊包括一資料段以及用以校正上述資料段之一校驗碼。
  11. 如申請專利範圍第9項所述之資料讀取方法,更包括:根據上述資料塊讀取命令中之兩者所讀取之上述第一實體頁面以及上述第二實體頁面中之位元組傳送至一錯誤校正引擎;以及 藉由上述錯誤校正引擎,根據所讀取之上述第一實體頁面以及上述第二實體頁面中之位元組對上述第一資料塊進行錯誤校正。
  12. 如申請專利範圍第9項所述之資料讀取方法,其中每一上述資料塊讀取命令包括一位址閂鎖致能信號(address latch enable,ALE)以及命令閂鎖致能信號(command latch enable,CLE)。
TW104104675A 2015-02-12 2015-02-12 資料儲存裝置以及資料讀取方法 TWI557560B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW104104675A TWI557560B (zh) 2015-02-12 2015-02-12 資料儲存裝置以及資料讀取方法
CN201510180676.8A CN106155916B (zh) 2015-02-12 2015-04-16 数据储存装置以及数据读取方法
US14/951,052 US11061764B2 (en) 2015-02-12 2015-11-24 Data storage device and data retrieval method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104104675A TWI557560B (zh) 2015-02-12 2015-02-12 資料儲存裝置以及資料讀取方法

Publications (2)

Publication Number Publication Date
TW201629773A TW201629773A (zh) 2016-08-16
TWI557560B true TWI557560B (zh) 2016-11-11

Family

ID=56621088

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104104675A TWI557560B (zh) 2015-02-12 2015-02-12 資料儲存裝置以及資料讀取方法

Country Status (3)

Country Link
US (1) US11061764B2 (zh)
CN (1) CN106155916B (zh)
TW (1) TWI557560B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10685718B2 (en) * 2018-10-29 2020-06-16 Micron Technnology, Inc. Dynamic delay of NAND read commands
US11468963B2 (en) * 2020-12-08 2022-10-11 Macronix International Co., Ltd. Memory device and read method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201003669A (en) * 2008-07-03 2010-01-16 Silicon Motion Inc Data storing methods and apparatus thereof
US20140157087A1 (en) * 2012-12-04 2014-06-05 SanDisk Technologies, Inc. Bad Column Handling in Flash Memory
TW201428757A (zh) * 2012-11-14 2014-07-16 Ibm 揮發性及快閃記憶體間資料的備份與復原

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101375955B1 (ko) * 2006-05-12 2014-03-18 애플 인크. 메모리 디바이스 내의 왜곡 추정 및 상쇄
TW200828328A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method of improving accessing reliability of flash memory
CN101727976B (zh) * 2008-10-15 2012-09-19 晶天电子(深圳)有限公司 一种多层闪存装置、固态硬盘和分割非易失性存储器***
US8004887B2 (en) * 2008-11-07 2011-08-23 Micron Technology, Inc. Configurable digital and analog input/output interface in a memory device
TWI401691B (zh) * 2009-03-20 2013-07-11 Phison Electronics Corp 具快閃記憶體測試功能的控制器及其儲存系統與測試方法
US8417877B2 (en) * 2010-08-31 2013-04-09 Micron Technology, Inc Stripe-based non-volatile multilevel memory operation
US10031850B2 (en) * 2011-06-07 2018-07-24 Sandisk Technologies Llc System and method to buffer data
US9032269B2 (en) * 2011-07-22 2015-05-12 Sandisk Technologies Inc. Systems and methods of storing data
US8775722B2 (en) * 2011-12-30 2014-07-08 Sandisk Technologies Inc. Storing data in parallel in a flash storage device using on chip page shifting between planes
US8788910B1 (en) * 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
CN103914396B (zh) * 2013-01-06 2017-02-22 北京忆恒创源科技有限公司 用于存储设备的地址映射方法
US9378090B2 (en) * 2014-06-16 2016-06-28 Seagate Technology Llc Cell-to-cell program interference aware data recovery when ECC fails with an optimum read reference voltage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201003669A (en) * 2008-07-03 2010-01-16 Silicon Motion Inc Data storing methods and apparatus thereof
TW201428757A (zh) * 2012-11-14 2014-07-16 Ibm 揮發性及快閃記憶體間資料的備份與復原
US20140157087A1 (en) * 2012-12-04 2014-06-05 SanDisk Technologies, Inc. Bad Column Handling in Flash Memory

Also Published As

Publication number Publication date
US11061764B2 (en) 2021-07-13
TW201629773A (zh) 2016-08-16
US20160239227A1 (en) 2016-08-18
CN106155916A (zh) 2016-11-23
CN106155916B (zh) 2020-10-13

Similar Documents

Publication Publication Date Title
TWI631570B (zh) 錯誤檢查糾正解碼方法與裝置
TWI543178B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI555028B (zh) 資料儲存裝置以及錯誤校正方法
TWI631456B (zh) 資料儲存裝置及資料維護方法
TWI527040B (zh) 資料寫入方法、記憶體儲存裝置與記憶體控制器
TWI523025B (zh) 資料儲存裝置及其錯誤校正方法
TWI666643B (zh) 非依電性記憶體裝置及其資料去重複方法
US11456754B2 (en) Fixed size soft bit lossy compression in flash memory
US20160283319A1 (en) Data storage device and encoding method thereof
CN107710170B (zh) 减少对象存储中的写入放大
TW201913372A (zh) 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置
TWI467590B (zh) 資料處理方法、記憶體控制器及記憶體儲存裝置
TWI557560B (zh) 資料儲存裝置以及資料讀取方法
CN107402725B (zh) 非易失性存储装置及其数据去重复方法
TW201524135A (zh) 解碼方法、記憶體儲存裝置與記憶體控制電路單元
US20210326068A1 (en) Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
TWI416331B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存裝置
TWI566094B (zh) 資料儲存裝置及其資料更新方法
TWI544490B (zh) 資料儲存裝置及其資料維護方法
TWI512750B (zh) 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
US11789814B2 (en) System and method for data protection in solid-state drives
US11327770B2 (en) Data storage devices, access device and data processing methods
TW202113865A (zh) 準迴圈校正子解碼器的硬體實施方案
TWI515729B (zh) 資料儲存裝置及其錯誤校正方法
TW201941069A (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置