CN104699417B - 数据储存装置以及其数据存取方法 - Google Patents
数据储存装置以及其数据存取方法 Download PDFInfo
- Publication number
- CN104699417B CN104699417B CN201410041097.0A CN201410041097A CN104699417B CN 104699417 B CN104699417 B CN 104699417B CN 201410041097 A CN201410041097 A CN 201410041097A CN 104699417 B CN104699417 B CN 104699417B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- page
- subpage frame
- data
- flash memory
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013500 data storage Methods 0.000 title abstract description 4
- 230000015654 memory Effects 0.000 claims abstract description 47
- 238000013507 mapping Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000010354 integration Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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),并且对第一子页面进行存取的步骤更包括根据错误检查码修正元数据的至少一错误比特。每一子页面包括一数据区块以及相应于数据区块的一错误检查码,并且对第一子页面进行存取的步骤更包括根据错误检查码修正子页面的至少一错误比特。在一实施例中,快闪存储器更包括至少一既定页面,用以储存一页面大小参数,并且页面大小参数用以代表每一页面的一页面大小。
附图说明
图1为本发明所提供的一电子系统的一种实施例的方块图。
图2A为本发明所提供的页面的一种实施例的示意图。
图2B为本发明所提供的页面的另一种实施例的示意图。
图2C为本发明所提供的页面的另一种实施例的示意图。
图2D为本发明所提供的页面的另一种实施例的示意图。
图3为本发明所提供的一数据存取方法的一种实施例的流程图。
【附图标记说明】
100 电子系统;
120 主机;
140 数据储存装置;
160 控制器;
162 运算单元;
164 永久存储器;
180 快闪存储器;
SP1-SP2 备用区块;
SPG1-SPG2 页面;
S300-S402 步骤。
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
图1为本发明所提供的一电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机110所下达的命令操作。控制器160包括一运算单元162以及一永久存储器(如,只读存储器ROM)164。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。快闪存储器180包括多个区块,并且每一区块包括多个页面。另外,每一页面具有多个子页面以及多个备用区块(Spare Area)。每一子页面包括一数据区块。在另一实施例中,每一子页面更包括相应于数据区块的一错误检查码。每一备用区块用以储存一保留信息(Spare Data),保留信息分别相应于每一子页面。在一实施例中,保留信息包括所相应的子页面的一元数据(MetaData),用以记录所相应的子页面的数据。举例而言,元数据可包括各区块、各页面以及各子页面的数据属性,例如从实体子页面到逻辑子页面的反转信息等等,本发明不限于此。在另一实施例中,保留信息更包括所相应的元数据的一错误检查码(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以及数据存取方法,可对比页面更小的单位进行反查。
本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可储存于实体媒体,如软碟、光碟片、硬盘、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明权利要求及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或权利要求不须达成本发明所揭露的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。
Claims (15)
1.一种数据储存装置,包括:
一快闪存储器,包括多个区块,并且每一上述区块包括多个页面,其中每一上述页面具有多个子页面以及多个备用区块,上述每一备用区块用以储存一保留信息,上述保留信息分别相应于每一上述子页面;以及
一控制器,用以根据上述保留信息对上述子页面进行存取;
其中上述子页面的其中一者可由上述快闪存储器的一存取指令所直接存取,
其中当上述数据储存装置上电时,上述控制器读取在上述快闪存储器中的至少一既定页面中的数据,并借以获得上述区块、上述页面、及上述子页面的大小,以根据不同存取模式对上述快闪存储器进行存取。
2.如权利要求1所述的数据储存装置,其特征在于,上述保留信息包括所相应的上述子页面的一元数据,用以记录所相应的上述子页面的数据。
3.如权利要求2所述的数据储存装置,其特征在于,上述保留信息更包括所相应的上述元数据的一错误检查码。
4.如权利要求1所述的数据储存装置,其特征在于,每一上述子页面包括一数据区块。
5.如权利要求4所述的数据储存装置,其特征在于,每一上述子页面更包括相应于上述数据区块的一错误检查码。
6.如权利要求1所述的数据储存装置,其特征在于,上述快闪存储器更包括至少一既定页面,用以储存一页面大小参数,并且上述页面大小参数用以代表每一上述页面的一页面大小。
7.如权利要求1所述的数据储存装置,其特征在于,上述备用区块以及上述子页面是交错排列于上述页面中。
8.如权利要求1所述的数据储存装置,其特征在于,上述页面中的一个的所有上述备用区块排列于上述页面的前端,或者上述页面中的一个的所有上述备用区块排列于上述页面的后端。
9.一种数据存取方法,适用于一数据储存装置,其中上述数据储存装置包括一快闪存储器,上述快闪存储器包括多个区块,每一上述区块包括多个页面,每一上述页面具有多个子页面,并且上述数据存取方法包括:
接收相应于对上述子页面中的一第一子页面进行存取的一存取命令,其中每一上述页面更包括多个备用区块,上述每一备用区块用以储存一保留信息,上述保留信息分别相应于每一上述子页面;
根据相应于上述第一子页面的上述保留信息,对上述第一子页面进行存取,其中上述子页面的其中一者可由上述快闪存储器的一存取指令所直接存取;以及
当上述数据储存装置上电时,读取在上述快闪存储器中的至少一既定页面中的数据,并借以获得上述区块、上述页面、及上述子页面的大小,以根据不同存取模式对上述快闪存储器进行存取。
10.如权利要求9所述的数据存取方法,其特征在于,上述保留信息包括所相应的上述子页面的一元数据,用以记录所相应的上述子页面的数据。
11.如权利要求10所述的数据存取方法,其特征在于,上述保留信息更包括所相应的上述元数据的一错误检查码,并且对上述第一子页面进行存取的步骤更包括根据上述错误检查码修正上述元数据的至少一错误比特。
12.如权利要求9所述的数据存取方法,其特征在于,每一上述子页面包括一数据区块以及相应于上述数据区块的一错误检查码,并且对上述第一子页面进行存取的步骤更包括根据上述错误检查码修正上述子页面的至少一错误比特。
13.如权利要求9所述的数据存取方法,其特征在于,上述快闪存储器更包括至少一既定页面,用以储存一页面大小参数,并且上述页面大小参数用以代表每一上述页面的一页面大小。
14.如权利要求9所述的数据存取方法,其特征在于,上述备用区块以及上述子页面是交错排列于上述页面中。
15.如权利要求9所述的数据存取方法,其特征在于,上述页面中的一个的所有上述备用区块排列于上述页面的前端,或者上述页面中的一个的所有上述备用区块排列于上述页面的后端。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102144357 | 2013-12-04 | ||
TW102144357A TWI603194B (zh) | 2013-12-04 | 2013-12-04 | 資料儲存裝置以及其資料存取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699417A CN104699417A (zh) | 2015-06-10 |
CN104699417B true CN104699417B (zh) | 2018-05-04 |
Family
ID=53265411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410041097.0A Active CN104699417B (zh) | 2013-12-04 | 2014-01-27 | 数据储存装置以及其数据存取方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9766974B2 (zh) |
CN (1) | CN104699417B (zh) |
TW (1) | TWI603194B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI571742B (zh) * | 2015-10-07 | 2017-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及資料維護方法 |
TWI601011B (zh) * | 2016-07-05 | 2017-10-01 | 慧榮科技股份有限公司 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
CN112992231A (zh) * | 2017-02-02 | 2021-06-18 | 慧荣科技股份有限公司 | 数据储存装置以及参数改写方法 |
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 | 株式会社東芝 | 管理装置、情報処理装置およびメモリ制御方法 |
KR20200031924A (ko) | 2018-09-17 | 2020-03-25 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 스토리지 장치 |
CN110908924A (zh) * | 2018-09-17 | 2020-03-24 | 北京兆易创新科技股份有限公司 | 一种写入检测方法、装置、终端及存储介质 |
KR20200076431A (ko) | 2018-12-19 | 2020-06-29 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 시스템의 동작 방법, 및 메모리 시스템 |
TWI688965B (zh) * | 2019-08-14 | 2020-03-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 |
CN112416240B (zh) * | 2019-08-22 | 2022-10-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 |
US12014797B2 (en) | 2022-04-27 | 2024-06-18 | Micron Technology, Inc. | Apparatuses, systems, and methods for managing metadata storage at a memory |
US12019513B2 (en) | 2022-04-27 | 2024-06-25 | Micron Technology, Inc. | Apparatuses, systems, and methods for per row error scrub information |
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
Also Published As
Publication number | Publication date |
---|---|
US20150154071A1 (en) | 2015-06-04 |
US20170344423A1 (en) | 2017-11-30 |
CN104699417A (zh) | 2015-06-10 |
TW201523253A (zh) | 2015-06-16 |
TWI603194B (zh) | 2017-10-21 |
US10120752B2 (en) | 2018-11-06 |
US9766974B2 (en) | 2017-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699417B (zh) | 数据储存装置以及其数据存取方法 | |
US10255192B2 (en) | Data storage device and data maintenance method thereof | |
US10127166B2 (en) | Data storage controller with multiple pipelines | |
US8892814B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN109871333B (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
TWI759699B (zh) | 能夠快速產生或更新有效頁數目對照表之內容的快閃記憶體控制器、方法及對應的儲存裝置 | |
US20140289451A1 (en) | Method of recording mapping information, and memory controller and memory storage apparatus using the same | |
US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI515737B (zh) | 資料儲存裝置以及其資料抹除方法 | |
CN102831072B (zh) | 闪存设备及其管理方法、数据读写方法及读写装置 | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9442834B2 (en) | Data management method, memory controller and memory storage device | |
US20120198131A1 (en) | Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
CN102867046B (zh) | 基于固态硬盘的数据库优化方法及系统 | |
US20140089566A1 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN106844229A (zh) | 固态硬盘固件映射表的组织方法、系统及装置 | |
CN110968527B (zh) | Ftl提供的缓存 | |
US20140052902A1 (en) | Electronic device and method of generating virtual universal serial bus flash device | |
TW201337553A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN107870736B (zh) | 支持大于4gb非线性闪存的方法及装置 | |
CN105739927A (zh) | 一种基于软核处理器的移动存储卡读写方法及文件升级系统 | |
CN111897489A (zh) | 数据写入方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |