CN101105752A - 嵌入式系统利用nand闪存记忆体储存及启动的处理方法 - Google Patents
嵌入式系统利用nand闪存记忆体储存及启动的处理方法 Download PDFInfo
- Publication number
- CN101105752A CN101105752A CNA2006100633211A CN200610063321A CN101105752A CN 101105752 A CN101105752 A CN 101105752A CN A2006100633211 A CNA2006100633211 A CN A2006100633211A CN 200610063321 A CN200610063321 A CN 200610063321A CN 101105752 A CN101105752 A CN 101105752A
- Authority
- CN
- China
- Prior art keywords
- nand flash
- flash memory
- memory
- nand
- sram
- 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)
- Read Only Memory (AREA)
Abstract
本发明公开了一种利用NAND闪存记忆体存储及启动程序的方法。所述的方法如下:系统由微处理器(Micro Controller)、静态随机存取内存(SRAM)、动态随机存取内存(DRAM)、NAND闪存(NAND Flash)以及NAND闪存控制IC(NAND Flash Controller IC)等组件组成,系统通过两个阶段的复位信号(Reset)的传递,使NAND闪存记忆体能同时提供NOR与NAND的功能,在引导嵌入式系统开机启动的同时,还可以提供内置的闪存存储盘的功能。通过应用本发明,可以大大增加嵌入式系统(Embedded System)的完整性,并节省了系统成本,有广泛的应用前景。
Description
技术领域 本发明属于闪存记忆体存储领域,特别适用于利用闪存记忆体作为代码存储空间并利用该闪存记忆体引导系统启动的嵌入式操作系统(EmbeddedSystem)领域。
背景技术 目前闪存记忆体在应用上可分为或非门闪存记忆体(NOR Flash)及与非门闪存记忆体(NAND Flash)。其中或非门(NOR)闪存记忆体一般又被称为Code Flash,由于NOR Flash是属于线性寻址(Linear addressing)的非挥发性记忆体,微处理器可以直接执行闪存记忆体中的程序,不需要先将程序读到系统记忆体中,使用相当容易,所以目前市面上大部分的嵌入式操作系统都以NOR Flash作为引导系统开机的媒介。但是,相比之下NOR闪存记忆体比NAND闪存记忆体的存储密度要低,而且价格昂贵,所以无法很经济的利用NOR来存储大量的使用者的资料。NAND闪存记忆体一般被称为Data Flash,其特点是能提供较高的单位密度,并达到高存储密度与经济实惠的目的,且NAND的读写速度也相当的快速。由于NAND闪存记忆体的单元大小要远小于NOR Flash,且生产的过程更为简单,因此成本相对也比较低。另外就容量而言,目前市面上NAND Flash的容量都已经达到1~4G字节的高容量,未来更会不断的向上提升。目前所有的便携式产品中,以NAND闪存记忆体的占有率最大,由此可以看出其具有相当的竞争力。但是NAND闪存记忆体类似于机械硬盘,属于区块寻址(Block Addressing),需要先将NAND闪存记忆体上的程序读到随机存取记忆体上,才可以由微处理器执行。此部分的处理不是很容易,所以目前市面上嵌入式系统的存储媒介(特别是程序的存储媒介)还是以NOR闪存记忆体为主流,考虑到市场上的新需求,我们希望以NAND闪存记忆体取代嵌入式系统中的NOR闪存记忆体。
发明内容 本发明的目的是要NAND闪存记忆体可同时提供NOR与NAND之功能,并运用内建驱动程序来实现模拟硬盘驱动器的功能。此系统由微处理器(Micro Controller)、静态随机存取记忆体(SRAM)、动态随机存取记忆体(DRAM)、NAND闪存记忆体(NAND Flash)以及NAND闪存记忆体控制IC(NAND Flash Controller IC)等组件组成。
此发明是利用NAND闪存记忆体取代NOR闪存记忆体,其架构如图1所示,可以利用NAND闪存记忆体,同时具体引导开机以及资料存储的功能。系统利用两个阶段的复位启动完成一个简单的开机启动动作。第一阶段的复位信号(170)由外部(使用者)产生,当NAND闪存记忆体控制器完成载入一些开机所需要的程序到SRAM(150),便会产生第二阶段的复位信号(180),通知CPU执行SRAM中的程序。
由于NOR闪存记忆体有单价高、容量密度低等缺点,因此在单位成本以及数据储存容量的考虑下,本发明采用NAND闪存记忆体取代NOR闪存记忆体,并提供模拟硬盘的功能,为增加模拟硬盘的寿命,加入电气磨平(Wear leveling)机制与自动修正错误码(Error Correction Code)等功能。所以此发明具有低成本、高可靠度与高读写效率等优点,可有效提升系统的效率以及可靠度,并且降低系统成本。
本发明可以应用在任何需要具有数据存储功能的系统上,降低系统的成本,提供更高的存储容量。并且可以使用各种不同的NAND闪存记忆体,当某一厂家的NAND闪存记忆体缺货或是有瑕疵时,可以迅速的用另外一家的NAND闪存记忆体来取代,而且生产管理与品质几乎不会有任何改变。此架构也可以搭配各家不同的微处理器,只要将SRAM的地址0对应到微处理器的开机地址即可,可以选择任何的微处理器。
NAND闪存记忆体控制器(110)、DMA控制器(130)以及SRAM(150)可以整合成一颗IC,降低成本,而且也不会影响系统的扩充性,如图2所示。
附图说明
图1:闪存记忆体基本装置图。
图2:单一IC示意图。
图3:控制器启动流程图。
图4:NAND闪存记忆体内部数据配置。
图5:读取开机程序代码的流程。
【主要组件符号说明】
100:微控制器:系统的处理单元,执行系统的指令以及周边装置的存取。
110:NAND闪存记忆体控制器:对闪存记忆体下存取的命令以及启动DMA搬运闪存记忆体的数据到SRAM(150)或是DRAM(140)中。
120:NAND闪存记忆体:储存数据以及启动程序代码。
130:DMA Controller:直接内存访问控制器,控制内存以及NAND闪存记忆体中搬移数据。
140:DRAM:动态随机存取内存,因为静态随机存取内存的容量通常不大,所以需要动态随机存取内存,将大量的系统的信息以及要写入闪存记忆体的数据储存在此。
150:RAM:静态随机存取内存,当闪存记忆体收到外部的Reset信号时,NAND闪存记忆体上(120)上系统启动的程序代码会被搬移到此。当微处理器收到重新启动的复位信号时,会执行此SRAM中的程序代码。
170:外部复位信号:当系统重新启动时,会触发此信号,通知NAND FlashController,将NAND Flash上程序代码搬移到SRAM。
180:内部复位信号:当NAND Flash Controller将NAND Flash上的启动程序代码搬移到SRAM上时,便会触发此信号通知Micro Controller,然后Micro Controller执行SRAM上的启动程序代码完成启动的程序。
200:系统地址总线:微处理器内部地址总线。
210:系统数据总线:微处理器内部数据总线。如果是8位的微处理器,则此数据总线将会有8条。
220:闪存记忆体控制总线:控制闪存记忆体的讯号,如CLE(Command LatchEnable)、ALE(Address Latch Enable)以及R/B(Ready/Busy)等等。
230:闪存记忆体数据总线:DMA控制器透过此数据总线读取或是写入数据到NAND闪存记忆体。
具体实施方式 为达成上面的目的和功效,本发明的方法以及流程利用绘图并加以详述如下。
如图1所示,此发明利用微处理器(Micro Controller)、静态随机存取记忆体(SRAM)、动态随机存取记忆体(DRAM)、NAND闪存记忆体控制器(NANDFlash Controller)与NAND闪存记忆体(NAND Flash)等零组件建构起整个装置。
步骤如图3所示,当外部产生复位信号时,信号会被传送到闪存记忆体控制器上的复位脚位(170),闪存记忆体控制器收到该复位信号后,内部的控制逻辑会读取第一个区块(Block)的信息,从中读出此NAND闪存记忆体的坏块信息,以及开机程序的区块大小。得到这些信息之后,闪存记忆体控制器便会将NAND Flash上的开机程序加载到SRAM(150)中,然后NAND Flash Controller便会发出一个Reset信号给微处理器(Micro Controller)(100),微处理器(Micro Controller)便会执行SRAM中的程序代码,完成开机的基本流程。
读取数据的过程如图5所示,首先得到此NAND Flash所有坏块的信息以及开机程序的起始的区块和长度,然后由起始区块逐一往下读取。当读取的区块是坏区块时,便跳过此区块,反之,若是好区块,便会读取此区块的开机程序代码到SRAM中。重复以上的读取动作,直到已读取区块的长度等于程序区块的长度为止。
在一般数据存储的部分,由于NAND Flash的存储方式是以区块(Block)为主要的存储单元,因此当长期读写同一位置区块时,则会不可避免的遇到区块因长时间的读写造成的损坏、数据错乱的问题或是无法保证写入数据的正确性等缺点,故本发明在此装置中,在对NAND闪存记忆体进行读写的过程中加入了自动错误修正码(Error Correction Code:ECC)和电气磨平(Wear leveling)理论等技术。透过Wear leveling技术可以使得数据平均分布在NAND Flash的每个区块,并不会局限在某些区块内,从而造成区域性的损坏的现象。所以加入上述的两项技术的目的主要是为了要延长使用寿命、提升NAND闪存记忆体的可靠度。
Claims (7)
1.一种利用NAND闪存记忆体取代NOR闪存记忆体,引导启动嵌入式操作系统并利用NAND闪存记忆体模拟硬盘实现数据存储功能的方法。
2.如权利要求1所述的嵌入式操作系统,其特征在于:系统包含但不限于微处理器(Micro Controller)、静态随机存取记忆体(SRAM)、动态随机存取记忆体(DRAM)、NAND闪存记忆体(NAND Flash)以及NAND闪存记忆体控制IC(NAND Flash Controller IC)等组件。同时以上组件可为独立的元器件,也可以部分或全部的被集成为一个元器件(SOC)。
3.如权利要求1所述的嵌入式操作系统,其特征在于:如果整合成SOC,透过NAND引导启动,无须内置的Internal ROM。
4.如权利要求1所述的利用NAND引导启动操作系统并模拟硬盘实现数据存储功能,其特征在于:在对NAND闪存记忆体进行读写的过程中加入了自动错误修正码(Error Correction Code:ECC)和电气磨平(Wear leveling)理论等技术,从而延长NAND闪存记忆体的使用寿命,增加系统的稳定性。
5.如权利要求1所述的引导启动嵌入式操作系统的过程,其特征在于:系统利用两个阶段的复位启动完成一个简单的开机启动动作。第一阶段的复位信号由外部(使用者)产生,当NAND闪存记忆体控制器完成载入一些开机所需要的程序到SRAM中,便会产生第二阶段的复位信号,通知CPU执行SRAM中的程序。
6.如权利要求1所述的NAND闪存记忆体,其特征在于:系统组装好后,将有专门的外部工具程序,对该NAND闪存记忆体进行规划开机程序和模拟硬盘的大小,并将相关程序代码写入NAND闪存记忆体中。
7.如权利要求1至6所述的利用NAND闪存记忆体储存及启动嵌入式操作系统的技术适用于任何的闪存记忆体存储装置,例如:U盘(包含但不限于USBPendriver 1.1/2.0)、PMP Player、存储卡和MP3 Player等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100633211A CN101105752A (zh) | 2006-10-26 | 2006-10-26 | 嵌入式系统利用nand闪存记忆体储存及启动的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100633211A CN101105752A (zh) | 2006-10-26 | 2006-10-26 | 嵌入式系统利用nand闪存记忆体储存及启动的处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101105752A true CN101105752A (zh) | 2008-01-16 |
Family
ID=38999660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100633211A Pending CN101105752A (zh) | 2006-10-26 | 2006-10-26 | 嵌入式系统利用nand闪存记忆体储存及启动的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101105752A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009086692A1 (zh) * | 2008-01-07 | 2009-07-16 | Fortune Spring Technology (Shenzhen) Corporation | 嵌入式系统利用nand闪存记忆体储存及启动的处理方法 |
CN101923515A (zh) * | 2010-09-07 | 2010-12-22 | 上海市共进通信技术有限公司 | 在嵌入式系统应用设备的闪存中运行Web页面的方法 |
CN102163158A (zh) * | 2011-04-29 | 2011-08-24 | 北京凡达讯科技有限公司 | 一种系统级芯片利用nand闪存启动的方法 |
CN101436140B (zh) * | 2008-12-19 | 2011-11-23 | 威盛电子股份有限公司 | 计算机系统及其开机方法 |
CN102248919A (zh) * | 2010-04-15 | 2011-11-23 | 株式会社电装 | 车辆用导航装置 |
US8683245B2 (en) | 2010-08-04 | 2014-03-25 | Asustek Computer Inc. | Computer system with power saving function |
CN105988832A (zh) * | 2015-02-09 | 2016-10-05 | 深圳市硅格半导体有限公司 | 存储卡数据处理方法及系统 |
CN108021405A (zh) * | 2016-10-28 | 2018-05-11 | 福州瑞芯微电子股份有限公司 | 一种soc系统启动过程中存储介质的驱动方法和装置 |
CN111240888A (zh) * | 2020-03-01 | 2020-06-05 | 江苏华存电子科技有限公司 | 一种实时侦测闪存存取状态与错误的方法 |
-
2006
- 2006-10-26 CN CNA2006100633211A patent/CN101105752A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009086692A1 (zh) * | 2008-01-07 | 2009-07-16 | Fortune Spring Technology (Shenzhen) Corporation | 嵌入式系统利用nand闪存记忆体储存及启动的处理方法 |
CN101436140B (zh) * | 2008-12-19 | 2011-11-23 | 威盛电子股份有限公司 | 计算机系统及其开机方法 |
CN102248919A (zh) * | 2010-04-15 | 2011-11-23 | 株式会社电装 | 车辆用导航装置 |
US8683245B2 (en) | 2010-08-04 | 2014-03-25 | Asustek Computer Inc. | Computer system with power saving function |
CN101923515A (zh) * | 2010-09-07 | 2010-12-22 | 上海市共进通信技术有限公司 | 在嵌入式系统应用设备的闪存中运行Web页面的方法 |
CN101923515B (zh) * | 2010-09-07 | 2012-07-04 | 上海市共进通信技术有限公司 | 在嵌入式系统应用设备的闪存中运行Web页面的方法 |
CN102163158A (zh) * | 2011-04-29 | 2011-08-24 | 北京凡达讯科技有限公司 | 一种系统级芯片利用nand闪存启动的方法 |
CN105988832A (zh) * | 2015-02-09 | 2016-10-05 | 深圳市硅格半导体有限公司 | 存储卡数据处理方法及系统 |
CN105988832B (zh) * | 2015-02-09 | 2019-05-24 | 深圳市硅格半导体有限公司 | 存储卡数据处理方法及系统 |
CN108021405A (zh) * | 2016-10-28 | 2018-05-11 | 福州瑞芯微电子股份有限公司 | 一种soc系统启动过程中存储介质的驱动方法和装置 |
CN108021405B (zh) * | 2016-10-28 | 2020-11-06 | 瑞芯微电子股份有限公司 | 一种soc系统启动过程中存储介质的驱动方法和装置 |
CN111240888A (zh) * | 2020-03-01 | 2020-06-05 | 江苏华存电子科技有限公司 | 一种实时侦测闪存存取状态与错误的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101105752A (zh) | 嵌入式系统利用nand闪存记忆体储存及启动的处理方法 | |
CN101640069B (zh) | 用于闪速存储器的平均磨损方法与平均磨损系统 | |
US8214578B2 (en) | Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same | |
CN101464834B (zh) | 闪存数据写入方法及使用此方法的控制器 | |
CN101571832B (zh) | 数据写入方法及使用该方法的快闪存储系统与其控制器 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
CN104679437A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
CN101763295A (zh) | 一种数据备份、备份项擦除及数据恢复方法和装置 | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
CN101414282B (zh) | 平均磨损方法及使用此方法的控制器 | |
CN102214143A (zh) | 一种多层单元闪存的管理方法、装置及存储设备 | |
CN101661431B (zh) | 用于快闪存储器的区块管理方法、快闪储存系统及控制器 | |
CN101408864B (zh) | 用于断电时的数据保护方法及使用此方法的控制器 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN102592670A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103377155A (zh) | 存储器储存装置及其存储器控制器与电源控制方法 | |
CN102402396B (zh) | 复合式储存装置及其复合式储存媒体控制器与编址方法 | |
CN102800357A (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
CN102999437A (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
CN102591738B (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 | |
CN102110056B (zh) | 闪存管理方法、闪存控制器与闪存存储系统 | |
CN101661432B (zh) | 闪存区块管理方法、闪存储存系统及控制器 | |
CN104166558A (zh) | 固件码载入方法、存储器控制器与存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C57 | Notification of unclear or unknown address | ||
DD01 | Delivery of document by public notice |
Addressee: Fuzhao Technology (Shenzhen) Co., Ltd. Document name: Correction notice |
|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |