CN103777907A - 自动获取eeprom存储容量的方法 - Google Patents
自动获取eeprom存储容量的方法 Download PDFInfo
- Publication number
- CN103777907A CN103777907A CN201410064243.1A CN201410064243A CN103777907A CN 103777907 A CN103777907 A CN 103777907A CN 201410064243 A CN201410064243 A CN 201410064243A CN 103777907 A CN103777907 A CN 103777907A
- Authority
- CN
- China
- Prior art keywords
- eeprom
- difference
- data
- address
- read
- 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
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及EEPROM。本发明针对现有技术中不能实现自动获取EEPROM存储容量的功能的问题,提供一种自动获取EEPROM存储容量的方法,自动获取EEPROM存储容量的方法,首先,系统检测EEPROM是否连接,是则进入下一步骤,否则结束运行;其次,系统根据EEPROM存储空间大小的不同范围,确定能代表差异的地址,并写入数据,计为A;然后,系统将写入数据的第一个字节地址数据改写为另一个确定数据,计为B;最后,系统对EEPROM进行差异地址读写出错判断及差异地址数据覆盖判断,判断结束则计算EEPROM存储空间实际大小,结束运行。通过对不同型号EEPROM差异存储空间内任意有效地址的定向测试,自动判断并获取不同EEPROM存储器的存储空间大小。适用于自动获取EEPROM存储容量的方法。
Description
技术领域
本发明涉及EEPROM,特别涉及自动获取EEPROM存储容量的方法。
背景技术
EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)是用户可更改的只读存储器(ROM),其可通过高于普通EEPROM电压的作用来擦除和重新编程,即重写。不像EPROM芯片,EEPROM从不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候可频繁地反复编程。
目前单片机操作EEPROM的读/写,特别是整片存储器读/写操作以及整片数据校验时,需要预先知道其容量大小,编程时人为设置单片机所操作的EEPROM存储器的存储容量,以防止操作地址溢出导致读写失败,或者写入后重叠覆盖其他数据的后果。如果通过硬件电路来区分不同型号容量的EEPROM存储器,必然会对主控制器硬件资源造成一定浪费。同时区分各种型号的EEPROM存储器,硬件电路设计复杂,仍然避免不了人为选择硬件电路来告知主控制器,不能实现自动获取EEPROM存储容量的功能。
发明内容
本发明所要解决的技术问题,就是提供一种自动获取EEPROM存储容量的方法,以实现自动获取EEPROM存储容量的功能。
本发明解决所述技术问题,采用的技术方案是,自动获取EEPROM存储容量的方法,包括以下几个步骤:
步骤1、系统检测EEPROM是否连接,是则进入步骤2,否则结束运行;
步骤2、系统根据EEPROM存储空间大小的不同范围,确定能代表差异的地址,并写入数据,计为A;
步骤3、系统将写入数据的第一个字节地址数据改写为另一个确定数据,计为B;
步骤4、系统对EEPROM进行差异地址读写出错判断及差异地址数据覆盖判断,判断结束则计算EEPROM存储空间实际大小,结束运行。
具体的,所述步骤2中,EEPROM存储空间范围为1k、2k、4k、8k、16k、32k、64k、128k、256k、512k及1024k,最多只需写入10个能区分差异的地址即可区分全系列空间大小的EEPROM存储器。
具体的,所述步骤2中,能代表差异的地址至少为一个。
进一步的,所述步骤4中,系统对EEPROM进行差异地址读写出错判断,包括以下几个步骤:
步骤41a、系统读取之前写入的某差异地址数据,如出错,则停止判断并计算实际存储空间大小,结束运行,否则进入步骤42a;
步骤42a、系统读取之前写入的某差异地址数据,没有出错,则读取下一个差异地址数据,返回步骤41a。
进一步的,所述步骤4,包括以下几个步骤:
步骤41b、系统读取之前写入的差异地址数据,如读出值为数据B,则停止判断并计算实际存储空间大小,否则进入步骤42b;
步骤42b、系统读取之前写入的差异地址数据,如果读出值为数据A,并且读取过程无错误返回,则继续读取下一写入的差异地址数据,返回步骤41b。
本发明的有益效果是,通过对不同型号EEPROM差异存储空间内任意有效地址的定向测试,自动判断并获取不同EEPROM存储器的存储空间大小,本发明不用改变任何硬件驱动电路的设计,仅仅通过软件编程实现对不同型号EEPROM存储空间大小的自动识别,并且实现了正常操作EEPROM存储器的所有功能。节约了硬件资源和成本,增强了装置的通用性和可靠性。并且使用方便,不需要人为选择所操作的EEPROM存储器的具体型号。
附图说明
图1为本发明自动获取EEPROM存储容量的方法实施例的流程图。
具体实施方式
下面结合附图及实施例详细描述本发明的技术方案:
本发明针对现有技术中不能实现自动获取EEPROM存储容量的功能的问题,提供一种自动获取EEPROM存储容量的方法,自动获取EEPROM存储容量的方法,首先,系统检测EEPROM是否连接,是则进入步骤2,否则结束运行;其次,系统根据EEPROM存储空间大小的不同范围,确定能代表差异的地址,并写入数据,计为A;然后,系统将写入数据的第一个字节地址数据改写为另一个确定数据,计为B;最后,系统对EEPROM进行差异地址读写出错判断及差异地址数据覆盖判断,判断结束则计算EEPROM存储空间实际大小,结束运行。通过对不同型号EEPROM差异存储空间内任意有效地址的定向测试,自动判断并获取不同EEPROM存储器的存储空间大小,本发明不用改变任何硬件驱动电路的设计,仅仅通过软件编程实现对不同型号EEPROM存储空间大小的自动识别,并且实现了正常操作EEPROM存储器的所有功能。节约了硬件资源和成本,增强了装置的通用性和可靠性。并且使用方便,不需要人为选择所操作的EEPROM存储器的具体型号。
实施例
本实施例为了更清楚地说明本发明,下面以流程图形式对实施例进行描述说明,流程图如图1所示。
首先,系统每次上电后系统需要检测外部是否连有EEPROM存储器。如果有,则需自动获取存储器存储空间大小。
其次,按照不同型号EEPROM存储空间大小的不同范围,选定一个或者多个能代表差异的地址,备份该地址区域的数据并分别写入一个确定的数据A作为参考。具体根据EEPROM存储空间大小(1k、2k、4k、8k、16k、32k、64k、128k、256k、512k、1024k),最多只需写入10个能区分差异的地址即可区分全系列空间大小的EEPROM存储器。
接着,将写入的第一个字节地址数据改写为另一个确定的数据B,以便接下来的溢出地址数据覆盖判断。
然后,依次读取写入的差异地址数据内容,并综合两种判断方法,以确定存储器具体存储空间大小。
详细的,这两种判断方法为:
(1)差异地址读写出错判断:
首先,系统读取之前写入的某差异地址数据,如出错,则停止判断并计算实际存储空间大小,结束运行。否则,系统继续读取之前写入的下一个差异地址数据,直至出错,则停止判断并计算实际存储空间大小,结束运行。
(2)差异地址数据覆盖判断:
首先,系统读取之前写入的差异地址数据,如果读出值为数据A,并且读取过程无错误返回,则继续读取下一写入的差异地址数据,直至,如读出值为数据B,则停止判断并计算实际存储空间大小,结束运行。
最后,用之前备份的数据来恢复检测容量时被更改地址上的数据,再进行其他操作。
综上所述,本发明为通过对不同型号EEPROM差异存储空间内任意有效地址的定向测试,自动判断并获取不同EEPROM存储器的存储空间大小。继而主控制器可以根据获得的空间大小来对所操作的EEPROM存储器进行整片操作,比如整片读/写、整片数据校验等。判断方法包括溢出地址读/写正误判断及溢出地址覆盖数据判断。通过这两种判断方法的结合,能够兼容所有类型EEPROM存储器,准确获取各种型号EEPROM存储空间大小。在不改变硬件电路的同时,仅通过编程算法实现了不同型号EEPROM存储空间大小的自动识别。不用改变任何硬件驱动电路的设计,仅仅通过软件编程实现对不同型号EEPROM存储空间大小的自动识别,并且实现了正常操作EEPROM存储器的所有功能。节约了硬件资源和成本,增强了装置的通用性和可靠性。并且使用方便,不需要人为选择所操作的EEPROM存储器的具体型号。
Claims (5)
1.自动获取EEPROM存储容量的方法,其特征在于,包括以下几个步骤:
步骤1、系统检测EEPROM是否连接,是则进入步骤2,否则结束运行;
步骤2、系统根据EEPROM存储空间大小的不同范围,确定能代表差异的地址,并写入数据,计为A;
步骤3、系统将写入数据的第一个字节地址数据改写为另一个确定数据,计为B;
步骤4、系统对EEPROM进行差异地址读写出错判断及差异地址数据覆盖判断,判断结束则计算EEPROM存储空间实际大小,结束运行。
2.根据权利要求1所述的自动获取EEPROM存储容量的方法,其特征在于,所述步骤2中,EEPROM存储空间范围为1k、2k、4k、8k、16k、32k、64k、128k、256k、512k及1024k,最多只需写入10个能区分差异的地址即可区分全系列空间大小的EEPROM存储器。
3.根据权利要求1所述的自动获取EEPROM存储容量的方法,其特征在于,所述步骤2中,能代表差异的地址至少为一个。
4.根据权利要求1、2、3所述的自动获取EEPROM存储容量的方法,其特征在于,所述步骤4中,系统对EEPROM进行差异地址读写出错判断,包括以下几个步骤:
步骤41a、系统读取之前写入的某差异地址数据,如出错,则停止判断并计算实际存储空间大小,结束运行,否则进入步骤42a;
步骤42a、系统读取之前写入的某差异地址数据,没有出错,则读取下一个差异地址数据,返回步骤41a。
5.根据权利要求1、2、3所述的自动获取EEPROM存储容量的方法,其特征在于,所述步骤4,包括以下几个步骤:
步骤41b、系统读取之前写入的差异地址数据,如读出值为数据B,则停止判断并计算实际存储空间大小,否则进入步骤42b;
步骤42b、系统读取之前写入的差异地址数据,如果读出值为数据A,并且读取过程无错误返回,则继续读取下一写入的差异地址数据,返回步骤41b。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410064243.1A CN103777907A (zh) | 2014-02-25 | 2014-02-25 | 自动获取eeprom存储容量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410064243.1A CN103777907A (zh) | 2014-02-25 | 2014-02-25 | 自动获取eeprom存储容量的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103777907A true CN103777907A (zh) | 2014-05-07 |
Family
ID=50570201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410064243.1A Pending CN103777907A (zh) | 2014-02-25 | 2014-02-25 | 自动获取eeprom存储容量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103777907A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106024067A (zh) * | 2016-05-27 | 2016-10-12 | 上海贝岭股份有限公司 | Eeprom的测试方法 |
CN109491869A (zh) * | 2018-11-13 | 2019-03-19 | 天津津航计算技术研究所 | 一种自动化ram容量测试装置 |
CN109634534A (zh) * | 2019-01-02 | 2019-04-16 | 威胜集团有限公司 | 存储芯片的容量快速判定方法 |
CN111179993A (zh) * | 2019-12-31 | 2020-05-19 | 苏州绿控传动科技股份有限公司 | 一种eeprom的数据读/写方法 |
CN111273852A (zh) * | 2018-12-04 | 2020-06-12 | 智微科技股份有限公司 | 存储器区块大小判定方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246749A (zh) * | 2008-03-26 | 2008-08-20 | 北京中星微电子有限公司 | 自动识别eeprom分页大小及写eeprom的方法 |
US20100080074A1 (en) * | 2008-09-30 | 2010-04-01 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor memory device |
CN103577113A (zh) * | 2012-07-24 | 2014-02-12 | 联想(北京)有限公司 | 一种存储单元访问方法 |
-
2014
- 2014-02-25 CN CN201410064243.1A patent/CN103777907A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246749A (zh) * | 2008-03-26 | 2008-08-20 | 北京中星微电子有限公司 | 自动识别eeprom分页大小及写eeprom的方法 |
US20100080074A1 (en) * | 2008-09-30 | 2010-04-01 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor memory device |
CN103577113A (zh) * | 2012-07-24 | 2014-02-12 | 联想(北京)有限公司 | 一种存储单元访问方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106024067A (zh) * | 2016-05-27 | 2016-10-12 | 上海贝岭股份有限公司 | Eeprom的测试方法 |
CN109491869A (zh) * | 2018-11-13 | 2019-03-19 | 天津津航计算技术研究所 | 一种自动化ram容量测试装置 |
CN111273852A (zh) * | 2018-12-04 | 2020-06-12 | 智微科技股份有限公司 | 存储器区块大小判定方法 |
CN109634534A (zh) * | 2019-01-02 | 2019-04-16 | 威胜集团有限公司 | 存储芯片的容量快速判定方法 |
CN109634534B (zh) * | 2019-01-02 | 2022-04-01 | 威胜集团有限公司 | 存储芯片的容量快速判定方法 |
CN111179993A (zh) * | 2019-12-31 | 2020-05-19 | 苏州绿控传动科技股份有限公司 | 一种eeprom的数据读/写方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103777907A (zh) | 自动获取eeprom存储容量的方法 | |
CN101529526B (zh) | 用于估计和报告闪存盘存储器的预期寿命的方法 | |
TWI591631B (zh) | 更新記憶體內讀取電壓之系統與方法 | |
KR101892302B1 (ko) | 불휘발성 메모리 시스템들을 위한 위브 시퀀스 카운터 | |
CN106484316A (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
CN103823642B (zh) | 用于Flash均衡存储的方法及系统 | |
CN103943150B (zh) | 高性能和高可靠性闪存存储器的潜在的缓慢擦除位的动态检测方法 | |
CN102306127B (zh) | 一种ddriii内存识别和初始化方法 | |
TWI655576B (zh) | 記憶體管理方法以及儲存控制器 | |
CN109117383A (zh) | 管理闪存模块的方法和闪存控制器 | |
CN109783396A (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
CN106951297B (zh) | 嵌入式多媒体卡的生产方法及其系统 | |
CN101246749A (zh) | 自动识别eeprom分页大小及写eeprom的方法 | |
CN112000536A (zh) | 一种内存检测方法、系统及相关设备 | |
CN106024066A (zh) | 一种sram的检测方法及系统 | |
CN113421606A (zh) | flash检测方法及其检测系统 | |
CN103165194A (zh) | 快速检测大容量NOR Flash的方法及装置 | |
CN101950368B (zh) | 24c系列芯片存储容量的识别方法 | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
CN108428467A (zh) | 读取电压追踪方法、存储器储存装置及控制电路单元 | |
CN109542086A (zh) | 一种数据标定方法 | |
CN110364197B (zh) | 解码方法以及存储控制器 | |
CN108564985B (zh) | Emmc测试方法、装置、移动终端及存储介质 | |
CN108108118A (zh) | 数据写入方法以及存储控制器 | |
CN110289036A (zh) | 读取电压最佳化方法以及存储控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140507 |
|
RJ01 | Rejection of invention patent application after publication |