[go: up one dir, main page]

CN101676885B - Data management method and its storage device and its controller - Google Patents

Data management method and its storage device and its controller Download PDF

Info

Publication number
CN101676885B
CN101676885B CN 200810130955 CN200810130955A CN101676885B CN 101676885 B CN101676885 B CN 101676885B CN 200810130955 CN200810130955 CN 200810130955 CN 200810130955 A CN200810130955 A CN 200810130955A CN 101676885 B CN101676885 B CN 101676885B
Authority
CN
China
Prior art keywords
mother
data
block
child blocks
write
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
Application number
CN 200810130955
Other languages
Chinese (zh)
Other versions
CN101676885A (en
Inventor
朱健华
叶志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN 200810130955 priority Critical patent/CN101676885B/en
Publication of CN101676885A publication Critical patent/CN101676885A/en
Application granted granted Critical
Publication of CN101676885B publication Critical patent/CN101676885B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

A data management method, a storage device and a controller thereof are provided. The method is suitable for a storage device with a plurality of blocks, wherein partial blocks in the blocks are associated into a plurality of mother-child blocks. The method at least comprises the following steps: checking whether the parent-child block of the current data to be written is the same as the parent-child block of the last data to be written; (b) if the mother-child block of the current data to be written is different from the mother-child block of the last data to be written, recording the transient information of the mother-child block of the current data to be written into the table.

Description

数据管理方法及其存储装置与其控制器Data management method and its storage device and its controller

技术领域 technical field

本发明涉及一种数据管理方法及其存储装置与其控制器,且特别涉及一种用于快闪存储器存储装置的数据管理方法及此存储装置与其控制器。  The invention relates to a data management method and its storage device and its controller, and in particular to a data management method for a flash memory storage device, the storage device and its controller. the

背景技术 Background technique

随着存储与半导体技术的进步与发展,目前大容量、小尺寸且速度快的存储装置已经充斥于市面。其中,快闪存储器的发明让人们可以轻松地将数据存储在快闪存储器内,并且可以将快闪存储器所存储的数据传送到与其连接的计算机上。  With the advancement and development of storage and semiconductor technologies, storage devices with large capacity, small size and high speed are already flooding the market. Among them, the invention of the flash memory allows people to easily store data in the flash memory and transmit the data stored in the flash memory to a computer connected to it. the

传统快闪存储器的控制器在使用时,并不会将每一个变量信息都存储下来。如果存储每一个变量信息,则会增加其控制器的负担与工作时间,而使其写入速度下降。因此,传统快闪存储器的控制器仅有在变换区域(Zone)时才可能会把一些表格(Table)存储下来,其中,上述的表格例如是逻辑实体对应表。一般而言,变换区域的频率不会太高。因此,在变换区域时将一些表格存储下来所导致的时间损失与存取速度的下降是可以接受的。  When the traditional flash memory controller is in use, it does not store every variable information. If each variable information is stored, the burden and working time of the controller will be increased, and the writing speed will decrease. Therefore, the controller of the traditional flash memory may only store some tables (Tables) when changing zones (Zones), wherein the above-mentioned tables are, for example, logical entity correspondence tables. Generally speaking, the frequency of the transformed region will not be too high. Therefore, the time loss and the decline in access speed caused by storing some tables when changing regions are acceptable. the

另外,传统的快闪存储器在使用时,为了速度考量,并不会在每次指令下来时都存储变量数据。更一进步地说,其所有的变量数据都是在刚开机时通过扫描并分析其内部的区块(Block)时所重建的。  In addition, when the traditional flash memory is used, for the sake of speed, it does not store variable data every time an instruction is issued. To put it further, all its variable data are reconstructed by scanning and analyzing its internal blocks (Block) when it is just turned on. the

但是,在不正常断电的情况下,重建内部的变量数据就会产生难度。因为快闪存储器无法得知其内部的数据是否正确,而且区块的数据在不正常断电的情况下会变得不稳定,也许开机扫描时,区块的数据是正常的,但是在开始存取后就会变得不正常。因此,上述的问题将会使快闪存储器的控制器的内部程序在判断上会产生困难,并且间接地影响到其数据的稳定性。  However, in the case of abnormal power failure, it will be difficult to reconstruct the internal variable data. Because the flash memory cannot know whether its internal data is correct, and the data of the block will become unstable when the power is abnormally cut off. Maybe the data of the block is normal when it is turned on and scanned, but when it starts to save It will become abnormal after taking it. Therefore, the above-mentioned problems will make the internal program of the controller of the flash memory difficult to judge, and indirectly affect the stability of its data. the

发明内容 Contents of the invention

本发明的实施例提供一种数据管理方法、其控制器与其存储装置。  Embodiments of the present invention provide a data management method, its controller and its storage device. the

本发明的实施例提供一种数据管理方法,适用于具有多个区块的存储装置,其中,这些区块中的部分区块关联成为多个母子区块(Mother and Child Block,简称为M&C Block)。此数据管理方法包括:(a)检查目前要写入数据的母子区块是否与上一次写入数据的母子区块相同;(b)若目前要写入数据的母子区块与上一次写入数据的母子区块不同,则记录目前要写入数据的母子区块的暂态信息至母子暂态关系表。  Embodiments of the present invention provide a data management method, which is applicable to a storage device with multiple blocks, wherein some blocks in these blocks are associated into multiple Mother and Child Blocks (M&C Blocks, referred to as M&C Blocks for short). ). This data management method includes: (a) checking whether the mother-child block to be written into data is the same as the mother-child block of the last write data; (b) if the mother-child block to be written into data is the same as the last write If the parent and child blocks of the data are different, the transient information of the parent and child blocks to be written into data is recorded in the parent and child transient relationship table. the

本发明的实施例提供一种数据管理系统,用于具有多个区块的存储装置,其中,这些区块中的部分区块关联成为多个母子区块。此数据管理系统包括:用于检查目前要写入数据的该母子区块是否与上一次写入数据的该母子区块相同的部件;用于当目前要写入数据的该母子区块与上一次写入数据的该母子区块相同时将目前要写入的数据写入至目前要写入数据的该母子区块的部件;以及用于当目前要写入数据的该母子区块与上一次写入数据的该母子区块不同时记录目前要写入数据的该母子区块的一暂态信息至一母子暂态关系表并将目前要写入的数据写入至目前要写入数据的该母子区块的部件。  An embodiment of the present invention provides a data management system for a storage device with multiple blocks, wherein some of the blocks are associated into a plurality of parent and child blocks. This data management system includes: the part that is used to check whether this mother-child block that will write data at present is identical with this mother-child block that writes data last time; When the mother-child block of writing data is the same, the data to be written at present is written to the parts of the mother-child block of data to be written at present; The parent-child block that writes data at one time does not simultaneously record a transient information of the parent-child block that is currently writing data to a parent-child transient relationship table and writes the data currently to be written into the current data to be written Components of the parent-child block. the

本发明的实施例提供一种存储装置,包括存储区块电路、系统电路与控制器。存储区块电路具有多个区块,并用以存储数据,其中,这些区块中的部分区块关联成为多个母子区块。系统电路用以存储至少一母子区块暂态关系表。控制器耦接于存储区块电路与系统电路,用以检查目前要写入数据的母子区块是否与上一次写入数据的母子区块相同,如果目前要写入数据的母子区块与上一次写入数据的母子区块不同,则记录目前要写入数据的母子区块的一暂态信息至母子区块暂态关系表。  An embodiment of the present invention provides a storage device, including a storage block circuit, a system circuit and a controller. The storage block circuit has a plurality of blocks for storing data, wherein some of the blocks are associated into a plurality of mother and child blocks. The system circuit is used for storing at least one parent-sub-block transient relationship table. The controller is coupled to the memory block circuit and the system circuit, and is used to check whether the mother-child block to be written into data is the same as the mother-child block to be written to last time, if the mother-child block to be written into data is the same as the previous If the mother and child blocks for data writing are different, a transient state information of the mother and child blocks to be written into data is recorded in the mother and child block transient relationship table. the

本发明的实施例提供的增加数据稳定性的方法及其控制器可以让使用此方法或控制器的存储装置增加数据的稳定性,以藉此避免不正常断电时会有数据不稳定的现象。另外,因为仅有在目前要写入数据的母子区块与上一次写入数据的母子区块不同时,才会记录目前要写入数据的母子区块的暂态信息,所以使用本发明的实施例所提供的数据管理方法及其控制器与存储装置在其写入速度上,并不会有太大的影响。  The method for increasing data stability and its controller provided by the embodiments of the present invention can increase the stability of data in storage devices using this method or controller, so as to avoid data instability during abnormal power failures . In addition, because the transient state information of the mother-child block to be written into data is only recorded when the mother-child block to be written in data is different from the mother-child block of the last write-in data, the method of the present invention is used The data management method and its controller and storage device provided by the embodiments do not have much influence on the writing speed. the

为让本发明的上述特征和优点能更明显易懂,下文特举优选实施例,并配合附图,作详细说明如下。  In order to make the above-mentioned features and advantages of the present invention more comprehensible, preferred embodiments will be described in detail below together with the accompanying drawings. the

附图说明Description of drawings

图1绘示了快闪存储器的存储装置在存储时的暂态示意图。  FIG. 1 is a schematic diagram of a transient state of a flash memory storage device during storage. the

图2是本发明的实施例所提供的用于快闪存储器的存储装置的数据管理方法的流程图。  FIG. 2 is a flowchart of a data management method for a flash memory storage device provided by an embodiment of the present invention. the

图3是本发明的实施例所提供的存储装置30与其控制器300的系统方块图。  FIG. 3 is a system block diagram of a storage device 30 and its controller 300 provided by an embodiment of the present invention. the

【主要元件符号说明】  【Description of main component symbols】

Block 0:母区块  Block 0: parent block

Block 1:子区块  Block 1: Sub-block

Page 0~Page N:页面  Page 0~Page N: page

S20~S28:步骤流程  S20~S28: Step process

30:存储装置  30: storage device

300:控制器  300: controller

301:微处理器  301: Microprocessor

302:缓冲器  302: Buffer

303:存储区块电路  303: Memory block circuit

304:系统电路  304: System circuit

具体实施方式 Detailed ways

在介绍本发明实施例所提供的数据管理方法及其存储装置与其控制器之前,在此先简述一下使用快闪存储器的存储装置的写入原理。快闪存储器的存储装置具有多个区块可以存储数据,每一个区块又包含多个页面。快闪存储器的存储装置在擦除时是以区块为单位,而在读取或写入时则是以页面为单位。在快闪存储器的存储装置要写入数据至某一个已经存有数据的区块时,会先将此存有数据的区块中的部分数据搬移到其另一个无记录数据的区块。其中,上述的原来存有数据的区块又称为母区块,而上述的原来无记录数据,且被用以与一母区块关联的区块又称为子区块,此外,值得说明的是,在本发明中,由在此快闪存储器的特性,该无记录数据的区块是指该区块中各个正常单元所存储的数据皆为1,但依各快闪存储器规格的不同,该无记录数据的定义并不以此为限。接着,快闪存储器的存储装置将所预写入的数据写入此子区块相对应的页面,及母区块的其它数据 则亦会搬移到此子区块上相对应的页面,接着,母区块会被擦除(Erased),最后,逻辑实体对应表会将其对应关系更新。如果本来母区块的逻辑区块编号是Logic_0,母区块的实体区块编号Block0,而子区块的实体区块编号Block1,那么,上述的逻辑实体对应表在未更新前,逻辑区块编号Logic0是对应至实体区块编号Block0,而在逻辑实体对应表更新后,逻辑区块编号Logic0是对应至实体区块编号Block1。换句话说,就是快闪存储器内的区块的地址并未改变,而是逻辑实体表的内容有所更新,以让实际上的逻辑地址正确地对应至实体区块,使得数据之后能被正确地读出与写入。  Before introducing the data management method provided by the embodiments of the present invention, the storage device and its controller, here is a brief description of the writing principle of the storage device using the flash memory. The storage device of the flash memory has a plurality of blocks for storing data, and each block includes a plurality of pages. The storage device of the flash memory uses a block as a unit when erasing, and uses a page as a unit when reading or writing. When the storage device of the flash memory wants to write data into a certain block that has stored data, it will first move part of the data in the block that has stored data to another block that does not record data. Among them, the above-mentioned block that originally stored data is also called a parent block, and the above-mentioned block that originally has no recorded data and is used to associate with a parent block is also called a child block. In addition, it is worth explaining What is, in the present invention, due to the characteristics of the flash memory here, the block without recording data means that the data stored in each normal unit in the block is all 1, but according to the different specifications of each flash memory , the definition of the non-recorded data is not limited to this. Then, the storage device of the flash memory writes the pre-written data into the page corresponding to the sub-block, and other data of the parent block will also be moved to the corresponding page on the sub-block, and then, The parent block will be erased (Erased), and finally, the logical entity correspondence table will update its correspondence. If the logical block number of the parent block is Logic_0, the physical block number of the parent block is Block0, and the physical block number of the child block is Block1, then, before the above logical entity correspondence table is updated, the logical block The number Logic0 corresponds to the physical block number Block0, and after the logical entity correspondence table is updated, the logical block number Logic0 corresponds to the physical block number Block1. In other words, the address of the block in the flash memory has not changed, but the content of the logical entity table has been updated, so that the actual logical address corresponds to the physical block correctly, so that the data can be correctly read later. read and write. the

然而,上述的存取方式仅是一种实施方式,并非用以限定本发明,其中,上述快闪存储器详细的存取方式可参考US12/047144,在此不再多加赘述。在母区块尚未被擦除,且子区块与母区块上的数据尚未被合并时,此种暂态的关系会被记录至母子区块暂态关系表。其中,合并子区块与母区块上的数据是指将母区块的多笔有效数据全部搬至子区块,并清除母子区块之间的对应关系与更新逻辑实体对应表。其中,这个母子区块暂态关系表包括子区块的逻辑地址、子区块中的更新页面与母区块中的页面的对应关系、更新数据的版本、此次开机至目前所有实体区块的擦除次数、母区块的擦除次数、子区块的擦除次数、目前存在的各母子区块的映射数据、最近一次的写入指令逻辑地址或其对应的母子区块或其他可供协助平均各实体区块磨损次数的相关数据。  However, the above-mentioned access method is only an implementation manner, and is not used to limit the present invention. For the detailed access method of the above-mentioned flash memory, please refer to US12/047144, which will not be repeated here. When the parent block has not been erased and the data on the child block and the parent block have not been merged, the transient relationship will be recorded in the parent-child block transient relationship table. Among them, merging the data on the child block and the parent block refers to moving all the multiple valid data of the parent block to the child block, and clearing the corresponding relationship between the parent and child blocks and updating the logical entity correspondence table. Among them, the parent-sub-block transient relationship table includes the logical address of the sub-block, the corresponding relationship between the updated page in the sub-block and the page in the parent block, the version of the updated data, and all physical blocks up to now. The erasing times of the parent block, the erasing times of the sub-blocks, the mapping data of each existing parent-child block, the latest write command logic address or its corresponding parent-child block or other possible Relevant data to assist in averaging the wear times of each physical block. the

请先参考图1,图1绘示了快闪存储器的存储装置在存储时的暂态示意图。其中,图1的例子与上述例子具有不同的写入方式,但是这些写入方式都不会用来限制本发明。假设逻辑实体表中记录快闪存储器的逻辑区块地址Logic0对应实体区块Block0,且这个实体区块Block0以经存有多笔有效的有效数据,例如实体区块Block0的页面Page0~Page N皆存有有效数据。如果要写入数据的逻辑地址对应于实体区块Block0的页面Page2与Page3时,则快闪存储器的存储装置的系统控制芯片会寻找一个无记录数据的区块,通常是备用区域中的区块,例如备用区块Block1,并将备用区块Block1与实体区块Block0关联成为一组母子区块,然后才开始进行数据的写入。换句话说,就是有数据要写入已经存有有效数据的实体区块时,则存储装置会寻找一个空的区块与此实体区块关联成一组母子区块。因此,实体区块Block0可以视为母区块Block0,而备用区块Block1则可 视为母区块Block0所对应的子区块Block1。接着,因为,母区块Block0的页面Page0与Page1的数据为有效的数据,所以,母区块Block0的页面Page0与Page1的数据会被搬至子区块Block1的页面Page0与Page1。  Please refer to FIG. 1 first. FIG. 1 shows a transient schematic diagram of a flash memory storage device during storage. Wherein, the example in FIG. 1 has different writing methods from the above example, but these writing methods are not used to limit the present invention. Assume that the logical block address Logic0 of the flash memory recorded in the logical entity table corresponds to the physical block Block0, and this physical block Block0 has stored multiple valid valid data, for example, the pages Page0~Page N of the physical block Block0 are all Valid data exists. If the logical address of the data to be written corresponds to the pages Page2 and Page3 of the physical block Block0, the system control chip of the storage device of the flash memory will search for a block without recorded data, usually a block in the spare area , such as the spare block Block1, and associate the spare block Block1 with the physical block Block0 to form a group of mother and child blocks, and then start writing data. In other words, when there is data to be written into a physical block that already has valid data, the storage device will search for an empty block and associate it with the physical block to form a set of parent and child blocks. Therefore, the physical block Block0 can be regarded as the parent block Block0, and the backup block Block1 can be regarded as the sub-block Block1 corresponding to the parent block Block0. Then, because the data of the pages Page0 and Page1 of the parent block Block0 are valid data, the data of the pages Page0 and Page1 of the parent block Block0 will be moved to the pages Page0 and Page1 of the child block Block1. the

然后,新的数据会依序写入子区块Block1的页面Page2与Page3,在未将母区块Block0的页面Page4~Page N的数据复制至子区块Block1的页面Page4~Page N前,也就是未关闭此组母子区块前,此种暂态的关系可以记录为母子区块暂态关系表。因为页面Page4~Page N的数据可能会于之后的指令被更动,如果能够先将此暂态的关系存储,并等到需要关闭母子区块时才关闭母子区块,则可以减少无谓的搬移与擦除区块的动作。另外,通过逻辑实体表与母子区块暂态关系表,逻辑区块地址与实体区块地址的映射上会使多个实体区块地址对应到一个逻辑区块地址,换句话说,就是母区块Block0与子区块Block1的内容整合起来才是对应逻辑区块的内容。  Then, the new data will be sequentially written into the pages Page2 and Page3 of the sub-block Block1. That is, before the group of parent-child blocks is closed, this transient relationship can be recorded as a parent-child block transient relationship table. Because the data of pages Page4~Page N may be changed in subsequent commands, if this transient relationship can be stored first, and the parent and child blocks are closed only when the parent and child blocks need to be closed, unnecessary moving and The action of erasing a block. In addition, through the logical entity table and the parent-child block transient relationship table, the mapping between the logical block address and the physical block address will make multiple physical block addresses correspond to a logical block address, in other words, it is the parent block The content of the block Block0 and the sub-block Block1 is integrated to be the content of the corresponding logical block. the

