CN117762820A - 存取快闪存储器模块的方法与相关的快闪存储器控制器及记忆装置 - Google Patents
存取快闪存储器模块的方法与相关的快闪存储器控制器及记忆装置 Download PDFInfo
- Publication number
- CN117762820A CN117762820A CN202211231581.0A CN202211231581A CN117762820A CN 117762820 A CN117762820 A CN 117762820A CN 202211231581 A CN202211231581 A CN 202211231581A CN 117762820 A CN117762820 A CN 117762820A
- Authority
- CN
- China
- Prior art keywords
- block
- erase count
- codec
- flash memory
- settings
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012937 correction Methods 0.000 claims abstract description 78
- 238000013507 mapping Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/061—Improving I/O performance
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本发明揭露了一种存取快闪存储器模块的方法与相关的快闪存储器控制器及记忆装置。该方法包含有以下步骤:选择该快闪存储器模块中的一区块;至少根据该区块的一抹除次数以自多组编解码设定中选择一特定编解码设定,其中该多组编解码设定分别包含不同的错误更正码长度;使用该特定编解码设定来对一资料进行编码操作以产生一编码后数据;以及将该编码后数据写入至该区块中。
Description
技术领域
本发明有关于快闪存储器。
背景技术
随着低密度奇偶检查码(Low-density parity-check code,LDPC)的发展,快闪存储器控制器中的编码器可以对数据进行编码以产生具有更多位元数的错误更正码(ErrorCorrection Code,ECC),且这些错误更正码会连同数据一起被写入至快闪存储器模块中;另一方面,当快闪存储器控制器需要自快闪存储器模块读取数据时,解码器可以透过这些具有更多位元数的错误更正码,以对具有更高位元错误量/位元错误率的数据进行错误更正,以成功地对数据进行解码操作。然而,虽然错误更正码电路的解码能力提升了,但由于错误更正码的长度(亦即,位元数)增加了,故快闪存储器控制器所需要读取的数据量也会增加,造成读取速度的下降。
此外,编码器对一笔数据进行编码后所产生的编码后数据称为一个区段(chunk),亦即一个区段包含了一笔数据及对应的错误更正码,而每一个区段的大小都是固定的,例如每一个区段包含了4千位元组(kilobyte,KB)的数据及450位元组的错误更正码。然而,在快闪存储器控制器的操作中,许多数据表,例如逻辑地址至实体地址映射表(logicaladdress to physical address mapping table),会需要频繁地被写入至快闪存储器模块,而这些数据表的大小可能会小于4KB,例如只有1KB或是2KB,因此,传统上输出固定大小区段的编码器会造成编码效率的低落。此外,由于解码器一样会需要读取整个区段来进行解码,故解码器针对这些数据表的解码效率也并不好。
发明内容
因此,本发明的目的之一在于提出一种快闪存储器控制器,其可以增进存取效率,以解决先前技术中所述的问题。
在本发明的一实施例中,揭露了一种存取快闪存储器模块的方法,其包含有以下步骤:选择该快闪存储器模块中的一区块;至少根据该区块的一抹除次数以自多组编解码设定中选择一特定编解码设定,其中该多组编解码设定分别包含不同的错误更正码长度;使用该特定编解码设定来对一数据进行编码操作以产生一编码后数据;以及将该编码后数据写入至该区块中。
在本发明的一实施例中,揭露了一种快闪存储器控制器,其中该快闪存储器控制器用来存取一快闪存储器模块,且该快闪存储器控制器包含有一只读存储器、一微处理器、一编码器与一解码器,其中该只读存储器用来储存一程序码,且该微处理器用来执行该程序码以控制对该快闪存储器模块的存取。该微处理器选择该快闪存储器模块中的一区块,并至少根据该区块的一抹除次数以自多组编解码设定中选择一特定编解码设定,其中该多组编解码设定分别包含不同的错误更正码长度;以及该编码器使用该特定编解码设定来对一数据进行编码操作以产生一编码后数据,并将该编码后数据写入至该区块中。
在本发明的一实施例中,揭露了一种记忆装置,其包含有快闪存储器模块以及一快闪存储器控制器。该快闪存储器控制器用来存取该快闪存储器模块,且执行以下步骤:选择该快闪存储器模块中的一区块;至少根据该区块的一抹除次数以自多组编解码设定中选择一特定编解码设定,其中该多组编解码设定分别包含不同的错误更正码长度;使用该特定编解码设定来对一数据进行编码操作以产生一编码后数据;以及将该编码后数据写入至该区块中。
附图说明
图1为依据本发明一实施例的一种记忆装置的示意图。
图2为依据本发明一实施例的快闪存储器模块中一区块的示意图。
图3为根据本发明一实施例的多组编解码设定的示意图。
图4为根据本发明一实施例的将数据写入至快闪存储器模块的流程图。
图5为根据本发明一实施例的多组编解码设定的示意图。
图6为根据本发明一实施例的自快闪存储器模块中读取数据的流程图。
图7为快闪存储器模块划分为第一组区块以及第二组区块的示意图。
图8为根据本发明一实施例的将数据写入至快闪存储器模块的流程图。
图9为根据本发明一实施例的自快闪存储器模块中读取数据的流程图。
图10为根据本发明一实施例的多组编解码设定的示意图。
图11为根据本发明一实施例的将数据写入至快闪存储器模块的流程图。
图12为根据本发明一实施例的自快闪存储器模块中读取数据的流程图。
【符号说明】
100:记忆装置
110:快闪存储器控制器
112:微处理器
112M:只读存储器
112C:程序码
114:存储器接口
116:缓冲存储器
118:主机接口
120:快闪存储器模块
130:主装置
132:编码器
134:解码器
200:区块
202:浮闸晶体管
BL1~BL3:位元线
WL0~WL2,WL4~WL6:字元线
400~408:步骤
600~608:步骤
710_1~710_A:区块
720_1~720_B:SLC区块
730_1~730_C:区块
800~814:步骤
900~914:步骤
1100~1108:步骤
1200~1206:步骤
具体实施方式
图1为依据本发明一实施例的一种记忆装置100的示意图。记忆装置100包含有一快闪存储器(Flash Memory)模块120以及一快闪存储器控制器110,且快闪存储器控制器110用来存取快闪存储器模块120。依据本实施例,快闪存储器控制器110包含一微处理器112、一只读存储器(Read Only Memory,ROM)112M、一存储器接口114、一缓冲存储器116、与一主机接口118。只读存储器112M用来储存一程序码112C,而微处理器112则用来执行程序码112C以控制对快闪存储器模块120的存取(Access)。存储器接口114包含了一编码器132以及一解码器134,其中编码器132用来对写入到快闪存储器模块120中的数据进行编码以产生对应的校验码(或称,错误更正码(Error Correction Code),ECC),而解码器134用来将从快闪存储器模块120所读出的数据进行解码。
于典型状况下,快闪存储器模块120包含了多个快闪存储器芯片,而每一个快闪存储器芯片包含多个区块(Block),而该控制器(例如:透过微处理器112执行程序码112C的快闪存储器控制器110)对快闪存储器模块120进行复制、抹除、合并数据等运作以区块为单位来进行复制、抹除、合并数据。另外,一区块可记录特定数量的数据页(Page),其中该控制器(例如:透过微处理器112执行程序码112C的存储器控制器110)对快闪存储器模块120进行写入数据的运作以数据页为单位来进行写入。换句话说,区块是快闪存储器模块120中一个最小的抹除单位,而数据页是快闪存储器模块120中一个最小的写入单位。
实作上,透过微处理器112执行程序码112C的快闪存储器控制器110可利用其本身内部的元件来进行诸多控制运作,例如:利用存储器接口114来控制快闪存储器模块120的存取运作(尤其是对至少一区块或至少一数据页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用主机接口118来与一主装置(Host Device)130沟通。
在一实施例中,记忆装置100可以是可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡),且主装置130为一可与记忆装置连接的电子装置,例如手机、笔记型电脑、桌上型电脑…等等。而在另一实施例中,记忆装置100可以是固态硬碟或符合通用快闪存储器储存(Universal Flash Storage,UFS)或嵌入式多媒体记忆卡(Embedded Multi MediaCard,EMMC)规格的嵌入式储存装置,以设置在一电子装置中,例如设置在手机、笔记型电脑、桌上型电脑之中,而此时主装置130可以是该电子装置的一处理器。
图2为依据本发明一实施例的快闪存储器模块120中一区块200的示意图,其中快闪存储器模块120为立体NAND型快闪存储器。如图2所示,区块200包含了多个记忆单元(例如图示的浮闸晶体管202或是其他的电荷捕捉(charge trap)元件),其透过多条位元线(图示仅绘示了BL1~BL3)及多条字元线(例如图示WL0~WL2、WL4~WL6)来构成立体NAND型快闪存储器架构。在图2中,以最上面的一个平面为例,字元线WL0上的所有浮闸晶体管构成了至少一数据页,字元线WL1上的所有浮闸晶体管构成了另至少一数据页,而字元线WL2的所有浮闸晶体管构成了再另至少一数据页…以此类堆。此外,根据快闪存储器写入方式的不同,字元线WL0与数据页(逻辑数据页)之间的定义也会有所不同,详细来说,当使用单层式储存(Single-Level Cell,SLC)的方式写入时,字元线WL0上的所有浮闸晶体管仅对应到单一逻辑数据页;当使用双层式储存(Multi-Level Cell,MLC)的方式写入时,字元线WL0上的所有浮闸晶体管对应到两个逻辑数据页;当使用三层式储存(Triple-Level Cell,TLC)的方式写入时,字元线WL0上的所有浮闸晶体管对应到三个逻辑数据页;以及当使用四层式储存(Quad-Level Cell,QLC)的方式写入时,字元线WL0上的所有浮闸晶体管对应到四个逻辑数据页。由于本技术领域中具有通常知识者应能了解立体NAND型快闪存储器的结构以及字元线及数据页之间的关系,故相关的细节在此不予赘述。
在本实施例中,为了让快闪存储器控制器100在读取快闪存储器模块120时具有较佳的读取效率,编码器132被组态为具有多种不同的编码设定,以产生不同位元数的错误更正码(ECC);且解码器134也可以被组态为具有多种不同的解码设定,以对具有不同位元数的区段(chunk)进行解码,其中区段包含了数据以及对应的错误更正码。具体来说,参考图3所示,编码器132与解码器134具有多种不同的编解码设定(在本实施例中,以8组编解码设定来做为说明),而每一组编解码设定对应到不同的区块的写入/抹除(program/erase)次数(以下简称为区块的抹除次数)及不同的错误更正码长度。举例来说,当需要进行数据写入或是数据读取的区块的抹除次数小于“100”时,编码器132或是解码器134会具有第1组编解码设定,而此时编码器132用来对数据进行编码以产生包含306位元组(byte)的错误更正码的编码后数据,或是解码器134可以对包含306位元组的错误更正码的区段进行解码;当需要进行数据写入或是数据读取的区块的抹除次数介于“100”~“200”之间时,编码器132或是解码器134会具有第2组编解码设定,而此时编码器132用来对数据进行编码以产生包含342位元组的错误更正码的编码后数据,或是解码器134可以对包含342位元组的错误更正码的区段进行解码;以及当需要进行数据写入或是数据读取的区块的抹除次数大于“700”时,编码器132或是解码器134会具有第8组编解码设定,而此时编码器132用来对数据进行编码以产生包含630位元组的错误更正码的编码后数据,或是解码器134可以对包含630位元组的错误更正码的区段进行解码。
需注意的是,图3所示的编解码设定的组数、区块的抹除次数范围以及错误更正码长度只是作为范例说明,而非是本发明的限制。在实作上,编解码设定的组数、区块的抹除次数范围以及错误更正码长度可以由设计者透过模拟或量测来决定出最适合的数值,而这些设计上的变化应隶属于本发明的范畴。
图4为根据本发明一实施例的将数据写入至快闪存储器模块120的流程图。于步骤400,流程开始,且记忆装置100上电并完成初始化操作。在步骤402中,快闪存储器控制器100中的微处理器112根据来自主装置130的一写入命令、或是需要储存暂存于缓冲存储器116内的数据,以自快闪存储器模块120中选择一区块以进行数据写入。在步骤404中,微处理器112根据所选择的区块的抹除次数以决定出一编解码设定。具体来说,由于快闪存储器控制器110会持续记录每一个区块的使用状况,并将每一个区块的抹除次数整合为一个区块抹除次数数据表后储存至快闪存储器模块120中,故微处理器112可以直接参考这个区块抹除次数数据表以得知所选择的区块的抹除次数,并决定出适合的编解码设定。以图3为例来做为说明,若是所选择的区块的抹除次数小于“100”,则微处理器112决定使用第1组编解码设定来设定编码器132,而若是所选择的区块的抹除次数介于“100”~“200”,则微处理器112决定使用第2组编解码设定来设定编码器132。在步骤406,编码器132根据微处理器112所决定的编解码设定来对数据进行编码以产生一编码后数据,其中若是编码器132具有第1组编解码设定,则编码器112对4KB的数据进行编码所产生的编码后数据包含了4KB的数据以及306位元组的错误更正码;而若是编码器132具有第2组编解码设定,则编码器112对4KB的数据进行编码所产生的编码后数据包含了4KB的数据以及342位元组的错误更正码。最后,于步骤408,快闪存储器控制器110将编码后数据写入至快闪存储器模块120中于步骤402所选择的区块。
在以上的实施例中,当区块的抹除次数较小时,区块会具有较佳的储存品质且所储存的数据发生错误的机率会比较低,因此,微处理器112可以透过设定编码器132来产生具有较低位元数的错误更正码,其虽然较差的错误更正能力(亦即,可以更正的错误位元数较少),但已足够更正此区块所产生的错误;此外,由于写入至区块的编码后数据具有较少的数据量,故可以以使得后续读取编码后数据时有较快的速度。另一方面,当区块的抹除次数较大时,区块会具有较差的储存品质且所储存的数据发生错误的机率会比较高,因此,微处理器112可以透过设定编码器132来产生具有较高位元数的错误更正码,其具有较强的错误更正能力,以确保后续读取编码后数据时可以确实更正其错误内容。如上所述,透过本实施例的技术内容,编码器132可以根据区块的储存品质来产生具有适当长度与适当更正能力的错误更正码,以避免针对具有较佳储存品质的区块产生过多位元数的错误更正码,以有效改善存取效率。
在图3、4的实施例中,微处理器112是根据所选择的区块的抹除次数来决定编码器132所要使用的编解码设定,而在其他实施例中,于步骤404中微处理器112会同时根据所选择的区块的型式以及抹除次数来决定编码器132所要使用的编解码设定,其中区块的型式指的是SLC区块(亦即,每一个记忆单元只会储存一个位元)、MLC区块(亦即,每一个记忆单元储存两个位元)、TLC区块(亦即,每一个记忆单元储存三个位元)、以及QLC区块(亦即,每一个记忆单元储存四个位元)。具体来说,参考图5所示,编码器132与解码器134具有多种不同的编解码设定(在本实施例中,以8组编解码设定来做为说明),而每一组编解码设定对应到不同的区块的写入/抹除次数(以下简称为区块的抹除次数)及不同的错误更正码长度。举例来说,当需要进行数据写入或是数据读取的SLC区块的抹除次数小于“100”时,编码器132或是解码器134会具有第1组编解码设定,而此时编码器132用来对数据进行编码以产生包含306位元组的错误更正码的编码后数据,或是解码器134可以对包含306位元组的错误更正码的区段进行解码。当需要进行数据写入或是数据读取的SLC区块的抹除次数介于“100”~“200”之间时、或是需要进行数据写入或是数据读取的TLC区块的抹除次数小于“100”时,编码器132或是解码器134会具有第2组编解码设定,而此时编码器132用来对数据进行编码以产生包含342位元组的错误更正码的编码后数据,或是解码器134可以对包含342位元组的错误更正码的区段进行解码。当需要进行数据写入或是数据读取的SLC区块的抹除次数介于“200”~“300”之间时、或是需要进行数据写入或是数据读取的TLC区块的抹除次数介于“100”~“200”之间时,编码器132或是解码器134会具有第3组编解码设定,而此时编码器132用来对数据进行编码以产生包含378位元组的错误更正码的编码后数据,或是解码器134可以对包含378位元组的错误更正码的区段进行解码。以及当需要进行数据写入或是数据读取的SLC区块的抹除次数大于“700”时、或是当需要进行数据写入或是数据读取的SLC区块的抹除次数大于“600”时,编码器132或是解码器134会具有第8组编解码设定,而此时编码器132用来对数据进行编码以产生包含630位元组的错误更正码的编码后数据,或是解码器134可以对包含630位元组的错误更正码的区段进行解码。
需注意的是,图5所示的编解码设定的组数、区块的型式、区块的抹除次数范围以及错误更正码长度只是作为范例说明,而非是本发明的限制。在实作上,编解码设定的组数、区块的型式、区块的抹除次数范围以及错误更正码长度可以由设计者透过模拟或量测来决定出做适合的数值,而这些设计上的变化应隶属于本发明的范畴。
图6为根据本发明一实施例的自快闪存储器模块120中读取数据的流程图。于步骤600,流程开始,且记忆装置100已上电并完成初始化操作。在步骤602中,快闪存储器控制器110接收到一读取命令,其中该读取命令要求读取具有一特定逻辑地址的数据。在步骤604中,微处理器112根据一逻辑地址至实体地址映射表,以决定出具有该特定逻辑地址的数据是储存于哪一个区块中。于步骤606,微处理器112根据所决定出的区块的抹除次数以决定出一编解码设定,或是根据所决定出的区块的类型与抹除次数以决定出一编解码设定,其编解码设定的决定方式可以参考图4的步骤404以及图3、5的实施例的内容。在步骤608,解码器134根据微处理器112所决定的编解码设定以对自区块所读取的一区段进行解码以产生一解码后数据,其中一个区段所包含的内容即是图4的步骤408写入至快闪存储器模块120中的编码后数据。举例来说,若是解码器134具有第1组编解码设定且所读取的区块是SLC区块,则解码器134自SLC区块读取包含了4KB的数据以及306位元组的错误更正码的区段,以进行解码操作;而若是解码器134具有第2组编解码设定,则解码器134自SLC区块读取包含了4KB的数据以及342位元组的错误更正码的区段,以进行解码操作。
在以上的实施例中,针对每一个写入命令或是读取命令,微处理器112都需要决定出编码器132或是解码器134所需要使用的编解码设定,然而,本发明并不以此为限。在其他的实施例中,微处理器112可以直接参考上述的区块抹除次数数据表中有记录的最高抹除次数(亦即,所有区块的抹除次数中的最高者),以决定出编码器132或是解码器134后续所需要使用的编解码设定。在一范例中,以图3来说,若是区块抹除次数数据表中有记录的最高抹除次数低于“100”,则微处理器112便直接将编码器132或是解码器134设定为具有第1组编解码设定,而之后的数据写入与数据读取则都不需要再次决定出适合的编解码设定,直到区块抹除次数数据表中有记录的最高抹除次数有所改变、或是高于“100”为止。同理,若是区块抹除次数数据表中有记录的最高抹除次数介于“200”~“300”,则微处理器112便直接将编码器132或是解码器134设定为具有第3组编解码设定,而之后的数据写入与数据读取则都不需要再次决定出适合的编解码设定,直到区块抹除次数数据表中有记录的最高抹除次数有所改变、或是高于“300”为止。上述实施例可以避免微处理器112在每一个写入/读取命令都需要决定出编码器132或是解码器134所需要使用的编解码设定,以改善其处理效率。
在一实施例中,记忆装置100本身并不具有动态随机存取存储器(Dynamic RandomAccess Memory,DRAM),因此,快闪存储器控制器100在执行操作时所需要的各种不同的数据表都会暂存在缓冲存储器116中。然而,由于缓冲存储器116的容量有限,故微处理器112会将暂时不需要使用的数据表储存至快闪存储器模块120中,等到需要使用的时候再从快闪存储器模块120载入至缓冲存储器116内来使用。以逻辑地址至实体地址映射表(以下简称L2P映射表)为例来进行说明,快闪存储器控制器110内可以具有多个L2P映射表,其中每一个L2P映射表包含了一段连续的逻辑地址及对应的实体地址;而微处理器112会在接收到写入命令时,根据写入命令所包含的逻辑地址来判断缓冲存储器116内是否存在对应的L2P映射表,若没有的话则自快闪存储器模块120中读取对应的L2P映射表,并在写入命令的数据写入至快闪存储器模块120后更新对应的L2P映射表;此外,微处理器112会在接收到读取命令时,根据读取命令所包含的逻辑地址来判断缓冲存储器116内是否存在对应的L2P映射表,若没有的话则自快闪存储器模块120中读取对应的L2P映射表,并在搜寻L2P映射表中对应至读取命令所包含的逻辑地址的实体地址,以进行数据的读取。一般来说,快闪存储器控制器110所处理的数据具有固定的大小,例如4KB,亦即主装置130所提供的写入命令的每一个逻辑区块地址(Logical Block Address,LBA)的大小为4KB,而L2P映射表与其他数据表的大小并不会太大,例如是1KB或是2KB。因此,如先前技术所述,若是编码器132仍然被设计为需要对4KB的数据进行编码,则会使得编码后数据包含了许多冗余数据,且降低了编码器的效率。因此,本实施例在快闪存储器模块120中规划了第一组区块与第二组区块,其分别用来储存数据表与其他数据,且第一组区块与第二组区块所使用的区段大小并不相同,以解决先前技术中所述的问题。
具体来说,参考图7所示,快闪存储器模块120包含了第一组区块与第二组区块,其中第一组区块包含了区块710_1~710_A,且区块710_1~710_A用来储存系统数据,例如上述的L2P映射表;以及第二组区块包含了SLC区块720_1~720_B以及TLC区块730_1~730_C,且第二组区块用来储存一般数据。
图8为根据本发明一实施例的将数据写入至快闪存储器模块120的流程图。于步骤800,流程开始,且记忆装置100上电并完成初始化操作。在步骤802中,快闪存储器控制器100中的微处理器112判断目前需要写入至快闪存储器模块120中的一笔数据的类型,若是需要写入至快闪存储器模块120的数据为目前暂存在缓冲存储器116内的数据表,则流程进入至步骤804;而若是需要写入至快闪存储器模块120的数据为来自主装置130的一般数据、或是记忆装置100在进行垃圾收集操作(garbage collection)所搬移的有效数据,则流程进入步骤810。
于步骤804,微处理器112使用一第一设定来设定编码器132,以使得编码器132可以对一较小数据量的数据(以下使用2KB来进行说明)进行编码。在步骤806,编码器132对数据进行编码以产生一编码后数据,其中编码后数据的大小为2KB加上错误更正码的位元数。在步骤808,快闪存储器控制器110将编码后数据写入至区块710_1~710_A中的其一。
于步骤810,微处理器112使用一第二设定来设定编码器132,以使得编码器132可以对一正常数据量的数据(以下使用4KB来进行说明)进行编码。在步骤812,编码器132对数据进行编码以产生一编码后数据,其中编码后数据的大小为4KB加上错误更正码的位元数。在步骤814,快闪存储器控制器110将编码后数据写入至区块720_1~720_B、730_1~730_C中的其一。
如上所述,透过图7、8实施例的技术内容,微处理器112可以根据所写入的数据的类型来设定编码器132所处理的数据量以及所输出的编码后数据的大小,如此一来可以避免编码器132在对实际有效大小为2KB的数据表进行处理时仍然输出4KB的编码后数据,以有效改善编码器的效率。
图9为根据本发明一实施例的自快闪存储器模块120中读取数据的流程图。于步骤900,流程开始,且记忆装置100已上电并完成初始化操作。在步骤902中,快闪存储器控制器100中的微处理器112判断目前需要读取的数据的类型,若是需要读取的是来自快闪存储器模块120中区块710_1~710_A内的数据表,则流程进入至步骤904;而若是需要读取的是来自快闪存储器模块120中720_1~720_B、730_1~730_C内的一般数据,则流程进入步骤910。
于步骤904,微处理器112使用一第一设定来设定解码器134,以使得解码器134可以对一较小数据量的数据(以下使用2KB来进行说明)进行解码。在步骤906,解码器134根据该第一设定以自区块710_1~710_A中读取一区段,其中该区段的大小可以是图8的步骤806的编码后数据(亦即,2KB加上错误更正码的位元数),并对该区段进行解码以产生一解码后数据。于步骤908,解码器134将该解码后数据储存至缓冲存储器116中。
于步骤910,微处理器112使用一第二设定来设定解码器134,以使得解码器134可以对一正常数据量的数据(以下使用4KB来进行说明)进行解码。在步骤912,解码器134根据该第二编解码设定以自区块720_1~720_B、730_1~730_C中读取一区段,其中该区段的大小可以是图8的步骤812的编码后数据(亦即,4KB加上错误更正码的位元数),并对该区段进行解码以产生一解码后数据。于步骤914,解码器134将该解码后数据储存至缓冲存储器116,或是微处理器112将该解码后数据传送给主装置130。
在图8、9的实施例中,编码器132与解码器134的第一设定或是第二设定是透过微处理器112来进行,例如微处理器112修改编码器132与解码器134中一或多个暂存器(register)的数值,以使得编码器132与解码器134具有不同的设定。然而,在其他的实施例中,考量到微处理器112可能会连续地接收到大量的写入命令或是读取命令,而这些写入命令或是读取命令可能并非是依序执行,因此,微处理器112可以将上述设定嵌入至传送给编码器132的写入命令中,且也可以将上述设定嵌入至传送给解码器134的读取命令中,以避免编码器132与解码器134使用错误的设定来进行编解码操作。
在图3、4的实施例中,微处理器112根据区块的型式及/或抹除次数来决定需要采用的编解码设定,以使得编码器132可以产生适合大小的错误更正码;而在图8的实施例中,微处理器112根据目前需要写入至快闪存储器模块120中的一笔数据的类型,以决定出编码器132所接收及处理数据的数据量。在本发明的另一实施例中,图3、4、8的实施例亦可结合以使得微处理器112可以设定编码器132来处理不同大小的数据,且也可以产生适合大小的错误更正码。具体来说,参考图10,编码器132与解码器134具有多种不同的编解码设定(在本实施例中,以10组编解码设定来做为说明),而每一组编解码设定对应到不同的区块的写入/抹除(program/erase)次数(以下简称为区块的抹除次数)、不同的数据量、及不同的错误更正码长度。举例来说,当需要进行数据写入或是数据读取的区块的抹除次数小于“100”、且需要写入或读取的数据量为4KB时,编码器132或是解码器134会具有第1组编解码设定,而此时编码器132用来对4KB数据进行编码以产生包含306位元组的错误更正码的编码后数据,或是解码器134可以对包含4KB数据与306位元组的错误更正码的区段进行解码;当需要进行数据写入或是数据读取的区块的抹除次数大于“700”、且需要写入或读取的数据量为4KB时,编码器132或是解码器134会具有第8组编解码设定,而此时编码器132用来对4KB数据进行编码以产生包含630位元组的错误更正码的编码后数据,或是解码器134可以对包含4KB数据与630位元组的错误更正码的区段进行解码;当需要进行数据写入或是数据读取的区块的抹除次数小于“200”、且需要写入或读取的数据量为2KB时,编码器132或是解码器134会具有第9组编解码设定,而此时编码器132用来对2KB数据进行编码以产生包含150位元组的错误更正码的编码后数据,或是解码器134可以对包含2KB数据与150位元组的错误更正码的区段进行解码;当需要进行数据写入或是数据读取的区块的抹除次数大于“200”、且需要写入或读取的数据量为2KB时,编码器132或是解码器134会具有第9组编解码设定,而此时编码器132用来对2KB数据进行编码以产生包含300位元组的错误更正码的编码后数据,或是解码器134可以对包含2KB数据与300位元组的错误更正码的区段进行解码。
需注意的是,图10所示的编解码设定的组数、区块的抹除次数的范围、数据量的大小以及错误更正码长度只是作为范例说明,而非是本发明的限制。在实作上,编解码设定的组数、区块的抹除次数的范围、数据量的大小以及错误更正码长度可以由设计者透过模拟或量测来决定出做适合的数值,而这些设计上的变化应隶属于本发明的范畴。
图11为根据本发明一实施例的将数据写入至快闪存储器模块120的流程图。于步骤1100,流程开始,且记忆装置100上电并完成初始化操作。在步骤1102中,快闪存储器控制器100中的微处理器112根据来自主装置130的一写入命令、或是需要储存暂存于缓冲存储器116内的数据,以自快闪存储器模块120中选择一区块以进行数据写入。在步骤1104中,微处理器112根据所选择的区块的抹除次数、以及需要写入至快闪存储器模块120中的数据的类型(例如,是2KB的数据表或是4KB的一般数据),以决定出一编解码设定。在另一实施例中,微处理器112根据所选择的区块的抹除次数、需要写入至快闪存储器模块120中的数据的类型(例如,是2KB的数据表或是4KB的一般数据)、以及所选择的区块的类型(例如,SLC区块或是TLC区块),以决定出一编解码设定。以图10为例来做为说明,若是所选择的区块的抹除次数小于“200”,且需要写入的数据为2KB的数据表,则微处理器112决定使用第9组编解码设定来设定编码器132。在步骤1106,编码器132根据微处理器112所决定的编解码设定来对数据进行编码以产生一编码后数据,其中若是编码器132具有第1组编解码设定,则编码器112对4KB的数据进行编码所产生的编码后数据包含了4KB的数据以及306位元组的错误更正码;而若是编码器132具有第9组编解码设定,则编码器112对2KB的数据进行编码所产生的编码后数据包含了2KB的数据以及150位元组的错误更正码。最后,于步骤1108,快闪存储器控制器110将编码后数据写入至快闪存储器模块120中于步骤1102所选择的区块。
图12为根据本发明一实施例的自快闪存储器模块120中读取数据的流程图。于步骤1200,流程开始,且记忆装置100已上电并完成初始化操作。在步骤1202中,微处理器112决定出要读取其中数据的一区块。于步骤1204,微处理器112根据所决定出的区块的抹除次数、以及需要自快闪存储器模块120中读取的数据的类型(例如,是2KB的数据表或是4KB的一般数据),以决定出一编解码设定;或是微处理器112根据所决定出的区块的类型与抹除次数、以及需要自快闪存储器模块120中读取的数据的类型,以决定出一编解码设定。在步骤1208,解码器134根据微处理器112所决定的编解码设定以对自区块所读取的一区段进行解码以产生一解码后数据,其中一个区段所包含的内容即是图11的步骤1108写入至快闪存储器模块120中的编码后数据。举例来说,若是解码器134具有第1组编解码设定,则解码器134自区块读取包含了4KB的数据以及306位元组的错误更正码的区段,以进行解码操作;而若是解码器134具有第9组编解码设定,则解码器134自区块读取包含了2KB的数据以及150位元组的错误更正码的区段,以进行解码操作。
简要归纳本发明,在本发明的存取快闪存储器模块的方法中,根据要写入的数据的类型、及/或根据数据所要写入的区块的抹除次数及类型来设定编码器,以产生具有适合长度的编码后数据后,可以在后续自快闪存储器模块中读取数据时更为快速,以增进记忆装置整体的效率。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (20)
1.一种存取快闪存储器模块的方法,包含有:
选择该快闪存储器模块中的一区块;
至少根据该区块的一抹除次数以自多组编解码设定中选择一特定编解码设定,其中该多组编解码设定分别包含不同的错误更正码(Error Correction Code,ECC)长度;
使用该特定编解码设定来对一数据进行编码操作以产生一编码后数据;以及
将该编码后数据写入至该区块中。
2.如权利要求1所述的方法,其特征在于,该多组编解码设定分别包含了多个抹除次数范围及对应的错误更正码长度,以及至少根据该区块的该抹除次数以自该多组编解码设定中选择该特定编解码设定的步骤包含有:
判断该区块的该抹除次数位于该多个抹除次数范围中的哪一者,以决定出该特定编解码设定。
3.如权利要求2所述的方法,其特征在于,该多组编解码设定包含了一第一组编解码设定以及一第二组编解码设定,该第一组编解码设定对应至一第一抹除次数范围及一第一错误更正码长度,该第二组编解码设定对应至一第二抹除次数范围及一第二错误更正码长度,该第一抹除次数范围中的数值小于该第二抹除次数范围中的数值,该第一错误更正码长度小于该第二错误更正码长度,以及判断该区块的该抹除次数位于该多个抹除次数范围中的哪一者,以决定出该特定编解码设定的步骤包含有:
若是该区块的该抹除次数位于该第一抹除次数范围,选择该第一组编解码设定以作为该特定编解码设定;以及
若是该区块的该抹除次数位于该第二抹除次数范围,选择该第二组编解码设定以作为该特定编解码设定。
4.如权利要求1所述的方法,其特征在于,至少根据该区块的该抹除次数以自多组编解码设定中选择该特定编解码设定的步骤包含有;
根据该区块的类型以及该区块的该抹除次数,以自多组编解码设定中选择该特定编解码设定。
5.如权利要求4所述的方法,其特征在于,该区块的类型为该区块是属于一单层式储存(Single-Level Cell,SLC)区块、一双层式储存(Multi-Level Cell,MLC)区块、一三层式储存(Triple-Level Cell,TLC)区块或是一四层式储存(Quad-Level Cell,QLC)区块。
6.如权利要求4所述的方法,其特征在于,该多组编解码设定包含了一第一组编解码设定、一第二组编解码设定,该第一组编解码设定对应至一第一抹除次数范围及一第一错误更正码长度,该第二组编解码设定对应至一第二抹除次数范围及一第二错误更正码长度,该第一抹除次数范围中的数值小于该第二抹除次数范围中的数值,该第一错误更正码长度小于该第二错误更正码长度,以及根据该区块的类型以及该区块的该抹除次数,以自该多组编解码设定中选择该特定编解码设定的步骤包含有:
若是该区块为一第一类型区块,且该区块的该抹除次数位于该第一抹除次数范围,选择该第一组编解码设定以作为该特定编解码设定;以及
若是该区块为该第一类型区块,且该区块的该抹除次数位于该第二抹除次数范围,选择该第二组编解码设定以作为该特定编解码设定;以及
若是该区块为一第二类型区块,且该区块的该抹除次数位于该第一抹除次数范围,选择该第二组编解码设定以作为该特定编解码设定;
其中该第一类型区块中每一个记忆单元所储存的位元数小于该第二类型区块中每一个记忆单元所储存的位元数。
7.如权利要求1所述的方法,其特征在于,根据该区块的类型以及该区块的该抹除次数,以自该多组编解码设定中选择该特定编解码设定的步骤包含有:
参考一区块抹除次数数据表所记录的该快闪存储器模块中所有区块中的一最高抹除次数,以自该多组编解码设定中选择该特定编解码设定。
8.如权利要求7所述的方法,其特征在于,包含有:
直接使用该特定编解码设定来对后续多个写入命令的每一个写入命令的数据进行编码,而不另外根据每一个写入命令所要写入的区块的抹除次数以自该多组编解码设定中选择其一,直到该区块抹除次数数据表中所记录的该最高抹除次数有所改变为止。
9.如权利要求1所述的方法,其特征在于,另包含有:
在该编码后数据被写入至该区块之后:
接收一读取命令以求自该快闪存储器模块中读取一区段,其中该区段包含了该编码后数据;
至少根据该区块的该抹除次数以自该多组编解码设定中选择该特定编解码设定;以及
使用该特定编解码设定以自该快闪存储器模块中读取该区段,并对该区段进行解码以产生一解码后数据。
10.如权利要求9所述的方法,其特征在于,至少根据该区块的该抹除次数以自该多组编解码设定中选择该特定编解码设定的步骤包含有:
根据该区块的类型以及该区块的该抹除次数,以自该多组编解码设定中选择该特定编解码设定。
11.一种快闪存储器控制器,其中该快闪存储器控制器用来存取一快闪存储器模块,且该快闪存储器控制器包含有:
一只读存储器,用来储存一程序码;
一微处理器,用来执行该程序码以控制对该快闪存储器模块的存取;以及
一编码器与一解码器;
其中该微处理器选择该快闪存储器模块中的一区块,并至少根据该区块的一抹除次数以自多组编解码设定中选择一特定编解码设定,其中该多组编解码设定分别包含不同的错误更正码(Error Correction Code,ECC)长度;以及该编码器使用该特定编解码设定来对一数据进行编码操作以产生一编码后数据,并将该编码后数据写入至该区块中。
12.如权利要求11所述的快闪存储器控制器,其特征在于,该多组编解码设定分别包含了多个抹除次数范围及对应的错误更正码长度,以及该微处理器判断该区块的该抹除次数位于该多个抹除次数范围中的哪一者,以决定出该特定编解码设定。
13.如权利要求12所述的快闪存储器控制器,其特征在于,该多组编解码设定包含了一第一组编解码设定以及一第二组编解码设定,该第一组编解码设定对应至一第一抹除次数范围及一第一错误更正码长度,该第二组编解码设定对应至一第二抹除次数范围及一第二错误更正码长度,该第一抹除次数范围中的数值小于该第二抹除次数范围中的数值,该第一错误更正码长度小于该第二错误更正码长度;以及若是该区块的该抹除次数位于该第一抹除次数范围,该微处理器选择该第一组编解码设定以作为该特定编解码设定;且若是该区块的该抹除次数位于该第二抹除次数范围,该微处理器选择该第二组编解码设定以作为该特定编解码设定。
14.如权利要求11所述的快闪存储器控制器,其特征在于,该微处理器根据该区块的类型以及该区块的该抹除次数,以自多组编解码设定中选择该特定编解码设定。
15.如权利要求14所述的快闪存储器控制器,其特征在于,该区块的类型为该区块是属于一单层式储存(Single-Level Cell,SLC)区块、一双层式储存(Multi-Level Cell,MLC)区块、一三层式储存(Triple-Level Cell,TLC)区块或是一四层式储存(Quad-Level Cell,QLC)区块。
16.如权利要求14所述的快闪存储器控制器,其特征在于,该多组编解码设定包含了一第一组编解码设定、一第二组编解码设定,该第一组编解码设定对应至一第一抹除次数范围及一第一错误更正码长度,该第二组编解码设定对应至一第二抹除次数范围及一第二错误更正码长度,该第一抹除次数范围中的数值小于该第二抹除次数范围中的数值,该第一错误更正码长度小于该第二错误更正码长度;以及若是该区块为一第一类型区块,且该区块的该抹除次数位于该第一抹除次数范围,该微处理器选择该第一组编解码设定以作为该特定编解码设定;若是该区块为该第一类型区块,且该区块的该抹除次数位于该第二抹除次数范围,该微处理器选择该第二组编解码设定以作为该特定编解码设定;以及若是该区块为一第二类型区块,且该区块的该抹除次数位于该第一抹除次数范围,该微处理器选择该第二组编解码设定以作为该特定编解码设定,其中该第一类型区块中每一个记忆单元所储存的位元数小于该第二类型区块中每一个记忆单元所储存的位元数。
17.一种记忆装置,包含有:
一快闪存储器模块;以及
一快闪存储器控制器,用以存取该快闪存储器模块;
其中该快闪存储器控制器用以执行以下步骤:
选择该快闪存储器模块中的一区块;
至少根据该区块的一抹除次数以自多组编解码设定中选择一特定编解码设定,其中该多组编解码设定分别包含不同的错误更正码(Error Correction Code,ECC)长度;
使用该特定编解码设定来对一数据进行编码操作以产生一编码后数据;以及
将该编码后数据写入至该区块中。
18.如权利要求17所述的记忆装置,其特征在于,该多组编解码设定分别包含了多个抹除次数范围及对应的错误更正码长度,以及至少根据该区块的该抹除次数以自该多组编解码设定中选择该特定编解码设定的步骤包含有:
判断该区块的该抹除次数位于该多个抹除次数范围中的哪一者,以决定出该特定编解码设定。
19.如权利要求18所述的记忆装置,其特征在于,该多组编解码设定包含了一第一组编解码设定以及一第二组编解码设定,该第一组编解码设定对应至一第一抹除次数范围及一第一错误更正码长度,该第二组编解码设定对应至一第二抹除次数范围及一第二错误更正码长度,该第一抹除次数范围中的数值小于该第二抹除次数范围中的数值,该第一错误更正码长度小于该第二错误更正码长度,以及判断该区块的该抹除次数位于该多个抹除次数范围中的哪一者,以决定出该特定编解码设定的步骤包含有:
若是该区块的该抹除次数位于该第一抹除次数范围,选择该第一组编解码设定以作为该特定编解码设定;以及
若是该区块的该抹除次数位于该第二抹除次数范围,选择该第二组编解码设定以作为该特定编解码设定。
20.如权利要求17所述的记忆装置,其特征在于,至少根据该区块的该抹除次数以自多组编解码设定中选择该特定编解码设定的步骤包含有;
根据该区块的类型以及该区块的该抹除次数,以自多组编解码设定中选择该特定编解码设定。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111135271A TWI836610B (zh) | 2022-09-19 | 2022-09-19 | 存取快閃記憶體模組的方法與相關的快閃記憶體控制器及記憶裝置 |
TW111135271 | 2022-09-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762820A true CN117762820A (zh) | 2024-03-26 |
Family
ID=90245077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211231581.0A Pending CN117762820A (zh) | 2022-09-19 | 2022-10-08 | 存取快闪存储器模块的方法与相关的快闪存储器控制器及记忆装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12079483B2 (zh) |
CN (1) | CN117762820A (zh) |
TW (1) | TWI836610B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5715193A (en) * | 1996-05-23 | 1998-02-03 | Micron Quantum Devices, Inc. | Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks |
US8095851B2 (en) * | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
TWI447735B (zh) * | 2010-02-05 | 2014-08-01 | Phison Electronics Corp | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 |
US8533550B2 (en) * | 2010-06-29 | 2013-09-10 | Intel Corporation | Method and system to improve the performance and/or reliability of a solid-state drive |
WO2012058328A1 (en) * | 2010-10-27 | 2012-05-03 | Sandforce, Inc. | Adaptive ecc techniques for flash memory based data storage |
US20200042223A1 (en) * | 2018-08-02 | 2020-02-06 | Alibaba Group Holding Limited | System and method for facilitating a high-density storage device with improved performance and endurance |
US11347403B2 (en) * | 2019-09-04 | 2022-05-31 | Seagate Technolagy LLC | Extending the life of a solid state drive by using MLC flash blocks in SLC mode |
-
2022
- 2022-09-19 TW TW111135271A patent/TWI836610B/zh active
- 2022-10-08 CN CN202211231581.0A patent/CN117762820A/zh active Pending
- 2022-10-31 US US17/976,901 patent/US12079483B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI836610B (zh) | 2024-03-21 |
US12079483B2 (en) | 2024-09-03 |
TW202414424A (zh) | 2024-04-01 |
US20240094915A1 (en) | 2024-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8762629B2 (en) | Data conditioning to improve flash memory reliability | |
JP5585919B2 (ja) | 電源遮断管理 | |
CN107957959B (zh) | 具有文件级安全擦除的存储器系统及其操作方法 | |
JPWO2007119267A1 (ja) | フラッシュメモリ用のメモリコントローラ | |
CN107423231B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
TWI656442B (zh) | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 | |
CN109390027B (zh) | 解码方法及相关的闪存控制器与电子装置 | |
CN113590503B (zh) | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统 | |
KR20200006379A (ko) | 컨트롤러 및 그것의 동작방법 | |
CN111399751B (zh) | 闪存控制器、管理闪存模块的方法及相关的电子装置 | |
CN113590502B (zh) | 一种非挥发性记忆体存储设备的垃圾回收方法与垃圾回收系统 | |
KR20200006378A (ko) | 컨트롤러 및 그것의 동작방법 | |
US11087846B1 (en) | Memory system with single decoder, multiple memory sets and method for decoding multiple codewords from memory sets using the single decoder | |
TWI837829B (zh) | 存取快閃記憶體模組的方法與相關的快閃記憶體控制器及記憶裝置 | |
TWI836610B (zh) | 存取快閃記憶體模組的方法與相關的快閃記憶體控制器及記憶裝置 | |
US11687290B1 (en) | Method for improve read disturbance phenomenon of flash memory module and associated flash memory controller and electronic device | |
TWI823649B (zh) | 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置 | |
US11520507B1 (en) | System and method for test precondition generation based on factory-formatted state of memory device | |
TWI523016B (zh) | 用來管理一記憶裝置之方法以及記憶裝置與控制器 | |
US11249676B2 (en) | Electronic device, flash memory controller and associated control method | |
US11055231B2 (en) | Data storage devices and data processing methods of skipping editing of fields in H2F table when consecutive addresses are present in F2H table | |
US20200387446A1 (en) | Memory system and operating method thereof | |
TW201937502A (zh) | 解碼方法及相關的快閃記憶體控制器與電子裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |