CN110543283A - 一种nand快闪器件 - Google Patents
一种nand快闪器件 Download PDFInfo
- Publication number
- CN110543283A CN110543283A CN201910836874.3A CN201910836874A CN110543283A CN 110543283 A CN110543283 A CN 110543283A CN 201910836874 A CN201910836874 A CN 201910836874A CN 110543283 A CN110543283 A CN 110543283A
- Authority
- CN
- China
- Prior art keywords
- nand
- module
- flash device
- nand flash
- upper computer
- 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
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/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/0662—Virtualisation aspects
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Abstract
本发明公开了一种NAND快闪器件。该NAND快闪器件配置有系统固件,系统固件包括前端模块、固件传输模块、快闪虚拟模块和硬件抽象模块;其中,前端模块用于与上位机进行通信;固件传输模块用于根据上位机发送的数据信息,对NAND快闪器件进行ECC校验管理、坏块管理、地址映射管理或损耗均衡管理;快闪虚拟模块用于封装逻辑相关函数,并根据上位机发送的数据信息,对NAND快闪器件进行逻辑相关操作;硬件抽象模块用于封装硬件相关函数,并根据上位机发送的数据信息,对NAND快闪器件进行硬件相关操作。本发明解决了系统固件后端逻辑层与硬件层的层级混乱、系统固件维护难度大和层级间耦合性大的问题。
Description
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种NAND快闪器件。
背景技术
eMMC(Embedded Multi Media Card,嵌入式多媒体卡)是MMC协会订立的,主要针对手机或者平板电脑等产品的内嵌式存储器标准规格,带有MMC多媒体接口、快闪存储器(例如NAND flash)以及eMMC控制器。越来越多的移动设备采用eMMC芯片作为存储单元。
eMMC FW是基于eMMC NAND存储协议的系统固件,能够处理上位机发来的读写命令。根据系统固件的系统结构,可以将系统固件从前端至后端分为前端模块,固件传输模块和后端驱动模块。其中后端驱动模块是整个系统固件中与硬件平台的联系最为紧密,负责处理和发送对NAND控制器和NAND芯片的访问指令以及寄存器级别的各种设置及操作等。后端驱动模块是整个NAND存储设备系统的物理层,是一切数据访问和数据传输的底层,对整个系统固件具有很强的制约性,设计不当将直接成为数据传输的瓶颈所在。
目前,后端驱动模块中封装有对固件传输模块的传输参数进行处理的读写擦指令函数、对NAND芯片的读写擦指令函数、对NAND控制器的设置函数以及寄存器级别的设置函数。后端驱动模块将后端的逻辑层与硬件层杂糅在一起,层级混乱,不利于后续系统固件的维护,且层级间耦合性高,不利于系统运行中bug的收敛,影响系统的性能。
发明内容
有鉴于此,本发明的目的是提出一种NAND快闪器件,以解决降低系统固件的维护难度以及后端逻辑层与硬件层层级间的耦合性。
为实现上述目的,本发明采用如下技术方案:
本发明实施例提供了一种NAND快闪器件,所述NAND快闪器件配置有系统固件,所述系统固件包括前端模块、固件传输模块、快闪虚拟模块和硬件抽象模块;
其中,所述前端模块用于与上位机进行通信;
所述固件传输模块用于根据所述上位机发送的数据信息,对所述NAND快闪器件进行ECC校验管理、坏块管理、地址映射管理或损耗均衡管理;
所述快闪虚拟模块用于封装逻辑相关函数,并根据所述上位机发送的数据信息,对所述NAND快闪器件进行逻辑相关操作;
所述硬件抽象模块用于封装硬件相关函数,并根据所述上位机发送的数据信息,对所述NAND快闪器件进行硬件相关操作。
可选的,所述硬件相关函数包括对NAND芯片的读写擦指令函数、对NAND控制器的设置函数以及寄存器级别的设置函数。
可选的,所述系统固件还包括NAND兼容模块,用于添加和封装多家NAND厂商的NAND指令函数;所述硬件抽象模块通过调用所述NAND指令函数实现对对应NAND快闪器件的访问。
可选的,所述NAND兼容模块包括至少一个普通指令文件和至少一个特殊指令文件,每个所述普通指令文件用于封装一个常用NAND指令函数集,每个所述特殊指令文件用于封装一个特殊NAND指令函数集。
可选的,仅所述特殊指令文件以NAND厂商的型号命名。
本发明的有益效果是:本发明实施例通过将配置于NAND快闪器件中的系统固件由前端到后端划分为前端模块、固件传输模块、快闪虚拟模块和硬件抽象模块,且利用快闪虚拟模块封装逻辑相关函数,并利用硬件抽象模块封装硬件相关函数,实现了系统固件后端逻辑层与硬件层的分离,降低了后续对系统固件的维护难度;同时,由于逻辑层与硬件层的分离,降低了层级间的耦合性,进而提高了系统固件的性能。
附图说明
下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其他特征和优点,附图中:
图1是本发明实施例提供的NAND快闪器件的结构框图;
图2是本发明实施例提供的快闪虚拟模块的结构框图;
图3是本发明实施例提供的硬件抽象模块的结构框图;
图4是本发明实施例提供的另一种NAND快闪器件的结构框图;
图5是本发明实施例提供的NAND兼容模块的结构框图及调用关系示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1是本发明实施例提供的NAND快闪器件的结构框图。如图1所示,该NAND快闪器件1配置有系统固件10,系统固件10包括前端模块11、固件传输模块12、快闪虚拟模块13和硬件抽象模块14;
其中,前端模块11用于与上位机进行通信;
固件传输模块12用于根据上位机发送的数据信息,对NAND快闪器件1进行ECC校验管理、坏块管理、地址映射管理或损耗均衡管理,其中数据信息为读写指令和控制指令等;
快闪虚拟模块13用于封装逻辑相关函数,并根据上位机发送的数据信息,对NAND快闪器件1进行逻辑相关操作;
硬件抽象模块14用于封装硬件相关函数,并根据上位机发送的数据信息,对NAND快闪器件1进行硬件相关操作。
本实施例中,在NAND快闪器件上电后,通过引导程序加载系统固件,前端模块11接收上位机发送的数据信息,将数据信息发送到固件传输模块12,并向上位机返回反馈信息,以通知上位已经接收到数据信息。系统固件10根据上位机发送的数据信息,对NAND内核进行读操作、写操作、擦除操作、ECC校验管理、坏块管理、地址映射管理或损耗均衡管理等,其中NAND内核包括多个存储块,每个存储块由多个存储页组成,每个存储页由多个存储单元构成。
可选的,逻辑相关函数包括对固件传输模块的传输参数进行处理的读写擦指令函数;硬件相关函数包括对NAND芯片的读写擦指令函数、对NAND控制器的设置函数以及寄存器级别的设置函数。具体的,固件传输模块12根据上位机发送的数据信息,对NAND内核进行ECC校验管理、坏块管理、地址映射管理或损耗均衡管理;快闪虚拟模块13根据上位机发送的数据信息,对固件传输模块12的传输参数进行读操作、写操作和擦除操作,其中,传输参数可以为线性地址参数;硬件抽象模块14根据上位机发送的数据信息,对NAND内核进行读操作、写操作和擦除操作,对NAND控制器进行设置以及进行寄存器级别的设置。
相应的,如图2所示,上述快闪虚拟模块13包括FVL擦除子模块131、FVL编程子模块132和FVL读取子模块133等其他功能子模块,各子模块用于封装对应功能的逻辑相关函数。如图3所示,上述硬件抽象模块14包括HAL擦除子模块141、HAL编程子模块142、HAL读取子模块143、DMA设置子模块144、时钟设置子模块145、工作模式设置子模块146和ECC设置子模块147,各子模块用于封装对应功能的硬件相关函数,其中工作模式设置子模块146可实现Debug模式和普通模式的设置。
本实施例通过将配置于NAND快闪器件中的系统固件由前端到后端划分为前端模块、固件传输模块、快闪虚拟模块和硬件抽象模块,且利用快闪虚拟模块封装逻辑相关函数,并利用硬件抽象模块封装硬件相关函数,实现了系统固件后端逻辑层与硬件层的分离,降低了后续对系统固件的维护难度;同时,由于逻辑层与硬件层的分离,降低了层级间的耦合性,进而提高了系统固件的性能。
可选的,基于上述实施例,在本发明另一实施例中,为了支持不同NAND厂商的NAND快闪器件,实现同一系统固件和不同NAND厂商的NAND快闪器件的兼容性,如图4所示,本发明实施例提供的系统固件10还可包括NAND兼容模块15,该NAND兼容模块15用于添加和封装多家NAND厂商的NAND指令函数;硬件抽象模块14通过调用NAND指令函数实现对对应NAND快闪器件1的访问。
本实施例通过对系统固件10设置NAND兼容模块15,一方面,利用NAND兼容模块15封装多家NAND厂商的NAND指令函数,在确定当前NAND厂商所支持的NAND指令后,可通过硬件抽象模块14调用对应的NAND指令函数实现对当前NAND厂商的NAND快闪器件1的访问,从而提高了系统固件10的兼容性;另一方面,在确定NAND兼容模块15未封装有当前NAND厂商所支持的NAND指令对应的NAND指令函数时,NAND兼容模块15可添加该NAND指令函数,以使硬件抽象模块14通过调用该NAND指令函数实现对当前NAND厂商的NAND快闪器件1的访问,从而提高了系统固件10的可扩展性。
可选的,如图5所示,NAND兼容模块15包括至少一个普通指令文件151和至少一个特殊指令文件152,每个普通指令文件151用于封装一个常用NAND指令函数集,每个特殊指令文件152用于封装一个特殊NAND指令函数集。其中,常用NAND指令函数集为大多数NAND厂商都支持的NAND指令所对应的NAND指令函数集,特殊NAND指令函数集为较少NAND厂商使用到的NAND指令所对应的NAND指令函数集。常用NAND指令函数集和特殊NAND指令函数集均包括NAND擦除指令函数、NAND编程指令函数和NAND读取指令函数,硬件抽象模块14中的HAL擦除子模块141、HAL编程子模块142和HAL读取子模块143分别调用NAND擦除指令函数、NAND编程指令函数和NAND读取指令函数。NAND兼容模块15可通过创建普通指令文件151或特殊指令文件152实现NAND指令函数的添加。
可选的,仅特殊指令文件以NAND厂商的型号命名。由此,可通过查询特殊指令文件的名称即可确定NAND厂商所支持的NAND指令,便于硬件抽象模块14的调用。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整、相互结合和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (6)
1.一种NAND快闪器件,其特征在于,所述NAND快闪器件配置有系统固件,所述系统固件包括前端模块、固件传输模块、快闪虚拟模块和硬件抽象模块;
其中,所述前端模块用于与上位机进行通信;
所述固件传输模块用于根据所述上位机发送的数据信息,对所述NAND快闪器件进行ECC校验管理、坏块管理、地址映射管理或损耗均衡管理;
所述快闪虚拟模块用于封装逻辑相关函数,并根据所述上位机发送的数据信息,对所述NAND快闪器件进行逻辑相关操作;
所述硬件抽象模块用于封装硬件相关函数,并根据所述上位机发送的数据信息,对所述NAND快闪器件进行硬件相关操作。
2.根据权利要求1所述的NAND快闪器件,其特征在于,所述逻辑相关函数包括对所述固件传输模块的传输参数进行处理的读写擦指令函数。
3.根据权利要求1所述的NAND快闪器件,其特征在于,所述硬件相关函数包括对NAND芯片的读写擦指令函数、对NAND控制器的设置函数以及寄存器级别的设置函数。
4.根据权利要求1所述的NAND快闪器件,其特征在于,所述系统固件还包括NAND兼容模块,用于添加和封装多家NAND厂商的NAND指令函数;所述硬件抽象模块通过调用所述NAND指令函数实现对对应NAND快闪器件的访问。
5.根据权利要求4所述的NAND快闪器件,其特征在于,所述NAND兼容模块包括至少一个普通指令文件和至少一个特殊指令文件,每个所述普通指令文件用于封装一个常用NAND指令函数集,每个所述特殊指令文件用于封装一个特殊NAND指令函数集。
6.根据权利要求1所述的NAND快闪器件,其特征在于,仅所述特殊指令文件以NAND厂商的型号命名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910836874.3A CN110543283A (zh) | 2019-09-05 | 2019-09-05 | 一种nand快闪器件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910836874.3A CN110543283A (zh) | 2019-09-05 | 2019-09-05 | 一种nand快闪器件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110543283A true CN110543283A (zh) | 2019-12-06 |
Family
ID=68712681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910836874.3A Pending CN110543283A (zh) | 2019-09-05 | 2019-09-05 | 一种nand快闪器件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543283A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080266962A1 (en) * | 2007-04-27 | 2008-10-30 | Samsung Electronics Co., Ltd. | Flash memory device and flash memory system |
CN102176325A (zh) * | 2011-02-28 | 2011-09-07 | 浪潮电子信息产业股份有限公司 | 一种用于固态硬盘的闪存控制器 |
CN108345429A (zh) * | 2017-12-27 | 2018-07-31 | 北京兆易创新科技股份有限公司 | 一种Nand flash元件 |
-
2019
- 2019-09-05 CN CN201910836874.3A patent/CN110543283A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080266962A1 (en) * | 2007-04-27 | 2008-10-30 | Samsung Electronics Co., Ltd. | Flash memory device and flash memory system |
CN102176325A (zh) * | 2011-02-28 | 2011-09-07 | 浪潮电子信息产业股份有限公司 | 一种用于固态硬盘的闪存控制器 |
CN108345429A (zh) * | 2017-12-27 | 2018-07-31 | 北京兆易创新科技股份有限公司 | 一种Nand flash元件 |
Non-Patent Citations (1)
Title |
---|
张鹏: "《NAND Flash坏块管理算法研究与实现》", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8131912B2 (en) | Memory system | |
US8806151B2 (en) | Multipage preparation commands for non-volatile memory systems | |
US8612791B2 (en) | Method of selective power cycling of components in a memory device independently by turning off power to a memory array or memory controller | |
US20170132069A1 (en) | Method and system for data rebuilding and memory control circuit unit thereof | |
TWI684860B (zh) | 用來進行讀取加速之方法以及資料儲存裝置及其控制器 | |
US20140047159A1 (en) | Enterprise server with flash storage modules | |
CN106708416B (zh) | 数据重建方法与系统及其存储器控制电路单元 | |
CN110806837B (zh) | 数据处理系统及其操作方法 | |
US11861359B2 (en) | Storage device and method of operating the same | |
CN102782660A (zh) | 芯片使能的虚拟化 | |
US20160071604A1 (en) | Semiconductor memory device | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN107357520B (zh) | 整理指令处理方法、存储器控制电路单元及其存储装置 | |
US11294780B2 (en) | Memory controller and operating method thereof | |
US20140011300A1 (en) | Control method of multi-chip package memory device | |
WO2015154541A1 (zh) | Usb固态盘固件存储装置 | |
CN103544118A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
TWI650639B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
US10394305B2 (en) | Memory system and method of operating the same | |
CN110543283A (zh) | 一种nand快闪器件 | |
US10067677B2 (en) | Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device | |
CN114237514A (zh) | 区块管理方法、存储器控制器和存储器存储装置 | |
CN112463018B (zh) | 指令传送方法、存储器控制电路单元及存储器存储装置 | |
KR102649657B1 (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
US10102121B1 (en) | Memory management method, memory control circuit unit and memory storage device |
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 | ||
CB02 | Change of applicant information |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Applicant after: Zhaoyi Innovation Technology Group Co.,Ltd. Applicant after: SHANGHAI GEYI ELECTRONIC Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Applicant before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. Applicant before: SHANGHAI GEYI ELECTRONIC Co.,Ltd. |
|
CB02 | Change of applicant information |