为了有效地管理快闪存储器内的数据,最好的作法就是在每次指令来时就把内部的变量记录下来。那么在下次开机时就能够知道哪个区块的哪个页面(Page)在断电前正在被写入,且此时就仅只需针对这个区块去处理即可。所以,每次接收写入指令时,都记录子区块的逻辑地址、子区块中的更新页面与母区块中的页面的对应关系以及更新数据的版本等信息于母子区块暂态关系表的方法是最稳固(Robust)的数据管理方法,但是,此方法对于其存取速度的影响很大。  In order to effectively manage the data in the flash memory, the best way is to record the internal variables every time an instruction comes. Then when the computer is turned on next time, it can be known which page (Page) of which block is being written before the power is turned off, and at this time, it only needs to be processed for this block. Therefore, every time a write command is received, information such as the logical address of the child block, the corresponding relationship between the updated page in the child block and the page in the parent block, and the version of the updated data are recorded in the parent-child block transient relationship The table method is the most robust (Robust) data management method, but this method has a great impact on its access speed. the

因此,本发明的作法为在每次要写入不同母子区块时会将子区块的逻辑地址、子区块中的更新页面与母区块中的页面的对应关系、更新数据的版本等信息、此次开机至目前所有实体区块的擦除次数、母区块的擦除次数、子区块的擦除次数、目前存在的各母子区块的映射数据、最近一次的写入指令逻辑地址或其对应的母子区块或其他可供协助平均各实体区块磨损次数平均的相关数据记录在母子区块暂态关系表内。如果下次指令是要写入上次写入的子区块(Child Block)时,就不会将子区块的逻辑地址、子区块中的更新页面与母区块中的页面的对应关系、更新数据的版本、此次开机至目前所有实体区块的擦除次数、母区块的擦除次数子区块的擦除次数、目前存在的各母子区块的映射数据、至少最近一次的写入指令逻辑地址或其对应的母子区块或或其他可供协助实体区块磨损次数平均的相关数据记 录在母子区块暂态关系表。因为,这种状况表示这次数据是接续之前数据的连续数据,不过亦有可能是随机但刚好对应至相同的母区块的数据,因此,此时的母子区块的暂态信息(包括子区块的逻辑地址、子区块中的更新页面与母区块中的页面的对应关系、更新数据的版本、此次开机至目前所有实体区块的擦除次数、母区块的擦除次数子区块的擦除次数、目前存在的各母子区块的映射数据、至少最近一次的写入指令逻辑地址或其对应的母子区块或其他可供协助实体区块磨损次数平均的相关数据)并不需要存储至母子区块暂态关系表。如果下次的指令要写入数据的母子区块并不是另外的上一次写入数据的母子区块,则需将暂态信息存入母子区块暂态关系表。因此,可以利用目前写入的母子区块是否与上一次写入的母子区块相同来判断是不是需要须将目前的暂态信息记录至母子区块暂态关系表,以藉此有效地管理数据且不会严重影响到其写入速度。  Therefore, the method of the present invention is to write the logical address of the sub-block, the corresponding relationship between the updated page in the sub-block and the page in the parent block, the version of the updated data, etc. Information, the erasing times of all physical blocks from this boot up, the erasing times of the parent block, the erasing times of the sub-blocks, the mapping data of each existing parent-child block, and the latest write command logic The address or its corresponding parent-child block or other relevant data that can assist in averaging the wear times of each physical block is recorded in the parent-child block transient relationship table. If the next instruction is to write to the child block (Child Block) written last time, the logical address of the child block, the corresponding relationship between the updated page in the child block and the page in the parent block will not be , the version of the updated data, the number of erasing times of all physical blocks from this boot up to the present, the number of times of erasing of the parent block, the number of times of erasing of the sub-blocks, the mapping data of each parent-child block currently existing, at least the latest The logical address of the write command or its corresponding parent-child block or other relevant data that can assist the average wear times of the physical block is recorded in the parent-child block transient relationship table. Because this situation indicates that the data this time is continuous data that continues the previous data, but it may also be random but just corresponds to the same parent block data. Therefore, the transient information of the parent and child blocks at this time (including child The logical address of the block, the corresponding relationship between the updated page in the sub-block and the page in the parent block, the version of the updated data, the erasing times of all physical blocks from this boot up to the present, and the erasing times of the parent block Erasing times of sub-blocks, mapping data of existing parent and sub-blocks, at least the most recent write command logic address or its corresponding parent and sub-blocks, or other relevant data that can assist in averaging the wear times of physical blocks) It does not need to be stored in the parent-child block transient relationship table. If the parent-child block to which data is to be written in the next instruction is not another parent-child block in which data was written last time, the transient information needs to be stored in the parent-child block transient relationship table. Therefore, it is possible to determine whether the current transient information needs to be recorded in the parent-child block transient relationship table by using whether the currently written parent-child block is the same as the last written parent-child block, so as to effectively manage data without seriously affecting its write speed. the

在下次开机时,或是在开机后的第一个写入指令下来时,快闪存储器为了能够有效地管理数据,会强行关闭(close)断电之前正在被写入的母子区块,也就是将母区块的其它页面的有效数据搬至子区块对应的页面。因此,无论是否是正常断电,本发明的实施例所提供的数据管理方法及其存储装置与其控制器可以避免有效的数据写入存有无效的数据区块,以藉此有效地管理数据。  When starting up next time, or when the first write command comes down after starting up, in order to effectively manage data, the flash memory will forcibly close (close) the mother and child blocks that were being written before power off, that is, Move valid data of other pages of the parent block to pages corresponding to the child block. Therefore, regardless of normal power failure, the data management method and its storage device and its controller provided by the embodiments of the present invention can prevent valid data from being written into a block storing invalid data, thereby effectively managing data. the

