TW201523253A - 資料儲存裝置以及其資料存取方法 - Google Patents
資料儲存裝置以及其資料存取方法 Download PDFInfo
- Publication number
- TW201523253A TW201523253A TW102144357A TW102144357A TW201523253A TW 201523253 A TW201523253 A TW 201523253A TW 102144357 A TW102144357 A TW 102144357A TW 102144357 A TW102144357 A TW 102144357A TW 201523253 A TW201523253 A TW 201523253A
- Authority
- TW
- Taiwan
- Prior art keywords
- page
- sub
- pages
- data
- storage device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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 codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/7202—Allocation control and policies
-
- 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/7207—Details relating to flash memory management management of metadata or control data
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體包括複數區塊,並且每一區塊包括複數頁面,其中每一頁面具有複數子頁面以及複數備用區塊,每一備用區塊用以儲存一保留資訊,保留資訊分別相應於每一子頁面。控制器用以根據保留資訊對子頁面進行存取。
Description
本發明係關於一種資料儲存裝置,特別係關於可對頁面進行存取之資料儲存裝置。
快閃記憶體係為一種可以被電抹除並且重新寫入的非易失性記憶體,並且主要係應用在記憶卡、USB隨身碟、eMMC以及固態硬碟(Solid-State Disk)中,藉以作為一般的儲存與電腦裝置和數位產品間的資料之轉運。
快閃記憶體係包括眾多的記憶區塊(block),並且每一記憶區塊具有複數個用以儲存資料的儲存頁面(page)。快閃記憶體係以記憶區塊為單元進行抹除,而以儲存頁面為單位進行寫入。當快閃記憶體接收到將區塊全部抹除的命令時,快閃記憶體會逐一對每一區塊中之每一頁面進行抹除的動作。當快閃記憶體需要更新頁面中之部分資料時,快閃記憶體需要將原本頁面中的資料讀出,並將更新的資料以及原頁面不需更新之資料整合後,寫入另一個實體頁面中。
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體包括複數區塊,並且每一區塊包括複數頁面,其中每一頁面具有複數子頁面以及複數備用區塊,每一備用區塊用以儲存一保留資訊(Spare
Data),保留資訊分別相應於每一子頁面。控制器用以根據保留資訊對子頁面進行存取。保留資訊包括所相應之子頁面的一元資料(Meta Data),用以記錄所相應之子頁面的資料。在另一實施例中,保留資訊更包括所相應之元資料的一錯誤檢查碼(ECC Parity)。另外,每一子頁面包括一資料區塊。在另一實施例中,每一子頁面更包括相應於資料區塊之一錯誤檢查碼。另外,備用區塊以及子頁面系交錯排列於頁面中、頁面中之一者之所有備用區塊排列於頁面之前端,或者頁面中之一者之所有備用區塊排列於頁面之後端。在一實施例中,快閃記憶體更包括至少一既定頁面,用以儲存一頁面大小參數,並且頁面大小參數用以代表每一頁面之一頁面大小。
本發明另提供一種資料存取方法,適用於一資料儲存裝置,其中資料儲存裝置包括一快閃記憶體,快閃記憶體包括複數區塊,每一區塊包括複數頁面,每一頁面具有複數子頁面。資料存取方法包括:接收相應於對子頁面中之一第一子頁面進行存取之一存取命令,其中每一頁面更包括複數備用區塊,每一備用區塊用以儲存一保留資訊(Spare Data),保留資訊分別相應於每一子頁面;以及根據相應於第一子頁面之保留資訊,對第一子頁面進行存取,其中保留資訊包括所相應之子頁面的一元資料(Meta Data),用以記錄所相應之子頁面的資料。保留資訊更包括所相應之元資料的一錯誤檢查碼(ECC Parity),並且對第一子頁面進行存取之步驟更包括根據錯誤檢查碼修正元資料之至少一錯誤位元。每一子頁面包括一資料區塊以及相應於資料區塊之一錯誤檢查碼,並且對第一子頁面進
行存取之步驟更包括根據錯誤檢查碼修正子頁面之至少一錯誤位元。在一實施例中,快閃記憶體更包括至少一既定頁面,用以儲存一頁面大小參數,並且頁面大小參數用以代表每一頁面之一頁面大小。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
180‧‧‧快閃記憶體
SP1-SP2‧‧‧備用區塊
SPG1-SPG2‧‧‧頁面
S300-S402‧‧‧步驟
第1圖為本發明所提供之一電子系統之一種實施例的方塊圖。
第2A圖為本發明所提供之頁面之一種實施例的示意圖。
第2B圖為本發明所提供之頁面之另一種實施例的示意圖。
第2C圖為本發明所提供之頁面之另一種實施例的示意圖。
第2D圖為本發明所提供之頁面之另一種實施例的示意圖。
第3圖為本發明所提供之一資料存取方法之一種實施例的流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖為本發明所提供之一電子系統之一種實施例的方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器160,且可根據主機110所下達的命令操作。控制器160包括一運算單元162以及一永久記憶體(如,唯讀記憶體ROM)164。永
久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。快閃記憶體180包括複數區塊,並且每一區塊包括複數頁面。另外,每一頁面具有複數子頁面以及複數備用區塊(Spare Area)。每一子頁面包括一資料區塊。在另一實施例中,每一子頁面更包括相應於資料區塊之一錯誤檢查碼。每一備用區塊用以儲存一保留資訊(Spare Data),保留資訊分別相應於每一子頁面。在一實施例中,保留資訊包括所相應之子頁面的一元資料(Meta Data),用以記錄所相應之子頁面的資料。舉例而言,元資料可包括各區塊、各頁面以及各子頁面之資料屬性,例如從實體子頁面到邏輯子頁面的反轉資訊等等,本發明不限於此。在另一實施例中,保留資訊更包括所相應之元資料的一錯誤檢查碼(ECC Parity)。因此,控制器160可根據保留資訊對頁面中之子頁面進行存取。當每一頁面僅包括一備用區塊時,控制器160僅可對整個頁面進行存取,其中當控制器160所接收之存取命令僅指示對一第一頁面中之一第一扇區(sector)進行寫入時,控制器160需將第一頁面之第一扇區外之其他扇區的資料讀出,並與存取命令所指示需要寫入之資料整合,再將整合後之資料寫入另一頁面中。當頁面中具有複數子頁面以及所相應之複數備用區塊時,控制器160可直接對小於頁面之子頁面進行寫入,其中當控制器160所接收之存取命令僅指示對一第一頁面中之一第一扇區進行寫入,並且第一扇區構成一子頁面時,控制器160可直接將存取命令所指示需要寫入之資料寫入子頁面中。
值得注意的是,在快閃記憶體180具有至少一既定頁面,用以儲存一頁面大小參數,並且頁面大小參數用以代表每一頁面之一頁面大小。舉例而言,在資料儲存裝置140被格式化後,快閃記憶體180中之每一頁面具有一固定之頁面大小,並且相應於頁面大小之頁面大小參數會被儲存於快閃記憶體180之至少一既定頁面中,但本發明不限於此。在其他實施例中,頁面大小參數亦可儲存於電子系統100中之其他記憶體中,並且既定頁面亦可包括其他資料,例如相應於區塊大小之參數、相應於子頁面大小之參數等等,本發明不限於此。另外,頁面大小可為4K、8K、16K等等,本發明不限於此。子頁面之大小可為1K、2K、4K、8K等等,本發明不限於此。當資料儲存裝置140上電時,控制器160讀取既定頁面中之資料,並藉以獲得區塊、頁面、子頁面之大小,以根據不同存取模式對快閃記憶體180進行存取。
舉例而言,每一區塊中之每一頁面的每一子頁面分別具有一邏輯位址以及一實體位址,並且資料儲存裝置140更包括至少一映射表,用以儲存每一區塊中每一子頁面之邏輯位址以及實體位址之對應關係。舉例而言,映射表可儲存於永久記憶體164或者快閃記憶體180中,本發明不限於此。另外,映射表可包括至少一區塊映射表、複數頁面映射表及/或複數子頁面映射表。舉例而言,控制器160可藉由邏輯位址計算出邏輯位址所相應的邏輯區塊以及邏輯子頁面,並且根據區塊映射表,獲得相應於邏輯區塊的實體區塊。接著,根據相應於邏輯區塊的子頁面映射表,獲得相應之子邏輯頁面,再根據子邏
輯頁面定位至實體子頁面,但本發明不限於此。可藉由查表找出相應於邏輯位址的子頁面之實體位址皆為本發明之範疇。
第2A圖為本發明所提供之頁面之一種實施例的示意圖。在本實施例中,頁面200A之頁面大小為8K。頁面200A具有兩個子頁面SPG1-SPG2,子頁面SPG1-SPG2之子頁面大小分別為4K,但本發明不限於此。頁面200A亦可包括子頁面大小為2K之4個子頁面或者子頁面大小為1K之8個子頁面。頁面200A之頁面大亦不限於此。在本實施例中,頁面200A中之備用區塊SP1-SP2系排列於頁面200A之前端,子頁面SPG1-SPG2系排列於頁面200A之後端,其中備用區塊SP1相應於子頁面SPG1,備用區塊SP2相應於子頁面SPG2。
第2B圖為本發明所提供之頁面之另一種實施例的示意圖。在本實施例中,頁面200B之頁面大小為8K。頁面200B具有兩個子頁面SPG1-SPG2,子頁面SPG1-SPG2之子頁面大小分別為4K,但本發明不限於此。頁面200B亦可包括子頁面大小為2K之4個子頁面或者子頁面大小為1K之8個子頁面。頁面200B之頁面大亦不限於此。在本實施例中,頁面200B中所有備用區塊SP1-SP2排列於頁面200B之後端,子頁面SPG1-SPG2系排列於頁面200B之前端,其中備用區塊SP1相應於子頁面SPG1,備用區塊SP2相應於子頁面SPG2。
第2C圖為本發明所提供之頁面之另一種實施例的示意圖。在本實施例中,頁面200C之頁面大小為8K。頁面200C具有兩個子頁面SPG1-SPG2,子頁面SPG1-SPG2之子頁面大小分別為4K,但本發明不限於此。頁面200C亦可包括子頁面大
小為2K之4個子頁面或者子頁面大小為1K之8個子頁面。頁面200C之頁面大亦不限於此。在本實施例中,頁面200C中之備用區塊SP1-SP2系分別排列於頁面200C之前端以及尾端,子頁面SPG1-SPG2系排列於頁面200B之中間,其中備用區塊SP1相應於子頁面SPG1,備用區塊SP2相應於子頁面SPG2。
第2D圖為本發明所提供之頁面之另一種實施例的示意圖。在本實施例中,頁面200C之頁面大小為8K。頁面200D具有兩個子頁面SPG1-SPG2,子頁面SPG1-SPG2之子頁面大小分別為4K,但本發明不限於此。頁面200D亦可包括子頁面大小為2K之4個子頁面或者子頁面大小為1K之8個子頁面。頁面200D之頁面大亦不限於此。在本實施例中,頁面200D中之備用區塊SP1-SP2與子頁面SPG1-SPG2系交錯排列於頁面200D之中間,其中備用區塊SP1相應於子頁面SPG1,備用區塊SP2相應於子頁面SPG2。值得注意的是,在本實施例中,備用區塊SP1-SP2系分別排列於子頁面SPG1-SPG2前面。在另一實施例中,備用區塊SP1-SP2亦可分別排列於子頁面SPG1-SPG2後面,本發明不限於此。其他備用區塊以及子頁面之排列方式亦為本發明之範疇。
第3圖為本發明所提供之一資料存取方法之一種實施例的流程圖。資料存取方法適用於第1圖所示之電子系統100。流程開始於步驟S300。
在步驟S300中,控制器160自主機120接收相應於對子頁面中之一第一子頁面進行存取之一存取命令。
接著,在步驟S302中,控制器160根據相應於第一
子頁面之保留資訊,對第一子頁面進行存取,其中對第一子頁面進行存取之步驟更包括根據錯誤檢查碼修正子頁面之至少一錯誤位元,以及根據錯誤檢查碼修正元資料之至少一錯誤位元。舉例而言,元資料可包括各區塊、各頁面以及各子頁面之資料屬性,例如從實體子頁面到邏輯子頁面的反轉資訊等等,本發明不限於此。在另一實施例中,保留資訊更包括所相應之元資料的一錯誤檢查碼(ECC Parity)。因此,控制器160可根據保留資訊對頁面中之子頁面進行存取。當每一頁面僅包括一備用區塊時,控制器160僅可對整個頁面進行存取,其中當控制器160所接收之存取命令僅指示對一第一頁面中之一第一扇區(sector)進行寫入時,控制器160需將第一頁面之第一扇區外之其他扇區的資料讀出,並與存取命令所指示需要寫入之資料整合,再將整合後之資料寫入另一頁面中。當頁面中具有複數子頁面以及所相應之複數備用區塊時,控制器160可直接對小於頁面之子頁面進行寫入,其中當控制器160所接收之存取命令僅指示對一第一頁面中之一第一扇區進行寫入,並且第一扇區構成一子頁面時,控制器160可直接將存取命令所指示需要寫入之資料寫入子頁面中。
舉例而言,每一區塊中之每一頁面的每一子頁面分別具有一邏輯位址以及一實體位址,並且資料儲存裝置140更包括至少一映射表,用以儲存每一區塊中每一子頁面之邏輯位址以及實體位址之對應關係。舉例而言,映射表可儲存於永久記憶體164或者快閃記憶體180中,本發明不限於此。另外,映射表可包括至少一區塊映射表、複數頁面映射表及/或複數
子頁面映射表。舉例而言,控制器160可藉由邏輯位址計算出邏輯位址所相應的邏輯區塊以及邏輯子頁面,並且根據區塊映射表,獲得相應於邏輯區塊的實體區塊。接著,根據相應於邏輯區塊的子頁面映射表,獲得相應之子邏輯頁面,再根據子邏輯頁面定位至實體子頁面,但本發明不限於此。可藉由查表找出相應於邏輯位址的子頁面之實體位址皆為本發明之範疇。
本發明所提供之資料儲存裝置140以及資料存取方法,可對比頁面更小的單位進行反查。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限
制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
180‧‧‧快閃記憶體
Claims (15)
- 一種資料儲存裝置,包括:一快閃記憶體,包括複數區塊,並且每一上述區塊包括複數頁面,其中每一上述頁面具有複數子頁面以及複數備用區塊,上述每一備用區塊用以儲存一保留資訊(Spare Data),上述保留資訊分別相應於每一上述子頁面;以及一控制器,用以根據上述保留資訊對上述子頁面進行存取。
- 如申請專利範圍第1項所述之資料儲存裝置,其中上述保留資訊包括所相應之上述子頁面的一元資料(Meta Data),用以記錄所相應之上述子頁面的資料。
- 如申請專利範圍第2項所述之資料儲存裝置,其中上述保留資訊更包括所相應之上述元資料的一錯誤檢查碼(ECC Parity)。
- 如申請專利範圍第1項所述之資料儲存裝置,其中每一上述子頁面包括一資料區塊。
- 如申請專利範圍第4項所述之資料儲存裝置,其中每一上述子頁面更包括相應於上述資料區塊之一錯誤檢查碼。
- 如申請專利範圍第1項所述之資料儲存裝置,其中上述快閃記憶體更包括至少一既定頁面,用以儲存一頁面大小參數,並且上述頁面大小參數用以代表每一上述頁面之一頁面大小。
- 如申請專利範圍第1項所述之資料儲存裝置,其中上述備用區塊以及上述子頁面系交錯排列於上述頁面中。
- 如申請專利範圍第1項所述之資料儲存裝置,其中上述頁面中之一者之所有上述備用區塊排列於上述頁面之前端,或者上述頁面中之一者之所有上述備用區塊排列於上述頁面之後端。
- 一種資料存取方法,適用於一資料儲存裝置,其中上述資料儲存裝置包括一快閃記憶體,上述快閃記憶體包括複數區塊,每一上述區塊包括複數頁面,每一上述頁面具有複數子頁面,並且上述資料存取方法包括:接收相應於對上述子頁面中之一第一子頁面進行存取之一存取命令,其中每一上述頁面更包括複數備用區塊,上述每一備用區塊用以儲存一保留資訊(Spare Data),上述保留資訊分別相應於每一上述子頁面;以及根據相應於上述第一子頁面之上述保留資訊,對上述第一子頁面進行存取。
- 如申請專利範圍第9項所述之資料存取方法,其中上述保留資訊包括所相應之上述子頁面的一元資料(Meta Data),用以記錄所相應之上述子頁面的資料。
- 如申請專利範圍第10項所述之資料存取方法,其中上述保留資訊更包括所相應之上述元資料的一錯誤檢查碼(ECC Parity),並且對上述第一子頁面進行存取之步驟更包括根據上述錯誤檢查碼修正上述元資料之至少一錯誤位元。
- 如申請專利範圍第9項所述之資料存取方法,其中每一上述子頁面包括一資料區塊以及相應於上述資料區塊之一 錯誤檢查碼,並且對上述第一子頁面進行存取之步驟更包括根據上述錯誤檢查碼修正上述子頁面之至少一錯誤位元。
- 如申請專利範圍第9項所述之資料存取方法,其中上述快閃記憶體更包括至少一既定頁面,用以儲存一頁面大小參數,並且上述頁面大小參數用以代表每一上述頁面之一頁面大小。
- 如申請專利範圍第9項所述之資料存取方法,其中上述備用區塊以及上述子頁面系交錯排列於上述頁面中。
- 如申請專利範圍第9項所述之資料存取方法,其中上述頁面中之一者之所有上述備用區塊排列於上述頁面之前端,或者上述頁面中之一者之所有上述備用區塊排列於上述頁面之後端。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102144357A TWI603194B (zh) | 2013-12-04 | 2013-12-04 | 資料儲存裝置以及其資料存取方法 |
CN201410041097.0A CN104699417B (zh) | 2013-12-04 | 2014-01-27 | 数据储存装置以及其数据存取方法 |
US14/547,412 US9766974B2 (en) | 2013-12-04 | 2014-11-19 | Data storage device and data access-method |
US15/675,817 US10120752B2 (en) | 2013-12-04 | 2017-08-14 | Data storage device and data access-method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102144357A TWI603194B (zh) | 2013-12-04 | 2013-12-04 | 資料儲存裝置以及其資料存取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201523253A true TW201523253A (zh) | 2015-06-16 |
TWI603194B TWI603194B (zh) | 2017-10-21 |
Family
ID=53265411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102144357A TWI603194B (zh) | 2013-12-04 | 2013-12-04 | 資料儲存裝置以及其資料存取方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9766974B2 (zh) |
CN (1) | CN104699417B (zh) |
TW (1) | TWI603194B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416240A (zh) * | 2019-08-22 | 2021-02-26 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元及存储器存储装置 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI571742B (zh) * | 2015-10-07 | 2017-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及資料維護方法 |
TWI601011B (zh) * | 2016-07-05 | 2017-10-01 | 慧榮科技股份有限公司 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
CN108389600B (zh) * | 2017-02-02 | 2021-02-26 | 慧荣科技股份有限公司 | 数据储存装置以及参数改写方法 |
TWI657336B (zh) * | 2017-08-28 | 2019-04-21 | 慧榮科技股份有限公司 | 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置 |
US10853168B2 (en) * | 2018-03-28 | 2020-12-01 | Samsung Electronics Co., Ltd. | Apparatus to insert error-correcting coding (ECC) information as data within dynamic random access memory (DRAM) |
JP2020046761A (ja) * | 2018-09-14 | 2020-03-26 | 株式会社東芝 | 管理装置、情報処理装置およびメモリ制御方法 |
CN110908924A (zh) * | 2018-09-17 | 2020-03-24 | 北京兆易创新科技股份有限公司 | 一种写入检测方法、装置、终端及存储介质 |
KR20200031924A (ko) | 2018-09-17 | 2020-03-25 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 스토리지 장치 |
US11210016B2 (en) | 2018-12-19 | 2021-12-28 | Samsung Electronics Co., Ltd. | Method of operating memory controller and memory system, and the memory system |
TWI688965B (zh) * | 2019-08-14 | 2020-03-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 |
US11972140B2 (en) | 2021-04-26 | 2024-04-30 | Apple Inc. | Hashing with soft memory folding |
US11693585B2 (en) * | 2021-04-26 | 2023-07-04 | Apple Inc. | Address hashing in a multiple memory controller system |
US12019513B2 (en) | 2022-04-27 | 2024-06-25 | Micron Technology, Inc. | Apparatuses, systems, and methods for per row error scrub information |
US12014797B2 (en) | 2022-04-27 | 2024-06-18 | Micron Technology, Inc. | Apparatuses, systems, and methods for managing metadata storage at a memory |
WO2024107504A1 (en) * | 2022-11-15 | 2024-05-23 | Micron Technology, Inc. | Apparatuses and methods for single-pass access of ecc information, metadata information or combinations thereof |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877542B2 (en) * | 2000-01-06 | 2011-01-25 | Super Talent Electronics, Inc. | High integration of intelligent non-volatile memory device |
US20080046630A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
KR101554159B1 (ko) | 2008-10-08 | 2015-09-21 | 삼성전자주식회사 | 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 |
US8555141B2 (en) * | 2009-06-04 | 2013-10-08 | Lsi Corporation | Flash memory organization |
US8909851B2 (en) * | 2011-02-08 | 2014-12-09 | SMART Storage Systems, Inc. | Storage control system with change logging mechanism and method of operation thereof |
US8756398B2 (en) * | 2011-02-18 | 2014-06-17 | Synopsys Inc. | Partitioning pages of an electronic memory |
TWI459197B (zh) * | 2011-04-21 | 2014-11-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
TWI436212B (zh) * | 2011-07-21 | 2014-05-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
KR101826051B1 (ko) * | 2012-02-27 | 2018-02-07 | 삼성전자주식회사 | 비휘발성 메모리 장치의 제어 방법 및 비휘발성 메모리 시스템 |
-
2013
- 2013-12-04 TW TW102144357A patent/TWI603194B/zh active
-
2014
- 2014-01-27 CN CN201410041097.0A patent/CN104699417B/zh active Active
- 2014-11-19 US US14/547,412 patent/US9766974B2/en active Active
-
2017
- 2017-08-14 US US15/675,817 patent/US10120752B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416240A (zh) * | 2019-08-22 | 2021-02-26 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元及存储器存储装置 |
CN112416240B (zh) * | 2019-08-22 | 2022-10-21 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元及存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
TWI603194B (zh) | 2017-10-21 |
US20170344423A1 (en) | 2017-11-30 |
US20150154071A1 (en) | 2015-06-04 |
US10120752B2 (en) | 2018-11-06 |
CN104699417A (zh) | 2015-06-10 |
US9766974B2 (en) | 2017-09-19 |
CN104699417B (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI603194B (zh) | 資料儲存裝置以及其資料存取方法 | |
KR102567140B1 (ko) | 데이터 관리 방법 및 이를 수행하는 저장 장치 | |
US9697116B2 (en) | Storage system and writing method thereof | |
US10127166B2 (en) | Data storage controller with multiple pipelines | |
US9779022B2 (en) | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same | |
TWI690803B (zh) | 能夠快速產生或更新有效頁數目對照表之內容的快閃記憶體控制器、方法及對應的儲存裝置 | |
TWI515737B (zh) | 資料儲存裝置以及其資料抹除方法 | |
US10942678B2 (en) | Method of accessing data in storage device, method of managing data in storage device and storage device performing the same | |
US10929303B2 (en) | Data storage device utilizing virtual blocks to improve performance and data storage method thereof | |
KR102530583B1 (ko) | 저장 장치 및 메모리 시스템 | |
US11269783B2 (en) | Operating method for data storage device | |
TWI579689B (zh) | 資料備份系統 | |
US8380920B2 (en) | Flash storage device and data access method of flash memory | |
US20160283367A1 (en) | Data storage device and data accessing method thereof | |
US20130326120A1 (en) | Data storage device and operating method for flash memory | |
US20230315646A1 (en) | Method of managing data in storage device based on variable size mapping, method of operating storage device using the same and storage device performing the same | |
US11693574B2 (en) | Method of writing data in storage device and storage device performing the same | |
KR102709146B1 (ko) | 저장 장치의 데이터 액세스 방법, 데이터 관리 방법 및 이를 수행하는 저장 장치 | |
TWI587211B (zh) | 資料儲存裝置的映像檔製作方法 | |
US20080059691A1 (en) | Memory management module | |
KR20100106109A (ko) | 플래시 메모리장치 | |
US20140297942A1 (en) | Data cache for a storage array | |
KR20120110671A (ko) | 디바이스 드라이버에서의 캐시 컨트롤 테이블 검색 방법 |