CN103778068A - 一种闪速存储器及访问闪速存储器数据的方法 - Google Patents
一种闪速存储器及访问闪速存储器数据的方法 Download PDFInfo
- Publication number
- CN103778068A CN103778068A CN201210411047.8A CN201210411047A CN103778068A CN 103778068 A CN103778068 A CN 103778068A CN 201210411047 A CN201210411047 A CN 201210411047A CN 103778068 A CN103778068 A CN 103778068A
- Authority
- CN
- China
- Prior art keywords
- address
- flash memory
- current operation
- block
- block address
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种闪速存储器及访问闪速存储器数据的方法,涉及闪速存储器领域。本发明公开的闪速存储器,至少包括:块地址使用统计模块,在闪速存储器正常使用过程中,实时统计并存储闪速存储器中各块的循环使用次数,并根据统计存储的各块的循环使用次数实时更新当前操作块;地址映射表模块,将用户发起的访问操作对应的逻辑地址中的块地址映射到所述块地址使用统计模块更新的当前操作块的块地址上,再发送给闪速存储器内部进行地址译码。本发明还公开了一种访问闪速存储器数据的方法。本申请技术方案在NAND Flash内部实现了cell空间均衡,降低了系统成本和系统应用复杂性,提高了系统寿命和可靠性,且满足了SPI NAND Flash系统应用的需求。
Description
技术领域
本发明涉及NAND Flash Memory(闪速存储器)领域,具体涉及一种闪速存储器及访问闪速存储器数据的方法。
背景技术
Flash存储器的存储单元(cell)在使用过程中会存在寿命衰减,表现为cycling(循环)和Data retention(数据保持)特性。Data retention表征数据不发生变化,数据能够保存的时间,通常为10年或者20年。而cycling为数据发生变化,进行program/erase时的衰减,通常为100,000次或者1000,000次。这样系统就产生了寿命限制。
而系统对数据的访问并不是均匀在整个地址空间,有的地址空间数据会保持不变,比如存储的代码区域,而有些部分,比如用户或者系统的数据区域,需要频繁改变数据,这些空间的cell则会寿命衰减严重。这些巨大的差异会导致这些在芯片内部某些cell性能还良好的情况下,某些频繁访问区域的cell在很快就坏了,这样降低了系统的寿命。
因此,传统的NAND Flash会采用flash cell均衡算法,通常实现方式为通过主控制器或者介于主控制器之间的driver上增加此均衡算法,如图1所示。这样,在系统使用过程中,尽可能的会通过地址映射,均衡不同地址空间的访问频率,尽量做到把性能衰减分布在整个地址空间,从而提高系统的寿命和可靠性。但是这种方案带了系统应用的复杂性和成本。而且,在SPINAND应用系统中,不能提供这样的driver或者主控制器算法,故这种方案不能使用。
发明内容
本发明所要解决的技术问题是,提供一种NAND Flash芯片及访问NAND Flash数据的方法,从而简化NAND Flash应用的复杂度,显著提高了存储器的可靠性。
为了解决上述技术问题,本发明公开了一种闪速存储器,至少包括:
块地址使用统计模块,在闪速存储器正常使用过程中,实时统计并存储闪速存储器中各块的循环使用次数,并根据统计存储的各块的循环使用次数实时更新当前操作块;
地址映射表模块,将用户发起的访问操作对应的逻辑地址中的块地址映射到所述块地址使用统计模块更新的当前操作块的块地址上,再发送给闪速存储器内部进行地址译码。
较佳地,上述闪速存储器中,所述块地址使用统计模块,根据统计存储的各块的循环使用次数实时更新当前操作块指,将当前空闲的块中所统计存储的循环使用次数最小的块作为当前操作块。
较佳地,上述闪速存储器中,所述块地址使用统计模块采用非易失性存储单元构成。
较佳地,上述闪速存储器中,当所述块地址使用统计模块将某一空闲的块更新为当前操作块后,所述地址映射表模块还对当前操作块地址进行固化。
较佳地,上述闪速存储器中,所述地址映射表模块对当前操作块地址固化包括:存储当前操作块的循环使用次数,以及存储当前操作块对应的外部访问逻辑地址与内部物理地址的映射。
本发明还公开了一种访问闪速存储器数据的方法,包括:
在闪速存储器正常使用过程中,实时统计并存储闪速存储器中各块的循环使用次数,根据统计存储的各块的循环使用次数实时更新当前操作块;
当收到用户发起的访问操作时,将所述访问操作对应的逻辑地址中的块地址映射到更新的当前操作块的块地址上,再进行地址译码。
较佳地,上述方法中,所述闪速存储器根据统计存储的各块的循环使用次数实时更新当前操作块指,将当前空闲的块中所统计存储的循环使用次数最小的块作为当前操作块。
较佳地,上述方法中,所述块地址使用统计模块采用非易失性存储单元构成。
较佳地,上述方法还包括,将某一空闲的块更新为当前操作块后,所述闪速存储器还对当前操作块地址进行固化。
较佳地,上述方法中,所述闪速存储器对当前操作块地址固化包括:存储当前操作块的循环使用次数,以及存储当前操作块对应的外部访问逻辑地址与内部物理地址的映射。
本申请技术方案提出了一种在NAND Flash内部实现cell空间均衡的方案,通过该方案,简化了系统应用复杂性,降低了系统成本,提高了系统寿命和可靠性,且满足了SPI NAND Flash系统应用的需求。
附图说明
图1为传统NAND Flash采用flash cell均衡算法的架构示意图;
图2为本实施例中提供的NAND Flash的结构示意图;
图3为本实施例提供的NAND Flash中块地址使用统计模块结构示意图;
图4为本实施例提供的NAND Flash中地址映射表模块结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
实施例1
本实施例提供一种NAND Flash,其可达到内嵌访问均衡(Wear level)的效果。该NAND Flash的架构如图1所示,至少包括图1所示的两个模块:地址映射表模块,块地址使用统计模块。
其中,块地址使用统计模块,在闪速存储器正常使用过程中,实时统计并存储闪速存储器中各块的循环使用(cycling)次数,并根据统计存储的各块的循环使用次数实时更新当前操作块;
本实施例中,地址使用统计模块可由掉电数据能够保存的非易失性存储单元(例如fuse)组成。这样,块地址使用统计模块在断电后也能继续保存各块的cycling次数,而在上电过程读取即可,并在使用过程中根据block的使用情况进行更新。具体地,块地址使用统计模块,根据统计存储的各块的循环使用次数实时更新当前操作块的原则可以是,将当前空闲的块中所统计存储的循环使用次数最小的块作为当前操作块(例如,当需要对新的空闲的block进行program操作时,根据当前所有空的block中,cycling最少的block映射为当前操作block)。
本实施例提供一种块地址使用统计模块的实现方式如图3所示,但要注意的是本申请所提出的块地址使用统计模块的实现并不只限于图3这一种实现方式。
地址映射表模块,将用户发起的访问操作(包括read,program,erase等访问操作)对应的逻辑地址中的块地址映射到块地址使用统计模块所更新的当前操作块的块地址上,再发送给闪速存储器内部进行地址译码。需要说明的是,NAND Flash地址分为三种:block地址,page地址,page内byte地址。而对于访问均衡算法只要以block为单位即可,因此本实施例中地址映射表模块只对block地址部分进行处理。
具体地,本实施例提供一种地址映射表模块的实现方式,如图4所示。但要注意的是本申请所提出的地址映射表模块的实现并不只限于图4这一种实现方式。
另外有一些优选方案,在空闲的块地址映射后就会被固化下来,下电也不会消失。具体地,需要固化两部分信息:一是每一个block的cycling次数。另一个是外部访问逻辑地址与内部物理地址的映射。其中,Block的cycling信息由块地址使用统计模块来完成,每次进行block erase后进行更新。而逻辑地址与物理地址映射信息则是对新的区域进行访问时确定,由地址映射表模块根据所有闲置block的cycling次数来确定,并且将此对应关系进行fusewrite操作固化下来。
下面以NAND Flash内部有8个block,依次为block<7:0>为例,说明在需要进行对新的block进行program操作时的实现过程。假设,外部数据逻辑地址(即用户发起的访问操作对应的逻辑地址)为block<3>,这时NANDFlash内部有三个block为空block依次为block<6,4,3>,结果通过块地址使用统计模块,发现这三个block使用情况为:block<6>做过了6次cycling,block<4>做过了5次cycling,block<3>做过了6次cycling。这时地址映射表模块就会将逻辑地址block<3>映射为物理block<4>,以避免物理block<3>继续增加cycling而成为使用频率明显超过其他block,而成为整个芯片内部最weak的block。在此操作过程中,同时把这个新的地址映射信息固化下来。依次类推,在每次对空的block进行program时都进行如此运算,然后更新地址映射表。
实施例2
本实施例提供一种NAND Flash内嵌访问均衡(Wear level)实现方案。
闪速存储器正常使用过程中,实时统计并存储闪速存储器中各块的循环使用次数,根据统计存储的各块的循环使用次数实时更新当前操作块;
当收到用户发起的访问操作时,将所述访问操作对应的逻辑地址中的块地址映射到更新的当前操作块的块地址上,再进行地址译码。
其中,闪速存储器内可采用掉电数据能够保存的非易失性存储单元来统计存储各块的cycling次数。这样,即使闪速存储器断电后也能继续保存各块的cycling次数,而在上电过程读取即可。具体地,闪速存储器根据统计存储的各块的循环使用次数实时更新当前操作块的原则可以是,将当前空闲的块中所统计存储的循环使用次数最小的块作为当前操作块(例如,当需要对新的空闲的block进行program操作时,根据当前所有空的block中,cycling最少的block映射为当前操作block)。
另有优选方案,在上述实现方法的基础上,在空闲的块地址映射后就会被固化下来,下电也不会消失。具体地,需要固化两部分信息:包括固化每一个block的cycling次数。另外还要固化外部访问逻辑地址与内部物理地址的映射。其中,Block的cycling次数的固化是在每次进行block erase后进行更新的。而逻辑地址与物理地址映射信息则是对新的区域进行访问时确定的,由地址映射表根据所有闲置block的cycling次数来确定,并且把此对应关系进行fuse write操作固化下来。
下面以NAND Flash内部有8个block,依次为block<7:0>为例,说明在需要进行对新的block进行program操作时的实现过程。假设,外部数据逻辑地址(即用户发起的访问操作对应的逻辑地址)为block<3>,这时NANDFlash内部有三个block为空block依次为block<6,4,3>,结果通过块地址使用统计模块,发现这三个block使用情况为:block<6>做过了6次cycling,block<4>做过了5次cycling,block<3>做过了6次cycling。这时地址映射表模块就会将逻辑地址block<3>映射为物理block<4>,以避免物理block<3>继续增加cycling而成为使用频率明显超过其他block,而成为整个芯片内部最weak的block。在此操作过程中,同时把这个新的地址映射信息固化下来。依次类推,在每次对空的block进行program时都进行如此运算,然后更新地址映射表。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种闪速存储器,其特征在于,至少包括:
块地址使用统计模块,在闪速存储器正常使用过程中,实时统计并存储闪速存储器中各块的循环使用次数,并根据统计存储的各块的循环使用次数实时更新当前操作块;
地址映射表模块,将用户发起的访问操作对应的逻辑地址中的块地址映射到所述块地址使用统计模块更新的当前操作块的块地址上,再发送给闪速存储器内部进行地址译码。
2.如权利要求1所述的闪速存储器,其特征在于,
所述块地址使用统计模块,根据统计存储的各块的循环使用次数实时更新当前操作块指,将当前空闲的块中所统计存储的循环使用次数最小的块作为当前操作块。
3.如权利要求1所述的闪速存储器,其特征在于,
所述块地址使用统计模块采用非易失性存储单元构成。
4.如权利要求1至3任一项所述的闪速存储器,其特征在于,
当所述块地址使用统计模块将某一空闲的块更新为当前操作块后,所述地址映射表模块还对当前操作块地址进行固化。
5.如权利要求4所述的闪速存储器,其特征在于,
所述地址映射表模块对当前操作块地址固化包括:存储当前操作块的循环使用次数,以及存储当前操作块对应的外部访问逻辑地址与内部物理地址的映射。
6.一种访问闪速存储器数据的方法,其特征在于,该方法包括:
在闪速存储器正常使用过程中,实时统计并存储闪速存储器中各块的循环使用次数,根据统计存储的各块的循环使用次数实时更新当前操作块;
当收到用户发起的访问操作时,将所述访问操作对应的逻辑地址中的块地址映射到更新的当前操作块的块地址上,再进行地址译码。
7.如权利要求6所述的方法,其特征在于,
所述闪速存储器根据统计存储的各块的循环使用次数实时更新当前操作块指,将当前空闲的块中所统计存储的循环使用次数最小的块作为当前操作块。
8.如权利要求6所述的方法,其特征在于,
所述块地址使用统计模块采用非易失性存储单元构成。
9.如权利要求6至8任一项所述的方法,其特征在于,该方法还包括:
将某一空闲的块更新为当前操作块后,所述闪速存储器还对当前操作块地址进行固化。
10.如权利要求9所述的方法,其特征在于,所述闪速存储器对当前操作块地址固化包括:存储当前操作块的循环使用次数,以及存储当前操作块对应的外部访问逻辑地址与内部物理地址的映射。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210411047.8A CN103778068A (zh) | 2012-10-24 | 2012-10-24 | 一种闪速存储器及访问闪速存储器数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210411047.8A CN103778068A (zh) | 2012-10-24 | 2012-10-24 | 一种闪速存储器及访问闪速存储器数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103778068A true CN103778068A (zh) | 2014-05-07 |
Family
ID=50570329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210411047.8A Pending CN103778068A (zh) | 2012-10-24 | 2012-10-24 | 一种闪速存储器及访问闪速存储器数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103778068A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461401A (zh) * | 2014-12-25 | 2015-03-25 | 珠海煌荣集成电路科技有限公司 | Spi闪速存储器的数据读写管理方法及数据读写管理装置 |
CN109308273A (zh) * | 2017-07-26 | 2019-02-05 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
CN110704333A (zh) * | 2019-09-20 | 2020-01-17 | 广东以诺通讯有限公司 | 根据存储数据特性确定eMMC地址映射管理的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189490A1 (en) * | 2007-02-06 | 2008-08-07 | Samsung Electronics Co., Ltd. | Memory mapping |
CN101441599A (zh) * | 2008-11-28 | 2009-05-27 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘的均衡方法和固态硬盘 |
CN101477494A (zh) * | 2009-01-20 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种写入数据的方法和存储系统 |
-
2012
- 2012-10-24 CN CN201210411047.8A patent/CN103778068A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189490A1 (en) * | 2007-02-06 | 2008-08-07 | Samsung Electronics Co., Ltd. | Memory mapping |
CN101441599A (zh) * | 2008-11-28 | 2009-05-27 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘的均衡方法和固态硬盘 |
CN101477494A (zh) * | 2009-01-20 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种写入数据的方法和存储系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461401A (zh) * | 2014-12-25 | 2015-03-25 | 珠海煌荣集成电路科技有限公司 | Spi闪速存储器的数据读写管理方法及数据读写管理装置 |
CN109308273A (zh) * | 2017-07-26 | 2019-02-05 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
CN109308273B (zh) * | 2017-07-26 | 2020-11-20 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
CN110704333A (zh) * | 2019-09-20 | 2020-01-17 | 广东以诺通讯有限公司 | 根据存储数据特性确定eMMC地址映射管理的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103034617B (zh) | 用于实现可重构系统配置信息存储的缓存结构和管理方法 | |
CN103092766B (zh) | 一种用于nand flash的均衡损耗实现方法 | |
US8195971B2 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN102841851B (zh) | 闪存管理方法和闪存设备 | |
US20110004723A1 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
US9274943B2 (en) | Storage unit management method, memory controller and memory storage device using the same | |
CN106681652B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN102135942A (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
CN103942159A (zh) | 一种基于混合存储设备的数据读写方法与装置 | |
CN101634967A (zh) | 用于闪存的区块管理方法、储存系统与控制器 | |
CN113419975B (zh) | 存储器的控制系统及地址映射方法和地址映射装置 | |
US10339045B2 (en) | Valid data management method and storage controller | |
CN107943710B (zh) | 存储器管理方法及使用所述方法的存储控制器 | |
CN105278875A (zh) | 一种混合异构nand固态硬盘 | |
CN103488585B (zh) | 用于实现可重构系统中配置信息缓存更新的控制器 | |
CN112162695A (zh) | 一种数据缓存方法、装置、电子设备及存储介质 | |
CN101408864A (zh) | 用于断电时的数据保护方法及使用此方法的控制器 | |
CN103778068A (zh) | 一种闪速存储器及访问闪速存储器数据的方法 | |
CN102999441A (zh) | 一种细粒度内存访问的方法 | |
CN101625661A (zh) | 用于闪存的数据管理方法、储存系统与控制器 | |
CN111143109B (zh) | 一种ecc内存管理器、方法及电子设备 | |
CN103164344B (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN105095101A (zh) | 向存储器写入数据的方法及装置、智能卡 | |
CN106648443B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140507 |
|
RJ01 | Rejection of invention patent application after publication |