在本发明的实施例中,快闪存储器的存储装置会存储多个母子区块的暂态关系表,母子区块暂态关系表可存储于例如控制器中的缓冲电路中、暂存存储器、快闪存储器内的特定区块或其系统电路中。然而,亦可基于数据保全或记录数据的便利性,母子区块暂态关系表中的最新母子区块暂态关系数据会即时更新并先存储在暂存存储器,当经过特定时间,如3分钟,或接收某特定指令,如flush,或执行特定动作,如更换逻辑与实体区块映射表时,再由暂存存储器中复制该具有最新数据的母子区块暂态关系表至快闪存储器中或更新存储于快闪存储器中的母子区块暂态关系表。其中,所能记录的母子区块暂态关系表的个数并非用以限定本发明。这些母子区块的暂态信息,可以让快闪存储器的存储装置在开机时,能够知道哪个区块的哪个页面(Page)在断电前正在被写入。同时,这些暂态信息能够让之后所欲写入的数据能够根据前面这些暂态信息快速将数据写入对应的母子区块内。在另一实施例中,这些母子区块暂态关系表记录了多个母子区 块相关于平均磨损次数的信息,例如此次开机至目前所有实体区块的擦除次数、子区块的擦除次数、母区块的擦除次数、目前存在的各母子区块的映射数据、至少最近一次的写入指令逻辑地址、目前存在的各母子区块的映射数据、最近一次的写入指令逻辑地址或其对应的母子区块或其对应的母子区块数据。  In an embodiment of the present invention, the storage device of the flash memory stores multiple transient relationship tables of the parent and child blocks, and the transient relationship tables of the parent and child blocks can be stored in, for example, buffer circuits in the controller, temporary memory, A specific block in the flash memory or its system circuit. However, based on the convenience of data preservation or data recording, the latest parent-child block transient relationship data in the parent-child block transient relationship table will be updated in real time and stored in the temporary storage first. After a specific time, such as 3 minutes , or receive a specific command, such as flush, or perform a specific action, such as replacing the logical and physical block mapping table, and then copy the parent-child block transient relationship table with the latest data from the temporary memory to the flash memory Or update the parent-child block transient relationship table stored in the flash memory. Wherein, the number of parent-child block transient relationship tables that can be recorded is not used to limit the present invention. The transient information of these mother and child blocks can enable the storage device of the flash memory to know which page (Page) of which block is being written before power-off when the flash memory storage device is turned on. At the same time, these transient information can enable the data to be written later to quickly write data into the corresponding mother and child blocks according to the previous transient information. In another embodiment, these mother-child block transient relationship tables record information about the average number of times of wear and tear of multiple mother-child blocks, such as the number of erasing times of all physical blocks from this power-on to the present, the erasure of child blocks. The number of erasing times, the erasing times of the parent block, the mapping data of each existing parent and child blocks, the logical address of at least the latest write command, the mapping data of each currently existing parent and child block, and the logic of the latest write command address or its corresponding parent-child block or its corresponding parent-child block data. the

请参照图2,图2是本发明的实施例所提供的用于快闪存储器的存储装置的数据管理方法的流程图。首先,当电源重新打开后,在步骤S20,判断是否存有母子区块,如果是,则执行步骤S21,如果否,则执行步骤S26。因为,快闪存储器的存储装置刚出厂或在开卡后,大部分的区块都无记录数据,因此,可以直接执行步骤S26。  Please refer to FIG. 2 . FIG. 2 is a flowchart of a data management method for a flash memory storage device provided by an embodiment of the present invention. Firstly, after the power is turned on again, in step S20, it is judged whether there is a parent-child block, if yes, execute step S21, if no, execute step S26. Because most of the blocks of the flash memory storage device just leave the factory or after the card is opened have no recorded data, therefore, step S26 can be directly executed. the

在步骤S21,判断在所接收的写入数据是否为在电源打开后所接收到的第一笔写入数据,其中,每笔写入指令中至少会有一笔写入的逻辑地址会被记录或更新至母子区块暂态关系表中。如果是,则执行步骤S22,如果否,则执行步骤S23。在步骤S22,关闭指定的母子区块,也就是将电源打开前的上一次写入的母子区块中的母区块的数据给合并至子区块,并更新逻辑实体表,以及清除或更新与其对应的母子区块暂态关系表。因为,电源打开前的断电可能是不正常的断电,所以,断电前最后一次写入的母子区块的数据可能是不正确的。为了避免将有效的数据写入具有不稳定数据的区块内,并有效地管理数据,步骤S22会关闭断电前最后一次写入的母子区块。  In step S21, it is judged whether the received write data is the first write data received after the power is turned on, wherein at least one write logical address in each write command will be recorded or Update to the parent-child block transient relationship table. If yes, execute step S22, and if no, execute step S23. In step S22, close the specified mother-child block, that is, merge the data of the mother block in the last written mother-child block before the power is turned on into the child block, and update the logical entity table, and clear or update The corresponding parent-child block transient relationship table. Because the power outage before the power is turned on may be an abnormal power outage, so the data of the mother and child blocks written last before the power outage may be incorrect. In order to avoid writing valid data into a block with unstable data and effectively manage data, step S22 closes the last written parent and child blocks before power off. the

在步骤S23,根据母子区块暂态关系表中所记录的写入指令来判断目前要写入数据的区块是否为先前已写入数据的多个母子区块之一。如果是,则执行步骤S24,如果否,则执行步骤S25。  In step S23 , it is judged according to the write command recorded in the parent-child block transient relationship table whether the block to be written into is one of the multiple parent-child blocks into which data has been previously written. If yes, execute step S24, and if no, execute step S25. the

在步骤S25,检查是否有无记录数据的区块,可以搭配目前逻辑写入地址的母区块成为一相对应的母子区块。如果是,则执行步骤S26,如果否则执行步骤S27。在步骤S27,关闭多个母子区块的其中一个,以产生一个无记录数据的子区块,此外,清除或更新关闭的母子区块的母子区块暂态关系表。如此,这个无记录数据的子区块可以与目前逻辑写入地址的母区块对应成为目前所写入的母子区块,所以接着便可以执行步骤S26。  In step S25, it is checked whether there is a block with or without data recording, which can be matched with the parent block of the current logic writing address to become a corresponding parent-child block. If yes, execute step S26, otherwise execute step S27. In step S27, one of the multiple parent-child blocks is closed to generate a child block without recorded data. In addition, the parent-child block transient relationship table of the closed parent-child block is cleared or updated. In this way, the child block without recorded data can correspond to the parent block of the current logical writing address to become the currently written parent and child blocks, so step S26 can then be executed. the

在步骤S24,根据母子区块暂态关系表中所记录的写入指令来判断目前要写入数据的母子区块是否为上一次写入数据的母子区块,如果是,则 执行步骤S28,如果否,则直接执行步骤S26。在步骤S26,存储目前要写入数据的母子区块的暂态信息至母子区块暂态关系表。在步骤S28,将所需写入的数据写入母子区块中的子区块,然后,回到步骤S21。  In step S24, judge whether the mother-child block to be written into data is the mother-child block of last write data according to the write instruction recorded in the mother-child block transient relationship table, if yes, then execute step S28, If not, directly execute step S26. In step S26, store the transient state information of the parent-child block whose data is currently to be written into the parent-child block transient relationship table. In step S28, the data to be written is written into the sub-blocks in the parent-sub-block, and then returns to step S21. the

