CN112764670A - 闪存设备及闪存管理方法 - Google Patents
闪存设备及闪存管理方法 Download PDFInfo
- Publication number
- CN112764670A CN112764670A CN201911067042.6A CN201911067042A CN112764670A CN 112764670 A CN112764670 A CN 112764670A CN 201911067042 A CN201911067042 A CN 201911067042A CN 112764670 A CN112764670 A CN 112764670A
- Authority
- CN
- China
- Prior art keywords
- controller
- flash memory
- block
- blocks
- memory device
- 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
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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0658—Controller construction arrangements
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)
- Memory System (AREA)
Abstract
本发明提供一种闪存设备及闪存管理方法。闪存设备包括:控制器;以及存储单元模块耦合到控制器。存储单元模块包括多个区块。控制器对存储单元模块进行低级格式化操作以获得坏区块表。坏区块表包括每个多个区块的多个有效页地址。控制器从主机接收第一写入命令并判断第一写入命令对应的第一数据要被写入多个区块的第一区块。控制器根据坏区块表将对应第一区块的多个第一有效页地址读到静态随机存取存储器。控制器将第一数据写入到第一区块中对应多个第一有效页地址的多个第一有效页。因此,本发明的闪存设备及闪存管理方法能提升闪存空间使用率。
Description
技术领域
本发明涉及一种闪存设备及闪存管理方法,尤其涉及一种提高闪存空间使用率的闪存设备及闪存管理方法。
背景技术
在当前的闪存管理技术中,由于静态随机存取存储器的空间大小有限且处理器的运算能力有限,会用一张固定的坏区块表来标记坏区块。只要区块存在部分无效页就会被标记成坏区块。在闪存质量较差的情况,会浪费掉大量可用空间。
发明内容
本发明提供一种闪存设备及闪存管理方法,提高闪存空间使用率。
本发明提出一种闪存设备,包括:控制器;以及存储单元模块耦合到控制器。存储单元模块包括多个区块。控制器对存储单元模块进行低级格式化操作以获得坏区块表,坏区块表包括每个多个区块的多个有效页地址。控制器从主机接收第一写入命令并判断第一写入命令对应的第一数据要被写入多个区块的第一区块。控制器根据坏区块表将对应第一区块的多个第一有效页地址读到静态随机存取存储器。控制器将第一数据写入到第一区块中对应多个第一有效页地址的多个第一有效页。
本发明提出一种闪存管理方法,适用于闪存设备。闪存设备包括控制器及存储单元模块耦合到控制器。存储单元模块包括多个区块。闪存管理方法包括:控制器对存储单元模块进行低级格式化操作以获得坏区块表,坏区块表包括每个多个区块的多个有效页地址;控制器从主机接收第一写入命令并判断第一写入命令对应的第一数据要被写入多个区块的第一区块;控制器根据坏区块表将对应第一区块的多个第一有效页地址读到静态随机存取存储器;以及控制器将第一数据写入到第一区块中对应多个第一有效页地址的多个第一有效页。
基于上述,本发明实施例所提出的闪存设备及闪存管理方法会在对质量不一的闪存进行低级格式化后先生成坏区块表。坏区块表包括所有区块的有效页地址。当从主机接收第一数据要写入闪存的第一区块时,控制器会先将对应第一区块的第一有效页地址读到静态随机存取存储器。控制器再根据静态随机存取存储器中的第一有效页地址将第一数据写到第一区块的有效页。因此,能提高闪存空间使用率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所示附图作详细说明如下。
附图说明
包含附图以便进一步理解本发明,且附图并入本说明书中并构成本说明书的一部分。附图说明本发明的实施例,并与描述一起用于解释本发明的原理。
图1为根据本发明一实施例的闪存设备的方块图;
图2为根据本发明一实施例的闪存管理方法的流程图。
附图标号说明:
100:闪存设备;
110:控制器;
120:存储单元模块;
150:主机;
S201~S204:闪存管理方法的步骤。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
图1为根据本发明一实施例的闪存设备的方块图。
请参照图1,本发明一实施例的闪存设备100包括控制器110及存储单元模块120。存储单元模块120耦合到控制器110。存储单元模块120包括多个与非门式(NAND gate)存储单元。存储单元模块120包括多个区块且每个区块包括多个页。控制器110可接收主机150的指令来存取存储单元模块120。控制器110可包括一或多个处理器。主机150例如是个人计算机、智能手机、平板电脑或其他类似电子装置。控制器110还可包括静态随机存取存储器(Static Random Access Memory,SRAM)耦合到处理器。
在一实施例中,控制器110对存储单元模块120进行低级格式化操作以获得坏区块表,坏区块表包括每个多个区块的多个有效页地址。举例来说,每个有效页地址可用一个字节(byte)来表示,当一个区块具有256个页时,每个区块的有效页信息占用了256个字节的存储空间。控制器110从主机150接收第一写入命令并判断第一写入命令对应的第一数据要被写入多个区块的第一区块。为了加速坏区块表的访问速度,控制器110根据坏区块表将对应第一区块的多个第一有效页地址读到静态随机存取存储器。最后,控制器110将第一数据写入到第一区块中对应多个第一有效页地址的多个第一有效页,以完成第一数据的存储。通过本发明一实施例的闪存设备100,能够利用存在部分无效页的区块来存储有效数据,因此与传统闪存管理方法相比可在部分页损坏或异常时提升闪存设备100的整体存储容量。
在一实施例中,坏区块表存储在存储单元模块120的多个区块的系统区块中。系统区块可以是存储单元模块120中状况较好的区块,例如读写次数少、没有无效页的区块等等。
在一实施例中,第一数据不写入到第一区块中的多个第一有效页以外的无效页。
在一实施例中,控制器110根据第一写入命令的逻辑区块地址(Logical BlockAddress,LBA)及逻辑转实体表(Logical to Physical table,L2P table)来判断第一写入命令对应的第一数据要被写入多个区块的第一区块。
图2为根据本发明一实施例的闪存管理方法的流程图。
在步骤S201中,控制器对存储单元模块进行低级格式化操作以获得坏区块表,坏区块表包括每个多个区块的多个有效页地址。
在步骤S202中,控制器从主机接收第一写入命令并判断第一写入命令对应的第一数据要被写入多个区块的第一区块。
在步骤S203中,控制器根据坏区块表将对应第一区块的多个第一有效页地址读到静态随机存取存储器。
在步骤S204中,控制器将第一数据写入到第一区块中对应多个第一有效页地址的多个第一有效页。
基于上述,本发明实施例所提出的闪存设备及闪存管理方法会在对质量不一的闪存进行低级格式化后先生成坏区块表。坏区块表包括所有区块的有效页地址。当从主机接收第一数据要写入闪存的第一区块时,控制器会先将对应第一区块的第一有效页地址读到静态随机存取存储器。控制器再根据静态随机存取存储器中的第一有效页地址将第一数据写到第一区块的有效页。因此,能提高闪存空间使用率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种闪存设备,其特征在于,包括:
控制器;以及
存储单元模块,耦合到所述控制器,所述存储单元模块包括多个区块,其中
所述控制器对所述存储单元模块进行低级格式化操作以获得坏区块表,所述坏区块表包括每个所述多个区块的多个有效页地址;
所述控制器从主机接收第一写入命令并判断所述第一写入命令对应的第一数据要被写入所述多个区块的第一区块;
所述控制器根据所述坏区块表将对应所述第一区块的多个第一有效页地址读到静态随机存取存储器;以及
所述控制器将所述第一数据写入到所述第一区块中对应所述多个第一有效页地址的多个第一有效页。
2.根据权利要求1所述的闪存设备,其特征在于,所述坏区块表存储在所述多个区块的系统区块中。
3.根据权利要求1所述的闪存设备,其特征在于,所述第一数据不写入到所述第一区块中的所述多个第一有效页以外的无效页。
4.根据权利要求1所述的闪存设备,其特征在于,所述控制器根据第一写入命令的逻辑区块地址及逻辑转实体表来判断所述第一写入命令对应的第一数据要被写入所述多个区块的第一区块。
5.根据权利要求1所述的闪存设备,其特征在于,所述静态随机存取存储器设置于所述控制器中并耦合到所述控制器的处理器。
6.一种闪存管理方法,适用于闪存设备,所述闪存设备包括控制器及存储单元模块耦合到所述控制器,所述存储单元模块包括多个区块,其特征在于,所述闪存管理方法包括:
所述控制器对所述存储单元模块进行低级格式化操作以获得坏区块表,所述坏区块表包括每个所述多个区块的多个有效页地址;
所述控制器从主机接收第一写入命令并判断所述第一写入命令对应的第一数据要被写入所述多个区块的第一区块;
所述控制器根据所述坏区块表将对应所述第一区块的多个第一有效页地址读到静态随机存取存储器;以及
所述控制器将所述第一数据写入到所述第一区块中对应所述多个第一有效页地址的多个第一有效页。
7.根据权利要求6所述的闪存管理方法,其特征在于,所述坏区块表存储在所述多个区块的系统区块中。
8.根据权利要求6所述的闪存管理方法,其特征在于,所述第一数据不写入到所述第一区块中的所述多个第一有效页以外的无效页。
9.根据权利要求6所述的闪存管理方法,其特征在于,所述控制器根据第一写入命令的逻辑区块地址及逻辑转实体表来判断所述第一写入命令对应的第一数据要被写入所述多个区块的第一区块。
10.根据权利要求6所述的闪存管理方法,其特征在于,所述静态随机存取存储器设置于所述控制器中并耦合到所述控制器的处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067042.6A CN112764670A (zh) | 2019-11-04 | 2019-11-04 | 闪存设备及闪存管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067042.6A CN112764670A (zh) | 2019-11-04 | 2019-11-04 | 闪存设备及闪存管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112764670A true CN112764670A (zh) | 2021-05-07 |
Family
ID=75692309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911067042.6A Pending CN112764670A (zh) | 2019-11-04 | 2019-11-04 | 闪存设备及闪存管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764670A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080155183A1 (en) * | 2006-12-18 | 2008-06-26 | Zhiqing Zhuang | Method of managing a large array of non-volatile memories |
CN101320594A (zh) * | 2008-05-21 | 2008-12-10 | 深圳市硅格半导体有限公司 | 一种闪存芯片的物理操作方法 |
CN101339537A (zh) * | 2008-08-14 | 2009-01-07 | 四川登巅微电子有限公司 | 一种以页为单位的nand闪存管理方法 |
CN101770427A (zh) * | 2009-01-07 | 2010-07-07 | 芯邦科技(深圳)有限公司 | 一种利用Flash存储空间的方法及装置 |
CN101788955A (zh) * | 2009-01-23 | 2010-07-28 | 群联电子股份有限公司 | 闪存数据的存取方法及其储存系统与控制系统 |
CN101930345A (zh) * | 2010-08-24 | 2010-12-29 | 苏州国芯科技有限公司 | 一种基于块访问的闪存读写方法 |
US20110082967A1 (en) * | 2009-10-05 | 2011-04-07 | Deshkar Shekhar S | Data Caching In Non-Volatile Memory |
CN102043725A (zh) * | 2009-10-20 | 2011-05-04 | 群联电子股份有限公司 | 用于闪存的数据写入方法及其控制器与储存系统 |
CN105843749A (zh) * | 2016-03-24 | 2016-08-10 | 浙江大学 | 一种基于FPGA的NAND Flash容错方法 |
CN109086219A (zh) * | 2017-06-14 | 2018-12-25 | 北京忆恒创源科技有限公司 | 去分配命令处理方法及其存储设备 |
CN109144423A (zh) * | 2018-08-31 | 2019-01-04 | 湖南率为控制科技有限公司 | 存储器坏块管理方法、装置及闪速存储器 |
-
2019
- 2019-11-04 CN CN201911067042.6A patent/CN112764670A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080155183A1 (en) * | 2006-12-18 | 2008-06-26 | Zhiqing Zhuang | Method of managing a large array of non-volatile memories |
CN101320594A (zh) * | 2008-05-21 | 2008-12-10 | 深圳市硅格半导体有限公司 | 一种闪存芯片的物理操作方法 |
CN101339537A (zh) * | 2008-08-14 | 2009-01-07 | 四川登巅微电子有限公司 | 一种以页为单位的nand闪存管理方法 |
CN101770427A (zh) * | 2009-01-07 | 2010-07-07 | 芯邦科技(深圳)有限公司 | 一种利用Flash存储空间的方法及装置 |
CN101788955A (zh) * | 2009-01-23 | 2010-07-28 | 群联电子股份有限公司 | 闪存数据的存取方法及其储存系统与控制系统 |
US20110082967A1 (en) * | 2009-10-05 | 2011-04-07 | Deshkar Shekhar S | Data Caching In Non-Volatile Memory |
CN102043725A (zh) * | 2009-10-20 | 2011-05-04 | 群联电子股份有限公司 | 用于闪存的数据写入方法及其控制器与储存系统 |
CN101930345A (zh) * | 2010-08-24 | 2010-12-29 | 苏州国芯科技有限公司 | 一种基于块访问的闪存读写方法 |
CN105843749A (zh) * | 2016-03-24 | 2016-08-10 | 浙江大学 | 一种基于FPGA的NAND Flash容错方法 |
CN109086219A (zh) * | 2017-06-14 | 2018-12-25 | 北京忆恒创源科技有限公司 | 去分配命令处理方法及其存储设备 |
CN109144423A (zh) * | 2018-08-31 | 2019-01-04 | 湖南率为控制科技有限公司 | 存储器坏块管理方法、装置及闪速存储器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
US8902671B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
CN113094003B (zh) | 数据处理方法、数据存储装置及电子设备 | |
US20190266096A1 (en) | Data storage device, method of operating the same, and storage system having the same | |
US11567860B2 (en) | Memory system for updating mapping information | |
US11763899B2 (en) | Balanced three-level read disturb management in a memory device | |
US8429339B2 (en) | Storage device utilizing free pages in compressed blocks | |
KR20210003946A (ko) | 논리적-물리적 데이터 구조 | |
US10558562B2 (en) | Data storage device and operating method thereof | |
US10684953B2 (en) | Data storage apparatus capable of varying map cache buffer size | |
US9727453B2 (en) | Multi-level table deltas | |
CN113590505B (zh) | 地址映射方法、固态硬盘控制器及固态硬盘 | |
US11347433B2 (en) | Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device | |
US10289334B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN112230849A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
US9245633B2 (en) | Storage device, electronic device, and method for programming memory | |
CN110597741A (zh) | 一种l2p表的读写、更新方法及l2p表 | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
US11720276B2 (en) | Memory system and controller for managing write status | |
CN112764670A (zh) | 闪存设备及闪存管理方法 | |
CN111198651B (zh) | 进行存储空间管理的方法以及数据存储装置及其控制器 | |
CN109002265B (zh) | 一种数据处理的方法以及相关装置 | |
CN108062203B (zh) | 一种闪存数据管理方法、装置及存储器 | |
CN107870736B (zh) | 支持大于4gb非线性闪存的方法及装置 | |
US11989431B2 (en) | Write updates sorting during BKOPS idle |
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 |