CN111273852A - 存储器区块大小判定方法 - Google Patents
存储器区块大小判定方法 Download PDFInfo
- Publication number
- CN111273852A CN111273852A CN201811471565.2A CN201811471565A CN111273852A CN 111273852 A CN111273852 A CN 111273852A CN 201811471565 A CN201811471565 A CN 201811471565A CN 111273852 A CN111273852 A CN 111273852A
- Authority
- CN
- China
- Prior art keywords
- memory
- range
- magic string
- reading
- found
- 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
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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
一种存储器区块大小判定方法,包含:将一魔术字串写入到一存储器的存储空间的起始位置;以第一范围对该存储器进行第一次读取,并于该第一次读取未找到该魔术字串的情况下,以第二范围对该存储器进行第二次读取,直到找出该魔术字串为止;以及当魔术字串是于第N次读取中被找到时,将对应于该第N次读取的第N范围判定为该存储器的区块大小,其中,N是大于或等于1的正整数。
Description
【技术领域】
本发明是关于存储器装置的领域,尤其关于一种存储器区块大小判定方法。
【背景技术】
串行外设接口(Serial Peripheral Interface,SPI)为在两个装置之间提供相对简单连接的通信接口,其用以作为主装置与一或多个附属装置进行通信的接口。数据经由SPI同时传输及接收,从而使其成为全双工协定(full duplexed protocol)。
由于市面上串行外设接口快闪存储器(flash memory)的种类繁多且每种快闪存储器的大小可能不一致,当烧入数据大于快闪存储器大小时可能造成不可预期的错误。因此,要如何妥善预防将过大的数据烧入串行外设接口快闪存储器是本领域人士必须解决的问题。
相关技术中提及通过将每颗快闪存储器的读取辨识码(RDID)以及将存储器大小记录于数据表(datasheet)中,之后要对快闪存储器进行读取的时候则通过查表的方式找出RDID以及对应的存储器大小。换言之,已知作法必须不断地查表,而这样的查表动作除了耗费时间,也影响到维护上的便利性,举例来说,每当使用新的快闪存储器时,开发者就必须去研究其规格,并且修改程序码以及数据表。
【发明内容】
有鉴于上述相关技术会遭遇的问题,本发明的目的在于提供一种存储器区块大小判定方法,以在不用事先记录所要读取的存储器的规格以及进行查表的情况下取得存储器大小,以利后续的各种操作。
本发明的至少一实施例提供了一种存储器区块大小判定方法,该方法包含以下步骤:将一魔术字串(magic string)写入到一存储器的存储空间的起始位置;以第一范围对该存储器进行第一次读取,并于该第一次读取未找到该魔术字串的情况下,以第二范围对该存储器进行第二次读取,直到找出该魔术字串为止;以及当魔术字串是于第N次读取中被找到时,将对应于该第N次读取的第N范围判定为该存储器的区块大小,其中,N是大于或等于1的正整数。
通过以上本发明的方法,可快速且确实地得知存储器的区块大小。另外,依据本发明的实施例来实施不需要额外设置硬件架构,亦即,亦即,并不会造成成本的增加。相较于相关技术,本发明能在没有副作用或较不可能带来副作用的状况下实现存储装置的读取。
【附图说明】
图1是串行外设接口快闪存储器的操作示意图。
图2是根据本发明实施例的存储器区块大小判定方法的示意图。
【符号说明】
202~222步骤
【具体实施方式】
在说明书及后续的申请专利范围当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同样的元件。本说明书及后续的申请专利范围并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求当中所提及的「包含」是一开放式的用语,故应解释成「包含但不限定于」。
请参考图1,图1是串行外设接口(SPI)快闪存储器的操作示意图,如图1所示,共有两条控制线及两条数据线,控制线包含串行时脉(serial clock)线SCLK及芯片选择(chipselect)线CS#,其中,串行时脉线SCLK用以提供数字时脉信号,芯片选择线CS用以选取所要操作的装置。数据线包含信号输出线SO以及信号输入线SI,用以传递数据。
在本范例中,是使用长度为24bit的读取指令来读取SPI快闪存储器的内容,而该读取指令是通过信号输入线SI来传送,之后第一个存储器位置有三个(A23~A0)待读取。在本实施例中,只有最大有效比特AMSB(most significant bit)至A0会被解码,其余的比特(A23~AMSB)则被忽略。
有别于已知技术必须繁琐地于数据表中记录每颗快闪存储器的RDID和存储器大小,并且于之后读取时再搭配查表的方式来确认对应当下的快闪存储器的RDID以及存储器大小,取而代的地,本发明是即时(real-time)检测或运算出存储器大小,除了省时也省下不少的存储器空间,以下将对实施细节作详细的介绍。需注意的是,已知技术必须根据RDID来找出快闪存储器在查找表(look-up table)中的对应位置。
首先将一魔术字串(magic string)写入到一存储器的存储空间的起始位置,接着通过寻找该魔术字串来判定存储器大小,其中,该起始位置可为address 0。在计算机的用语中,魔术字串是指程序开发者认为不会来自于外部、且能够激活(activate)隐藏功能的一种输入。通常,使用者在设计输入的时候都会期望该多个输入能有预期的响应,然而,若使用者无意间使预先定义的输入引发内部的某些功能,这样的程序响应通常超出使用者的预期,因而有「魔术」之称。以上是偏重学术上的定义,简单来说,可以将魔术字串理解为一特定的字串,大小依使用者而定,但字串内容不重复于其他字串的内容。
首先,将一长度未定的魔术字串写入快闪存储器起始位置,并由位置64KB作为第一次读取长度。假设SPI快闪存储器的实际大小为64Kbyte(KB),A15~A0为可解析的比特,且A23~A16为无效比特,当读取位置64KB(0x010000)时,因A15~A0皆为0,读到的SPI快闪存储器位置相当于0x000000,因此第一次读到魔术字串的位置即为SPI快闪存储器大小。其中,上述24个比特中实际上只使用到16个比特,另外8个比特相当于预设比特。以上是探讨在第一次读取中就找到魔术字串的情况,若在第一次读取中即读到魔术字串,则将该第一次读取长度视为快闪存储器大小。
当第一次读取未能找到魔术字串的情况下,本发明会继续以第二范围对该存储器进行第二次读取,以此类推,直到找出魔术字串为止。当魔术字串是于第N次读取中被找到时,即判定对应于该第N次读取的第N范围判定为该存储器的区块大小,其中,N是大于或等于1的正整数。举例来说,在第二次读取时可采用第一次读取长度的两倍进行读取(即采用128KB),以此类推,第三次读取则采用256KB进行读取。换言之,本发明可采用以2的幂次方为倍数的范围成长速度来读取魔术字串长度,其中,若2X位置没有读到魔术字串但2X+1位置却有读取到魔术字串,则快闪存储器大小为64KB*2X+1,以此类推。
需注意的是,以上仅为举例的目的,并不用以限缩本发明的范畴,举例来说,本发明不受限于上述数值,起始的64KB区间以及24比特的读取指令皆可调整为其他数值,而在后续叠代中所使用的倍数亦不限定为必须呈现2的幂次方关系,而可以是其他数值的的幂次方关系。
请参考图2,图2是根据本发明实施例的存储器区块大小判定方法的示意图。请注意,假若可获得实质上相同的结果,则该多个步骤并不一定要完全遵照图2所示的执行次序来执行,且本流程亦不排除可***其它相关步骤的可能性。图2所示的步骤可与以上所介绍的本发明概念结合,并可简单归纳如下:
步骤202:开始。
步骤204:将魔术字串写入到快闪存储器地址0x000000。
步骤206:将魔术字串的大小从地址0x010000读取到缓冲存储器。
步骤208:判断是否找到魔术字串(若魔术字串相同于缓冲存储器,则判定已找到),若是,则进入步骤210;若否,则进入步骤212。
步骤210:判定串行外设接口快闪存储器的大小为0x010000比特组(Byte)。
步骤212:将魔术字串的大小从地址0x020000读取到缓冲存储器。
步骤214:判断是否找到魔术字串(若魔术字串相同于缓冲存储器,则判定已找到),若是,则进入步骤216;若否,则进入步骤218。
步骤216:判定串行外设接口快闪存储器的大小为0x020000比特组。
步骤218:将魔术字串的大小从地址0x040000读取到缓冲存储器。
步骤220:判断是否找到魔术字串(若魔术字串相同于缓冲存储器,则判定已找到),若是,则进入步骤222;若否,则继续进入下一次叠代。
步骤222:判定串行外设接口快闪存储器的大小为0x040000比特组。
通过以上本发明的方法,可快速且确实地得知存储器的区块大小。另外,依据本发明的实施例来实施不需要额外设置硬件架构,亦即,亦即,并不会造成成本的增加。相较于相关技术,本发明能在没有副作用或较不可能带来副作用的状况下实现存储装置的读取。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (6)
1.一种存储器区块大小判定方法,其特征在于,该方法包含以下步骤:
将一魔术字串写入到一存储器的存储空间的起始位置;
以第一范围对该存储器进行第一次读取,并于该第一次读取未找到该魔术字串的情况下,以第二范围对该存储器进行第二次读取,直到找出该魔术字串为止;以及
当魔术字串是于第N次读取中被找到时,将对应于该第N次读取的第N范围判定为该存储器的区块大小,其中,N是大于或等于1的正整数。
2.如权利要求1所述的存储器区块大小判别方法,其特征在于,该存储器是一串行外设接口快闪存储器。
3.如权利要求1所述的存储器区块大小判别方法,其特征在于,该第一范围为64K。
4.如权利要求1所述的存储器区块大小判别方法,其特征在于,该第二范围大于该第一范围。
5.如权利要求4所述的存储器区块大小判别方法,其特征在于,该第二范围与该第一范围呈倍数关系。
6.如权利要求5所述的存储器区块大小判别方法,其特征在于,该第二范围与该第一范围呈2的幂次方关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811471565.2A CN111273852A (zh) | 2018-12-04 | 2018-12-04 | 存储器区块大小判定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811471565.2A CN111273852A (zh) | 2018-12-04 | 2018-12-04 | 存储器区块大小判定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111273852A true CN111273852A (zh) | 2020-06-12 |
Family
ID=70996652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811471565.2A Pending CN111273852A (zh) | 2018-12-04 | 2018-12-04 | 存储器区块大小判定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111273852A (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09293014A (ja) * | 1996-04-25 | 1997-11-11 | Oki Electric Ind Co Ltd | メモリの記憶容量の認識方法 |
JP2000122921A (ja) * | 1998-10-14 | 2000-04-28 | Oki Data Corp | メモリサイズ自動判定方法及び判定装置 |
CN1564130A (zh) * | 2004-04-06 | 2005-01-12 | 中兴通讯股份有限公司 | 一种判别嵌入式***内存大小的方法 |
US20080133583A1 (en) * | 2006-10-26 | 2008-06-05 | Nabi Sertac Artan | Generating a hierarchical data structure associated with a plurality of known arbitrary-length bit strings used for detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit string |
CN101321341A (zh) * | 2008-07-11 | 2008-12-10 | 东信和平智能卡股份有限公司 | 智能卡断电保护方法 |
CN101477837A (zh) * | 2009-01-21 | 2009-07-08 | 炬力集成电路设计有限公司 | 一种存储器容量检测方法和装置 |
CN101527172A (zh) * | 2008-03-07 | 2009-09-09 | 佛山市顺德区顺达电脑厂有限公司 | 动态随机存储器容量检测***及方法 |
CN101681301A (zh) * | 2007-05-14 | 2010-03-24 | 高通股份有限公司 | 存储器页大小自动检测 |
CN102306503A (zh) * | 2010-07-30 | 2012-01-04 | 深圳市江波龙电子有限公司 | 一种假容量存储器的检测方法及*** |
CN102667743A (zh) * | 2009-10-09 | 2012-09-12 | 高通股份有限公司 | 存取具有非均匀页大小的多通道存储器*** |
CN102981974A (zh) * | 2012-11-09 | 2013-03-20 | 深圳市共进电子股份有限公司 | 一种嵌入式***中内存大小的自动识别方法 |
CN103116536A (zh) * | 2013-02-25 | 2013-05-22 | 杭州华澜微科技有限公司 | 存储装置的容量检测方法 |
CN103777907A (zh) * | 2014-02-25 | 2014-05-07 | 四川长虹空调有限公司 | 自动获取eeprom存储容量的方法 |
CN107833593A (zh) * | 2017-11-15 | 2018-03-23 | 中京复电(上海)电子科技有限公司 | 一种无源uhf rfid芯片存储容量的测试方法 |
CN108021482A (zh) * | 2017-12-28 | 2018-05-11 | 杭州迪普科技股份有限公司 | 一种Boot Loader下检测内存的方法及装置 |
CN110109785A (zh) * | 2019-04-16 | 2019-08-09 | 晶晨半导体(上海)股份有限公司 | 内存容量获取方法、装置、计算机设备及可读存储介质 |
-
2018
- 2018-12-04 CN CN201811471565.2A patent/CN111273852A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09293014A (ja) * | 1996-04-25 | 1997-11-11 | Oki Electric Ind Co Ltd | メモリの記憶容量の認識方法 |
JP2000122921A (ja) * | 1998-10-14 | 2000-04-28 | Oki Data Corp | メモリサイズ自動判定方法及び判定装置 |
CN1564130A (zh) * | 2004-04-06 | 2005-01-12 | 中兴通讯股份有限公司 | 一种判别嵌入式***内存大小的方法 |
US20080133583A1 (en) * | 2006-10-26 | 2008-06-05 | Nabi Sertac Artan | Generating a hierarchical data structure associated with a plurality of known arbitrary-length bit strings used for detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit string |
CN101681301A (zh) * | 2007-05-14 | 2010-03-24 | 高通股份有限公司 | 存储器页大小自动检测 |
CN101527172A (zh) * | 2008-03-07 | 2009-09-09 | 佛山市顺德区顺达电脑厂有限公司 | 动态随机存储器容量检测***及方法 |
CN101321341A (zh) * | 2008-07-11 | 2008-12-10 | 东信和平智能卡股份有限公司 | 智能卡断电保护方法 |
CN101477837A (zh) * | 2009-01-21 | 2009-07-08 | 炬力集成电路设计有限公司 | 一种存储器容量检测方法和装置 |
CN102667743A (zh) * | 2009-10-09 | 2012-09-12 | 高通股份有限公司 | 存取具有非均匀页大小的多通道存储器*** |
CN102306503A (zh) * | 2010-07-30 | 2012-01-04 | 深圳市江波龙电子有限公司 | 一种假容量存储器的检测方法及*** |
CN102981974A (zh) * | 2012-11-09 | 2013-03-20 | 深圳市共进电子股份有限公司 | 一种嵌入式***中内存大小的自动识别方法 |
CN103116536A (zh) * | 2013-02-25 | 2013-05-22 | 杭州华澜微科技有限公司 | 存储装置的容量检测方法 |
CN103777907A (zh) * | 2014-02-25 | 2014-05-07 | 四川长虹空调有限公司 | 自动获取eeprom存储容量的方法 |
CN107833593A (zh) * | 2017-11-15 | 2018-03-23 | 中京复电(上海)电子科技有限公司 | 一种无源uhf rfid芯片存储容量的测试方法 |
CN108021482A (zh) * | 2017-12-28 | 2018-05-11 | 杭州迪普科技股份有限公司 | 一种Boot Loader下检测内存的方法及装置 |
CN110109785A (zh) * | 2019-04-16 | 2019-08-09 | 晶晨半导体(上海)股份有限公司 | 内存容量获取方法、装置、计算机设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6629172B1 (en) | Multi-chip addressing for the I2C bus | |
US20040019718A1 (en) | Method for receiving user defined frame information structure (FIS) types in a serial-ATA (SATA) system | |
US8078899B2 (en) | Asynchronous conversion circuitry apparatus, systems, and methods | |
US9576627B2 (en) | Semiconductor device, semiconductor system, and method for use in operating the same based on operation mode information | |
US10347347B1 (en) | Link training mechanism by controlling delay in data path | |
KR101978981B1 (ko) | 임베디드 멀티미디어 카드(eMMC), 상기 eMMC를 제어하는 호스트, 및 이들을 포함하는 시스템의 동작 방법 | |
WO2016087815A1 (en) | Digital accessory interface calibration | |
US11106618B2 (en) | Method for addressing an integrated circuit on a bus and corresponding device | |
CN107943727B (zh) | 一种高效dma控制器 | |
US20180301196A1 (en) | Method for Addressing a Non-Volatile Memory on I2C Bus and Corresponding Memory Device | |
KR102457095B1 (ko) | 딜레이 가변 소자를 포함하는 메모리 모듈 및 그것의 딜레이 설정 방법 | |
KR100805836B1 (ko) | 버스 폭 설정 장치, 디스플레이 장치 그리고 버스 폭 설정방법 | |
US9197394B2 (en) | Clock for serial communication device | |
CN111273852A (zh) | 存储器区块大小判定方法 | |
GB2538246A (en) | Digital accessory interface calibration | |
US9904340B2 (en) | Master electronic device and communication method of the same | |
CN115577149B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
US9747205B2 (en) | Method for processing data and electronic device | |
US20160055272A1 (en) | Method and compiling system for generating testbench for ic | |
TWI684915B (zh) | 記憶體區塊大小判定方法 | |
KR20050116781A (ko) | 아날로그 신호 처리 회로, 및 그 데이터 레지스터 재기록방법과 그 데이터 통신 방법 | |
US20050249235A1 (en) | Method of accessing a mac address for a nic device | |
WO2023231090A1 (zh) | 一种终结阻抗参数的产生方法和测试*** | |
KR0147476B1 (ko) | 컴퓨터의 입/출력 컨피그레이션 셋팅 시스템 및 방법 | |
US5764907A (en) | Computer to microcomputer interface |
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 |