由上述的方法流程图中,可以知道本发明的实施例所提供的数据管理方法,会在电源打开时,将断电前最后一次写入的母子区块给关闭,以避免将有效的数据写入可能有无效数据的区块内,而能够有效地管理数据。为了使本领域技术人员可以更明白本发明,以下以一例子来说明上述的方法的操作情况。  From the above method flow chart, it can be known that the data management method provided by the embodiment of the present invention will close the parent-child block that was written last before the power off when the power is turned on, so as to avoid writing valid data into blocks that may have invalid data, enabling efficient data management. In order to make those skilled in the art understand the present invention better, an example is used below to illustrate the operation of the above method. the

假设目前要写入数据的母子区块为M&C1,则在开机后会依存储在快闪存储器中的母子区块暂态关系表判断是否存有母子区块与是否为第一笔写入指令,如果皆是的话,则会关闭电源打开前的上一次写入数据的母子区块,接着便检查要写入数据的母子区块是否为先前有写入数据的多个母子区块之一。如果要写入数据的母子区块不为先前有写入数据的多个母子区块之一的话,则直接存储要写入数据的母子区块的暂态信息,并将数据写入至此要写入数据的母子区块。如果不是第一笔写入指令,则直接检查要写入数据的母子区块是否为先前有写入数据的多个母子区块之一。  Assuming that the mother-child block to be written into is M&C1, it will judge whether there is a mother-child block and whether it is the first write command according to the mother-child block transient relationship table stored in the flash memory after booting. If all are, then the mother-child block of the last write-in data before the power is turned on is turned off, and then it is checked whether the mother-child block to write data is one of a plurality of mother-child blocks previously written in data. If the mother-child block to write data is not one of the multiple mother-child blocks that have previously written data, then directly store the transient information of the mother-child block to write data, and write the data to this The parent and child block of the input data. If it is not the first write command, it is directly checked whether the mother-child block to write data is one of the multiple mother-child blocks that have written data before. the

若目前要写入数据的母子区块M&C1为先前有写入数据的多个母子区块之一,也就是有母子暂态关系表记录了要写入数据的母子区块的暂态信息,且此次要写入数据的母子区块M&C1与上一次写入数据的母子区块M&C1相同,则数据会继续写入母子区块M&C1。如果目前要写入数据的母子区块M&C1为先前写入数据的多个母子区块之一,但是与上一次写入数据的母子区块M&C2不同,则会存储目前要写入数据的母子区块M&C1的暂态信息,而使得有关此母子区块M&C1的母子区块暂态关系表内之前所记录的暂态信息会被目前的暂态信息所更新。由于目前要写入数据的母子区块M&C1与上一次写入数据的母子区块M&C2不同,所以,数据会写入目前所写入的母子区块M&C1。另外,在下一次写入指令进来时,根据被更新后的母子区块暂态关系表可以知道先前写入数据的母子区块为M&C1。  If the mother-child block M&C1 to write data at present is one of a plurality of mother-child blocks previously written in data, that is, there is a mother-child transient relationship table that records the transient information of the mother-child block to write data into, and The mother-child block M&C1 to which data is to be written this time is the same as the mother-child block M&C1 to which data was written last time, and the data will continue to be written into the mother-child block M&C1. If the mother-child block M&C1 to which data is currently written is one of the multiple mother-child blocks to which data was previously written, but is different from the mother-child block M&C2 in which data was written last time, the mother-child area to which data is currently to be written will be stored The transient state information of the block M&C1, so that the previously recorded transient state information in the parent-child block transient relationship table of the parent-child block M&C1 will be updated with the current transient state information. Since the mother-child block M&C1 to which data is currently written is different from the mother-child block M&C2 to which data was written last time, the data will be written into the currently written mother-child block M&C1. In addition, when the next write command comes in, according to the updated parent-child block transient relationship table, it can be known that the parent-child block of previously written data is M&C1. the

若目前要写入数据的母子区块M&C1不是先前写入数据的多个母子区块之一,则会检查是否有无记录数据的子区块可以与目前逻辑写入地址的母区块关联成为目前写入的母子区块,如果是,则会存储目前要写入数据 的母子区块M&C1的暂态信息,并接着将数据写入此要写入数据的母子区块。如果没有空的子区块,则会将任一母子区块给关闭,并清除此关闭的母子区块的母子区块暂态关系表,以藉此清出空的子区块与目前要写入数据的逻辑写入地址的母区块关联成为目前写入的母子区块,然后存储目前要写入数据的母子区块M&C1的暂态信息,并接着将数据写入此要写入数据的母子区块。  If the mother-child block M&C1 to write data in is not one of the multiple mother-child blocks previously written in data, it will check whether there is a child block with recorded data that can be associated with the parent block of the current logical write address to become If the currently written mother-child block is yes, then the transient information of the mother-child block M&C1 to be written into data will be stored, and then the data will be written into the mother-child block to be written into. If there is no empty child block, any parent-child block will be closed, and the parent-child block transient relationship table of the closed parent-child block will be cleared, so as to clear the empty child block and the current writing The parent block of the logical writing address of the data input is associated with the currently written parent-child block, and then the transient information of the parent-child block M&C1 to be written into data is stored, and then the data is written into this to-be-written data mother-child block. the

接着,请参考图3,图3是本发明的实施例所提供的存储装置30与其控制器300的系统方块图。存储装置30包括控制器300、存储区块电路303与系统电路304。其中,控制器300包括了微处理器301与缓冲器302。缓冲器302耦接于微处理器301,处理器301耦接于存储区块电路303与系统电路304。在此实施例中,控制器300与系统电路304是分开的,但是,亦可以将控制器300设计于系统电路304,换句话说,上述的实施例并非用以限定本发明。  Next, please refer to FIG. 3 , which is a system block diagram of a storage device 30 and its controller 300 provided by an embodiment of the present invention. The storage device 30 includes a controller 300 , a storage block circuit 303 and a system circuit 304 . Wherein, the controller 300 includes a microprocessor 301 and a buffer 302 . The buffer 302 is coupled to the microprocessor 301 , and the processor 301 is coupled to the memory block circuit 303 and the system circuit 304 . In this embodiment, the controller 300 is separated from the system circuit 304 , however, the controller 300 can also be designed in the system circuit 304 , in other words, the above embodiments are not intended to limit the present invention. the

