CN101436137A - 支持多种闪存芯片的驱动方法 - Google Patents
支持多种闪存芯片的驱动方法 Download PDFInfo
- Publication number
- CN101436137A CN101436137A CNA2007101704897A CN200710170489A CN101436137A CN 101436137 A CN101436137 A CN 101436137A CN A2007101704897 A CNA2007101704897 A CN A2007101704897A CN 200710170489 A CN200710170489 A CN 200710170489A CN 101436137 A CN101436137 A CN 101436137A
- Authority
- CN
- China
- Prior art keywords
- information
- flash memory
- manufacturer
- flash
- chip
- 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
- Read Only Memory (AREA)
Abstract
一种支持多种闪存芯片的驱动方法,包括如下步骤:步骤S1、建立AMD以及intel指令集驱动程序表;步骤S2、当设备上电时,从闪存(flash)芯片中读取厂商信息;步骤S3、根据上述信息获取厂商信息,调用相应的闪存驱动程序。本发明的优点是易于实现对闪存的整合。
Description
技术领域
本发明涉及一种闪存(flash)驱动方法,适用于需要用闪存作为程序空间的设备。
背景技术
由于现在闪存种类繁多,各个厂家对闪存类型及读写操作也有所不同,所以给软件管理带来诸多的不便。例如,当前硬件所使用的由闪存厂商所生产产品是Spansion品牌,由于闪存产品供应不足问题需要更换闪存厂商产品,所以就必须重新写一套闪存驱动程序来适应新的硬件,这不仅给软件管理、测试工作带来不便,而且也会对生产带来诸多的不便。又如,如果为了备料的方便,往往在立项前就选定多个厂家的闪存产品,以防闪存产品供应不上的问题。但是,这会有对程序的管理带来诸多的不便,因为对应不同的闪存芯片,虽然在功能上是一致的,但是还是需要有相应的闪存驱动版本的程序。
发明内容
本发明的目的就是为了解决以上问题,提供一种闪存驱动的整合方案,以实现对不同厂商生产闪存芯片的兼容,减少软件维护的工作量。
为实现上述目的,本发明提出一种闪存驱动的整合方法,包括如下步骤:
S1建立AMD以及intel指令集驱动程序的表;
S2当设备上电时,从闪存芯片中读取厂商信息;
S3根据厂商的信息,调用相应的闪存驱动程序。
所述步骤S1主要是为了在之后能够容易实现闪存驱动程序的调用。
所述步骤S2中读取厂商信息(生产厂商ID,器件ID),由于闪存读写指令集分为两大类(AMD和intel),所以在读取厂商信息时需要用两种指令集来读取,具体步骤包括:
S21用AMD指令集读取闪存的厂商信息;
S22用intel指令集读取闪存的厂商信息;
所述步骤S3中根据厂商的信息,调用相应的闪存驱动程序,步骤包括:
S31、建立各种闪存厂商信息表;
S32、用读到的厂商信息与已建立的闪存厂商的信息进行比较,判别出可能的生产厂商及闪存型号。
S33、最后根据上述这些信息,选取相应的闪存驱动程序。
其中在步骤S31中所建立的闪存厂商信息表,是事先写好的存放在闪存芯片中的表,该表中的内容有:闪存生产厂商ID,闪存器件ID,闪存的区段(sector)表,闪存存储空间大小以及所用的驱动类型。
本发明的优点是:由于采用本发明的方案,程序可以自动识别闪存的类型,从而使闪存驱动整合得以实现。
附图说明
图1为读取闪存厂商信息流程示意图。
图2为根据厂商的信息调用相应的闪存驱动流程示意图。
具体实施方式
下面通过具体的实施例并结合附图对本发明作进一步详细的描述。
例如,如果闪存芯片是KS01608 Bottom Boot,那么在程序中就必须先建立该闪存的各种信息。如,该芯片的信息:厂商ID(memocom):0x89,器件ID:0x88C3,适用的驱动指令集:intel指令集,闪存的map表为16M Bottom类型。
见图1,在步骤1001模块上电后,步骤1002用AMD指令集读取闪存厂商信息,可以读到的厂商ID为0x89,器件ID为0x88C3。步骤1003用intel指令集读取闪存厂商信息,可以读到ID为0x89,器件ID为0x88C3。这里可以看到用两种指令集读取的厂商信息是一致的,这只是一个特例。一般情况下,读取的值是不一致的,如果是intel指令集的闪存,那么用intel指令集读取的值是正确的,AMD指令集读取的值一般是不正确的,反过来也是一样的。
见图2,步骤2001用查表的方法查找厂商ID表,步骤2002看是否存在KS01608的厂商ID,由于在之前已经建立了该芯片的信息,所以可以查询到该芯片厂商是memocom,由于该芯片的指令集为intel,所以将保留用intel指令集读取的器件ID,丢弃AMD指令集读取的器件ID,接着步骤2003可以查询到KS01608的器件ID。最后,步骤2004根据上述的信息,就可以得到该芯片的map表以及驱动是intel指令集,之后,步骤2005在程序将使用intel指令集来对闪存进行操作。
当然,本发明的应用并不限于上述例子中提及的厂家的闪存芯片,本发明对于其它厂家的闪存芯片也同样可应用,处理方法与上述的方法一致。
Claims (6)
1、一种支持多种闪存芯片的驱动方法,其特征在于,包括如下步骤:
步骤S1、建立AMD以及intel指令集驱动程序表;
步骤S2、当设备上电时,从闪存芯片中读取厂商信息;
步骤S3、根据从芯片中读取的厂商信息,调用相应的闪存驱动程序。
2、根据权利要求1所述的支持多种闪存芯片的驱动方法,其特征在于,所述的建立AMD和intel指令集驱动程序表是用于实现对闪存驱动程序的调用。
3、根据权利要求1或2所述的支持多种闪存芯片的驱动方法,其特征在于,所述的步骤S3根据从芯片中读取的厂商信息调用相应的闪存驱动程序,包括如下步骤:
步骤S31、建立各种闪存厂商信息表;
步骤S32、用读到的厂商信息与已建立的闪存厂商的信息进行比较,判别出可能的生产厂商及闪存型号;
步骤S33、最后,根据上述信息,选取相应的闪存驱动程序。
4、根据权利要求3所述的支持多种闪存芯片的驱动方法,其特征在于,所述步骤S31中所建立的闪存厂商信息表系事先写好的存放在闪存芯片中的信息,该信息表的内容有:闪存生产厂商ID,闪存器件ID,闪存区段表,闪存存储空间大小,以及所用的驱动类型。
5、根据权利要求1所述的支持多种闪存芯片的驱动方法,其特征在于,所述的步骤S2当设备上电时,读取厂商信息,包括生产厂商ID和器件ID。
6、根据权利要求1或5所述的支持多种闪存芯片的驱动方法,其特征在于,所述读取厂商信息包括如下步骤:
步骤S21、用AMD指令集读取闪存的厂商信息;
步骤S22、用intel指令集读取闪存的厂商信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101704897A CN101436137A (zh) | 2007-11-16 | 2007-11-16 | 支持多种闪存芯片的驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101704897A CN101436137A (zh) | 2007-11-16 | 2007-11-16 | 支持多种闪存芯片的驱动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101436137A true CN101436137A (zh) | 2009-05-20 |
Family
ID=40710586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101704897A Pending CN101436137A (zh) | 2007-11-16 | 2007-11-16 | 支持多种闪存芯片的驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101436137A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077040A (zh) * | 2011-10-26 | 2013-05-01 | 康佳集团股份有限公司 | Lcd模块自动识别方法及系统 |
CN103823704A (zh) * | 2012-11-19 | 2014-05-28 | 群联电子股份有限公司 | 闪存的模拟方法与模拟器 |
CN104978153A (zh) * | 2015-07-10 | 2015-10-14 | 北京兆易创新科技股份有限公司 | 资料存储型闪存中配置信息的方法与装置 |
CN105955667A (zh) * | 2016-05-03 | 2016-09-21 | 深圳芯邦科技股份有限公司 | 一种底层驱动及NandFlash识别方法 |
CN107678686A (zh) * | 2017-09-19 | 2018-02-09 | 山东存储之翼电子科技有限公司 | 基于硬件实现闪存的ftl功能的方法及其数据存储装置 |
-
2007
- 2007-11-16 CN CNA2007101704897A patent/CN101436137A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077040A (zh) * | 2011-10-26 | 2013-05-01 | 康佳集团股份有限公司 | Lcd模块自动识别方法及系统 |
CN103823704A (zh) * | 2012-11-19 | 2014-05-28 | 群联电子股份有限公司 | 闪存的模拟方法与模拟器 |
CN104978153A (zh) * | 2015-07-10 | 2015-10-14 | 北京兆易创新科技股份有限公司 | 资料存储型闪存中配置信息的方法与装置 |
CN105955667A (zh) * | 2016-05-03 | 2016-09-21 | 深圳芯邦科技股份有限公司 | 一种底层驱动及NandFlash识别方法 |
CN105955667B (zh) * | 2016-05-03 | 2019-04-26 | 深圳芯邦科技股份有限公司 | 一种底层驱动及NandFlash识别方法 |
CN107678686A (zh) * | 2017-09-19 | 2018-02-09 | 山东存储之翼电子科技有限公司 | 基于硬件实现闪存的ftl功能的方法及其数据存储装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101436137A (zh) | 支持多种闪存芯片的驱动方法 | |
CN1122281C (zh) | 一种多功能半导体存储装置 | |
EP1857678B1 (en) | Air compressor and process management data collecting system | |
CN101674267B (zh) | 一种家庭网关及其实现usb设备驱动的方法 | |
CN103605540B (zh) | 基于安卓系统的快速写入flash镜像的方法 | |
CN1862512A (zh) | 单板信息的读写系统与方法 | |
CN101183310A (zh) | 一种建立设备驱动的方法、设备驱动装置及单板 | |
CN103019797A (zh) | 一种通过usb接口升级广告机终端固件的方法 | |
CN100576310C (zh) | 一种自动配置lcd驱动程序的方法及装置 | |
CN102075710B (zh) | 一种电视机的启动运行方法及电视机 | |
CN104699516B (zh) | Windows下自动识别安卓手机并安装驱动的方法和装置 | |
CN1980446A (zh) | 一种嵌入式分布系统的版本信息处理方法 | |
CN100501683C (zh) | 对产品中所使用的闪存型号的自动识别方法 | |
CN101088099B (zh) | 卡设备 | |
CN102053842B (zh) | 一种提高boot兼容性的方法及其装置 | |
CN102855093A (zh) | 实现存储系统自动精简配置动态扩容的系统及方法 | |
CN102446101A (zh) | 固件强制升级的系统及其固件的强制升级方法 | |
CN103345454B (zh) | 一种移动终端的外设连接方法 | |
CN100578477C (zh) | 一种实现复合设备正常工作的方法及系统 | |
CN201869296U (zh) | 一种电视机 | |
CN104182352A (zh) | 用于访问4gb以上物理内存地址空间的方法及装置 | |
EP2141590A1 (en) | Method of managing data in a portable electronic device having a plurality of controllers | |
CN105573940B (zh) | 一种sdio接口外设的自动探测方法及装置 | |
CN101151356A (zh) | 带兼容配置功能控制芯片的存储装置及制造方法 | |
CN203117719U (zh) | 基于活动存储设备的逻辑控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090520 |