CN101436137A - 支持多种闪存芯片的驱动方法 - Google Patents

支持多种闪存芯片的驱动方法 Download PDF

Info

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
Application number
CNA2007101704897A
Other languages
English (en)
Inventor
孟祥宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Simcom Ltd
Original Assignee
Shanghai Simcom Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Simcom Ltd filed Critical Shanghai Simcom Ltd
Priority to CNA2007101704897A priority Critical patent/CN101436137A/zh
Publication of CN101436137A publication Critical patent/CN101436137A/zh
Pending legal-status Critical Current

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指令集读取闪存的厂商信息。
CNA2007101704897A 2007-11-16 2007-11-16 支持多种闪存芯片的驱动方法 Pending CN101436137A (zh)

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)

* Cited by examiner, † Cited by third party
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功能的方法及其数据存储装置

Cited By (6)

* Cited by examiner, † Cited by third party
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