存储区块电路303包括多个快闪存储器的存储区块,如同前面所述,这些存储区块包括多个页面。另外,系统电路304则是用以存储前述的母子暂态关系表,此系统电路304可为随机存取存储器(Random AccessMemory,RAM)或非易失性存储器或其他类型存储单元,而母子暂态关系表则记录了子区块的逻辑地址、子区块中的更新页面与母区块中的页面的对应关系、更新数据的版本、此次开机至目前所有实体区块的擦除次数、母区块的擦除次数子区块的擦除次数、目前存在的各母子区块的映射数据、至少最近一次的写入指令逻辑地址或其对应的母子区块或其他可供协助实体区块磨损次数平均的相关数据。缓冲器302存储程序代码,微处理器301用以读取缓冲器302的程序代码。上述的程序代码原来是存储在存储区块电路303中,当电源打开后,控制器300才会控制存储区块电路303将此存储的程序代码送至缓冲器302来存储。微处理器301接着执行缓冲器302的程序代码,以控制存储区块电路303与系统电路304来实现图2所示的方法。  The memory bank circuit 303 includes a plurality of memory banks of the flash memory, and as mentioned above, these memory banks include a plurality of pages. In addition, the system circuit 304 is used to store the aforementioned parent-child transient relationship table. The system circuit 304 can be random access memory (Random Access Memory, RAM) or non-volatile memory or other types of storage units, and the parent-child transient state The relationship table records the logical address of the sub-block, the corresponding relationship between the updated pages in the sub-block and the pages in the parent block, the version of the updated data, the erasure times of all physical blocks from this power on to the present, and the parent block. The erasure times of the block, the erasure times of the sub-blocks, the mapping data of each existing parent and sub-block, at least the logical address of the latest write command or its corresponding parent and sub-blocks or other physical blocks that can be used to assist in wear Relevant data averaged over times. The buffer 302 stores program codes, and the microprocessor 301 is used to read the program codes from the buffer 302 . The above-mentioned program codes are originally stored in the memory block circuit 303, and the controller 300 controls the memory block circuit 303 to send the stored program codes to the buffer 302 for storage after the power is turned on. The microprocessor 301 then executes the program code of the buffer 302 to control the memory block circuit 303 and the system circuit 304 to implement the method shown in FIG. 2 . the

值得说明的是,该母子区块暂态关系除了存储于该系统电路304外,基于数据保全或记录数据的便利性,该控制器300会在经过特定时间,如3分钟,或接收某特定指令,如flush,或执行特定动作,如更换逻辑与实体区块映射表时,由该系统电路304中复制最新数据的母子区块暂态关系表 至存储区块电路303中。除此之外,上述的存储装置30可以是随身碟(PenDrive)的存储装置或固态硬盘(Solid State Disk,SSD)的存储装置,而存储区块电路303可以是非易失性存储器,例如与非型快闪存储器(Nand Flash)。  It is worth noting that, in addition to storing the parent-child block transient relationship in the system circuit 304, based on the convenience of data preservation or data recording, the controller 300 will pass a specific time, such as 3 minutes, or receive a specific command , such as flush, or perform a specific action, such as when replacing the logical and physical block mapping table, copy the parent-child block transient relationship table of the latest data from the system circuit 304 to the storage block circuit 303. In addition, the above-mentioned storage device 30 can be a storage device of a pendrive (PenDrive) or a storage device of a solid state disk (Solid State Disk, SSD), and the storage block circuit 303 can be a non-volatile memory, such as an NAND Type flash memory (Nand Flash). the

综上所述,本发明的实施例所提供的数据管理方法及其控制器可以让使用此方法或控制器的存储装置有效地管理数据。另外,因为仅有在目前要写入数据的母子区块与上一次写入数据的母子区块不同时,才会记录目前要写入数据的母子区块的暂态信息,所以使用本发明的实施例所提供的数据管理方法及其控制器与存储装置在其写入速度上,并不会有太大的影响。  To sum up, the data management method and the controller provided by the embodiments of the present invention can enable the storage device using the method or the controller to manage data effectively. In addition, because the transient state information of the mother-child block to be written into data is only recorded when the mother-child block to be written in data is different from the mother-child block of the last write-in data, the method of the present invention is used The data management method and its controller and storage device provided by the embodiments do not have much influence on the writing speed. the

虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附权利要求书所界定者为准。 Although the present invention has been disclosed as above with the embodiments, it is not intended to limit the present invention. Those skilled in the art can make some changes and modifications without departing from the spirit and scope of the present invention. Therefore, the protection of the present invention The scope is to be determined as defined by the appended claims.

Claims (9)

1. a data managing method is applicable to the memory storage with a plurality of blocks, and wherein, the part block associations in these blocks becomes a plurality of mother and child blocks, and this data managing method comprises:
(a) to write one second mother and child blocks of data identical with the last time to check one first mother and child blocks will write data at present, when wherein if this first mother and child blocks is identical with this second mother and child blocks, execution in step (b) then, if and this first mother and child blocks is different with this second mother and child blocks, then execution in step (c);
(b) data that will will write at present write to this first mother and child blocks; And
(c) record transient information to a mothers and sons transient state relation table of this first mother and child blocks, and the data that will will write at present write to this first mother and child blocks,
Wherein this mother and sons' transient state relation table records a transient information of this second mother and child blocks.
2. data managing method as claimed in claim 1, wherein, this transient information that will write this first mother and child blocks of data at present comprises the logical address of a sub-block, the renewal page in one sub-block and the corresponding relation of the page in female block, one version of new data more, one start this time is to the erasing times of present all physical blocks, the erasing times of one female block, the erasing times of one sub-block, the mapping (enum) data of present each mother and child blocks that exists, the last write instruction logical address or its corresponding mother and child blocks or at least one other can be for the average related data of physical blocks wearing and tearing number of times of assisting this memory storage.
3. data managing method as claimed in claim 1 wherein also comprises before in step (a):
Whether (d) inspect this first mother and child blocks that will write data at present is one of these mother and child blocks that before write data, if it is non-during for one of these mother and child blocks of before having write data wherein will to write this first mother and child blocks of data at present, execution in step (e) then, if and this first mother and child blocks that will write data at present is during for one of these mother and child blocks of before having write data, then execution in step (a);
(e) check that the block whether no record data are arranged in these blocks can become a mother and child blocks with the block associations that will write data, if when wherein not having the block of any one no record data, execution in step (f) then, if and when having or not the block of record data, execution in step (c) then; And
(f) close these mother and child blocks any mother and child blocks and the execution in step (c) wherein that before writes.
4. data managing method as claimed in claim 3 wherein also comprises before in step (d):
(g) judge that received one writes instruction, whether be that the first stroke after this memory storage opening power writes instruction, if wherein this writes the first stroke that instructs to after this memory storage opening power and writes instruction, execution in step (h) then, if and this to write instruction non-for the first stroke after this memory storage opening power writes instruction, execution in step (d) then; And
(h) close this second mother and child blocks that the last time writes.
5. a data management system is applicable to the memory storage with a plurality of blocks, and wherein, the part block associations in these memory block becomes a plurality of mother and child blocks, and this data management system comprises:
Be used for to check that whether one first mother and child blocks that will write data at present writes the identical parts of one second mother and child blocks of data with the last time;
The data that are used for will will writing at present when this first mother and child blocks is identical with this second mother and child blocks write to the parts of this first mother and child blocks; And
Be used for working as this first mother and child blocks and this second mother and child blocks and do not record transient information to a mothers and sons transient state relation table of this first mother and child blocks simultaneously and incite somebody to action the parts that the data that will write at present write to this first mother and child blocks,
Wherein this mother and sons' transient state relation table records a transient information of this second mother and child blocks.
6. data management system as claimed in claim 5, wherein, this transient information that will write this first mother and child blocks of data at present comprises the logical address of a sub-block, the renewal page in one sub-block and the corresponding relation of the page in female block, one version of new data more, one start this time is to the erasing times of present all physical blocks, the erasing times of one female block, the erasing times of one sub-block, the mapping (enum) data of present each mother and child blocks that exists, the last write instruction logical address or its corresponding mother and child blocks or at least one other can be for the average related data of physical blocks wearing and tearing number of times of assisting this memory storage.
7. data management system as claimed in claim 5 also comprises:
Be used for inspecting this first mother and child blocks that will write data at present and whether be the parts of one of these mother and child blocks of before having write data;
Be used for whether writing the identical parts of this second mother and child blocks of data with the last time when this first mother and child blocks that will write data at present checks this first mother and child blocks that will write data at present during for one of these mother and child blocks of before having write data;
Be used for checking whether these blocks have the block of no record data can become the parts of a mother and child blocks with the block associations that will write data when this first mother and child blocks that will write data at present is non-during for one of these mother and child blocks of before having write data;
Record will write transient information to the mothers and sons transient state relation table of this first mother and child blocks of data and the parts that the data that will will write at present write to this first mother and child blocks that will write data at present at present when being used for the block as the no record data; And
For close these mother and child blocks any mother and child blocks wherein that before writes when not having the block of any one no record data, this transient information that records this first mother and child blocks that will write data at present also writes to the data that will write at present the parts of this first mother and child blocks that will write data at present to this mother and sons' transient state relation table.
8. data management system as claimed in claim 7 also comprises:
Whether being used for judging received one, to write instruction be the parts that the first stroke after this memory storage opening power writes instruction;
Be used for that non-whether inspect this first mother and child blocks that will write data at present when instructing be the parts that before write one of these mother and child blocks of data for the first stroke after this memory storage opening power writes when this writes instruction; And
Be used for writing the parts of closing this second mother and child blocks that the last time writes when instruction is instructed for the first stroke after this memory storage opening power writes when this.
9. data management system as claimed in claim 5, this memory storage is the memory storage of a flash memory.
CN 200810130955 2008-09-17 2008-09-17 Data management method and its storage device and its controller Active CN101676885B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810130955 CN101676885B (en) 2008-09-17 2008-09-17 Data management method and its storage device and its controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810130955 CN101676885B (en) 2008-09-17 2008-09-17 Data management method and its storage device and its controller

Publications (2)

Publication Number Publication Date
CN101676885A CN101676885A (en) 2010-03-24
CN101676885B true CN101676885B (en) 2013-08-21

Family

ID=42029455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810130955 Active CN101676885B (en) 2008-09-17 2008-09-17 Data management method and its storage device and its controller

Country Status (1)

Country Link
CN (1) CN101676885B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763101B (en) * 2018-05-30 2021-11-09 郑州云海信息技术有限公司 Data carrying method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1518000A (en) * 2003-01-26 2004-08-04 深圳市朗科科技有限公司 Method for managing data in flash storage medium
CN1585930A (en) * 2002-08-29 2005-02-23 松下电器产业株式会社 Semiconductor memory device and method for writing data into flash memory
CN1598789A (en) * 2003-09-16 2005-03-23 深圳市格林耐特通信技术有限责任公司 Method of reading -writing data using disk file virtual flash

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585930A (en) * 2002-08-29 2005-02-23 松下电器产业株式会社 Semiconductor memory device and method for writing data into flash memory
CN1518000A (en) * 2003-01-26 2004-08-04 深圳市朗科科技有限公司 Method for managing data in flash storage medium
CN1598789A (en) * 2003-09-16 2005-03-23 深圳市格林耐特通信技术有限责任公司 Method of reading -writing data using disk file virtual flash

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2007-52599A 2007.03.01

Also Published As

Publication number Publication date
CN101676885A (en) 2010-03-24

Similar Documents

Publication Publication Date Title
JP5696118B2 (en) Weave sequence counter for non-volatile memory systems
TWI419161B (en) Memory system storing management information and method of controlling the same
TWI524183B (en) Data writing method, memory control circuit unit and memory storage device
CN101901189B (en) Method of updating user data and method of restoring user data
TWI459400B (en) Memory stroage apparatus, and memolry controller and power control method
JPWO2007119267A1 (en) Memory controller for flash memory
CN102157202B (en) Method and Controller for Preventing Read Disturbance from Non-Volatile Memory
CN101625897B (en) Data writing method, storage system and controller for flash memory
TWI498899B (en) Data writing method, memory controller and memory storage apparatus
TWI381386B (en) Method for managing data and storage apparatus thereof and controller thereof
TWI459198B (en) Memory storage device, memory controller thereof, and method for identifying valid data
CN104793891B (en) Data writing method, memory control circuit unit and memory storage device
CN102073600B (en) Data backup method, flash memory controller and flash memory storage system
CN102890655B (en) Memory storage device, its memory controller and effective data identification method
CN113903383B (en) Storage device, flash memory controller and access method thereof
TWI451247B (en) Data writing method, memory controller and memory storage apparatus
TW201525693A (en) Data storing method, memory control circuit unit and memory storage apparatus
KR100866513B1 (en) Data processing method using flash memory based journaling file system
CN101676885B (en) Data management method and its storage device and its controller
CN100435118C (en) cache data restoring method
CN117539692B (en) ZNS solid state disk data set management command implementation method
JP2013174976A (en) Memory system and update method for control program
CN102043728A (en) Method for improving access efficiency of flash memory and related memory device
CN107436729A (en) Control device of storage system and storage space recovery method thereof
CN119512444A (en) Method for data access management of memory device, memory controller, memory device and electronic device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant