CN102662878B - 存储设备软件层的识别和驱动方法及装置 - Google Patents

存储设备软件层的识别和驱动方法及装置 Download PDF

Info

Publication number
CN102662878B
CN102662878B CN201210045610.4A CN201210045610A CN102662878B CN 102662878 B CN102662878 B CN 102662878B CN 201210045610 A CN201210045610 A CN 201210045610A CN 102662878 B CN102662878 B CN 102662878B
Authority
CN
China
Prior art keywords
data
flash
reading
write
type
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.)
Active
Application number
CN201210045610.4A
Other languages
English (en)
Other versions
CN102662878A (zh
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.)
Shenzhen SiliconGo Semiconductor Co., Ltd.
Original Assignee
SHENZHEN SILICONGO SEMICONDUCTOR CO 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 SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd filed Critical SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd
Priority to CN201210045610.4A priority Critical patent/CN102662878B/zh
Publication of CN102662878A publication Critical patent/CN102662878A/zh
Application granted granted Critical
Publication of CN102662878B publication Critical patent/CN102662878B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明揭示了一种存储设备软件层的识别和驱动方法及装置。该方法可包括步骤:针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;读取操作时,以相同的读取方式进行数据读取。本发明对于普通Flash,普通写入和普通读出,对于ToggleDDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。

Description

存储设备软件层的识别和驱动方法及装置
技术领域
本发明涉及到存储设备软件层的识别和驱动技术,特别涉及到一种存储设备软件层的识别和驱动方法及装置。
背景技术
现有技术中的固态存储设备,比如U盘、SD卡(Secure Digital MemoryCard,安全数码卡)、SSD(Solid State Disk,固态硬盘)等,其执行代码存储在Nand Flash中,通过Boot加载并切换执行由上述执行代码所组成的程序。不同标准的Flash具有不同的操作特性,需要Boot执行加载的方式也将不同,从而固态存储设备启动对Boot的兼容性提出了更高的要求。Boot在IC设计和制造过程中,固化在IC中的代码,一旦制造完成,该部分代码无法修改;其主要具备代码加载和切换功能。
在Toggle DDR和Normal类型Flash的识别方式上,一般通过检测外部特定GPIO(General Purpose Input Output,通用输入/输出)口的电平高低实现。上述方案不足之处在于:需要占用一个GPIO资源;以及,需要在设计时提供电平信号支持,比如需提供特定布线以及配合的上下拉电阻,增加了设计复杂度和产品生产工序。
发明内容
本发明的主要目的为提供一种存储设备软件层的识别和驱动方法,提升了产品的兼容性以及识别的效率。
本发明提出一种存储设备软件层的识别和驱动方法,包括步骤:
针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;
读取操作时,以相同的读取方式进行数据读取。
优选地,所述闪存的类型包括:
Normal类型以及Toggle DDR类型。
优选地,所述相应的写入方式分别为:
普通写入以及叠加写入。
优选地,所述读取方式为普通读取。
本发明还提出一种存储设备软件层的识别和驱动装置,包括:
数据写入单元,用于针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;
数据读取单元,用于读取操作时,以相同的读取方式进行数据读取。
优选地,所述闪存的类型包括:
Normal类型以及Toggle DDR类型。
优选地,所述相应的写入方式分别为:
普通写入以及叠加写入。
优选地,所述读取方式为普通读取。
本发明对于普通Flash,普通写入和普通读出,对于Toggle DDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。
附图说明
图1是本发明存储设备软件层的识别和驱动方法一实施例中步骤流程示意图;
图2是现有技术中Normal类型Nand Flash数据存取过程示意图;
图3是现有技术中Toggle DDR类型Nand Flash数据存取过程示意图;
图4是本发明存储设备软件层的识别和驱动方法一实施例量产过程中Normal类型和Toggle DDR类型Nand Flash数据写入过程示意图;
图5是本发明存储设备软件层的识别和驱动方法一实施例代码加载中Normal类型和Toggle DDR类型Nand Flash数据读取过程示意图;
图6是本发明存储设备软件层的识别和驱动装置一实施例中结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,提出本发明一种存储设备软件层的识别和驱动方法的一实施例。该方法可包括:
步骤S10、针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;
步骤S11、读取操作时,以相同的读取方式进行数据读取。
本实施例的存储设备软件层的识别和驱动方法,根据Normal类型和ToggleDDR类型的Nand Flash读写操作过程中,数据操作个数在单个脉冲周期内存在双倍差异,因而在量产时,有针对两种不同类型的Nand Flash分别采用普通方式和叠加方式(奇偶跳列)量产。而在数据读取过程中,都以普通方式读出(单脉冲单数据),实现在软件层兼容两种类型的Flash启动。从而可保证两种类型Flash写入和读出数据的一致性,以及和原始数据的一致性。
可执行程序在NandFlash中以二进制数据形式存储,以下以简单数据0xAA、0xBB、0xCC以及0xDD来说明整个存取过程。
参照图2,Normal类型NandFlash数据存取特性,每个周期只有一个数据被读或写,步骤①是数据的写入过程,步骤②是数据读取过程。
参照图3,Toggle DDR类型Nand Flash数据存取特性,每个周期中会有两个数据被读或写,步骤③是其数据写入过程,步骤④是其数据读取过程。
由此,在本实施例的量产过程中,参照图4,首先利用量产工具通过读取Flash ID以及查找Flash类型表识别出Flash类型,比如Normal类型或者ToggleDDR或类型等,并根据Flash类型执行不同的量产流程(⑤和⑥):
对于Normal类型:执行流程⑤,其量产过程是将数据写入Nand Flash;对于Toggle DDR类型:执行流程⑥,在写入Flash时,通过硬件将数据做叠加处理,产生重叠数据,然后以Toggle DDR(叠加)方式写入Nand Flash。
参照图5,在代码(数据)加载时,上述Normal类型和Toggle DDR类型的Flash都按照Normal类型Flash的操作方式执行数据读取。
对于Normal类型Flash,其加载过程简单,如流程⑦;对于Toggle DDR类型的Flash,其加载过程如流程⑧,由于采用的是Normal方式读取数据(每个周期只采样一个数据),有一半数据会被丢掉(即重复的数据被丢掉其中一个),如此读取之后,将得到和原始写入一致的数据,实现代码的成功加载。
本实施例的存储设备软件层的识别和驱动方法,针对不同类型的闪存(比如Normal类型和Toggle DDR类型)在一个周期内读取一个数据还是两个数据的不同;在量产写入时,对于一个周期读出是两个数据的Flash,则写入叠加数据,再在读取时用普通方式读出两个数据,但是实际读取操作时严格遵守一个周期取一个数据,对于一个周期有两个数据的Flash,此时会丢掉一个数据,因此由于写入方式的不同,通过上述方式读取的数据即可还原成了原写入的数据。针对Toggle DDR类型的Flash在量产过程中,以代码叠加的方式量产写入Nand Flash;代码叠加过程,采用往前一致的原则,即偶数位置的数据与其前面的数据一致(第一个数据位置为1),可以增强一致性;因此,对于普通Flash,普通写入和普通读出,对于Toggle DDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。
参照图6,提出本发明一种存储设备软件层的识别和驱动装置20的一实施例。该装置20可包括:数据写入单元21以及数据读取单元22;该数据写入单元21,用于针对不同类型闪存读取数据量的不同,分别以相应的写入方式进行数据写入;该数据读取单元22,用于读取操作时,以相同的读取方式进行数据读取。
本实施例的存储设备软件层的识别和驱动装置20,根据Normal类型和Toggle DDR类型的Nand Flash读写操作过程中,数据操作个数在单个脉冲周期内存在双倍差异,因而在量产时,上述数据写入单元21针对两种不同类型的Nand Flash分别采用普通方式和叠加方式(奇偶跳列)量产。而在数据读取过程中,上述数据读取单元22都以普通方式读出(单脉冲单数据),实现在软件层兼容两种类型的Flash启动。从而可保证两种类型Flash写入和读出数据的一致性,以及和原始数据的一致性。
可执行程序在Nand Flash中以二进制数据形式存储,以下以简单数据0xAA、0xBB、0xCC以及0xDD来说明整个存取过程。
参照图2,Normal类型Nand Flash数据存取特性,每个周期只有一个数据被读或写,步骤①是数据的写入过程,步骤②是数据读取过程。
参照图3,Toggle DDR类型Nand Flash数据存取特性,每个周期中会有两个数据被读或写,步骤③是其数据写入过程,步骤④是其数据读取过程。
由此,在本实施例的量产过程中,参照图4,首先利用量产工具通过读取Flash ID以及查找Flash类型表识别出Flash类型,比如Normal类型或者ToggleDDR或类型等,并根据Flash类型执行不同的量产流程(⑤和⑥):
对于Normal类型:执行流程⑤,其量产过程是将数据写入Nand Flash;对于Toggle DDR类型:执行流程⑥,在写入Flash时,通过硬件将数据做叠加处理,产生重叠数据,然后以Toggle DDR(叠加)方式写入Nand Flash。
参照图5,在代码(数据)加载时,上述Normal类型和Toggle DDR类型的Flash都按照Normal类型Flash的操作方式执行数据读取。
对于Normal类型Flash,其加载过程简单,如流程⑦;对于Toggle DDR类型的Flash,其加载过程如流程⑧,由于采用的是Normal方式读取数据(每个周期只采样一个数据),有一半数据会被丢掉(即重复的数据被丢掉其中一个),如此读取之后,将得到和原始写入一致的数据,实现代码的成功加载。
本实施例的存储设备软件层的识别和驱动装置20,针对不同类型的闪存(比如Normal类型和Toggle DDR类型)在一个周期内读取一个数据还是两个数据的不同;在量产写入时,对于一个周期读出是两个数据的Flash,则写入叠加数据,再在读取时用普通方式读出两个数据,但是实际读取操作时严格遵守一个周期取一个数据,对于一个周期有两个数据的Flash,此时会丢掉一个数据,因此由于写入方式的不同,通过上述方式读取的数据即可还原成了原写入的数据。针对Toggle DDR类型的Flash在量产过程中,以代码叠加的方式量产写入Nand Flash;代码叠加过程,采用往前一致的原则,即偶数位置的数据与其前面的数据一致(第一个数据位置为1),可以增强一致性;因此,对于普通Flash,普通写入和普通读出,对于Toggle DDR,叠加写入普通读出;如此,可使得存储设备可不使用检测外部GPIO的办法识别Flash类型,并且可兼容识别Toggle DDR和Normal类型的Nand Flash,支持其Boot操作。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (2)

1.一种存储设备软件层的识别和驱动方法,其特征在于,包括步骤:
针对Normal类型闪存以及Toggle DDR类型闪存读取数据量的不同,对所述Normal类型闪存,以一个周期内写入一个数据的方式进行数据写入,对所述Toggle DDR类型闪存,以一个周期内对同一数据连续写入两次的方式进行数据写入;
读取操作时,以一个周期读取一个数据的读取方式进行数据读取。
2.一种存储设备软件层的识别和驱动装置,其特征在于,包括:
数据写入单元,用于针对Normal类型闪存以及Toggle DDR类型闪存读取数据量的不同,对所述Normal类型闪存,以一个周期内写入一个数据的方式进行数据写入,对所述Toggle DDR类型闪存,以一个周期内对同一数据连续写入两次的方式进行数据写入;
数据读取单元,用于读取操作时,以一个周期读取一个数据的读取方式进行数据读取。
CN201210045610.4A 2012-02-27 2012-02-27 存储设备软件层的识别和驱动方法及装置 Active CN102662878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210045610.4A CN102662878B (zh) 2012-02-27 2012-02-27 存储设备软件层的识别和驱动方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210045610.4A CN102662878B (zh) 2012-02-27 2012-02-27 存储设备软件层的识别和驱动方法及装置

Publications (2)

Publication Number Publication Date
CN102662878A CN102662878A (zh) 2012-09-12
CN102662878B true CN102662878B (zh) 2015-01-21

Family

ID=46772374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210045610.4A Active CN102662878B (zh) 2012-02-27 2012-02-27 存储设备软件层的识别和驱动方法及装置

Country Status (1)

Country Link
CN (1) CN102662878B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI553641B (zh) 2013-12-09 2016-10-11 慧榮科技股份有限公司 資料儲存裝置及其模式偵測方法
CN107479938B (zh) * 2017-09-27 2024-03-29 北京忆芯科技有限公司 电子设备及其启动方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000580A (zh) * 2006-12-30 2007-07-18 北京中星微电子有限公司 Nand闪存信息提取方法和nand闪存自动识别方法
CN100501683C (zh) * 2006-07-07 2009-06-17 上海晨兴电子科技有限公司 对产品中所使用的闪存型号的自动识别方法
CN102053914A (zh) * 2009-10-30 2011-05-11 慧荣科技股份有限公司 记忆装置以及存储器的数据存取方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US8266369B2 (en) * 2009-12-18 2012-09-11 Nxp B.V. Flash memory interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100501683C (zh) * 2006-07-07 2009-06-17 上海晨兴电子科技有限公司 对产品中所使用的闪存型号的自动识别方法
CN101000580A (zh) * 2006-12-30 2007-07-18 北京中星微电子有限公司 Nand闪存信息提取方法和nand闪存自动识别方法
CN102053914A (zh) * 2009-10-30 2011-05-11 慧荣科技股份有限公司 记忆装置以及存储器的数据存取方法

Also Published As

Publication number Publication date
CN102662878A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
TWI501235B (zh) 串列介面記憶體中之並行讀取及寫入記憶體操作
US9760503B2 (en) Operation method of memory controller and nonvolatile memory system including the memory controller
CN107918566A (zh) 存储器系统及其操作方法
CN103605540A (zh) 基于安卓系统的快速写入flash镜像的方法
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US8812772B2 (en) Data merging method for non-volatile memory and controller and storage apparatus using the same
US9037781B2 (en) Method for managing buffer memory, memory controllor, and memory storage device
US20170277473A1 (en) Data processing system and operating method thereof
CN102662878B (zh) 存储设备软件层的识别和驱动方法及装置
US20200371719A1 (en) Virtual partition management in a memory device
CN108694970A (zh) 控制器及其操作方法
US20170123881A1 (en) Test method of volatile memory device embedded in electronic device
US20220350517A1 (en) Separate partition for buffer and snapshot memory
US20140365724A1 (en) System and method for converting disk partition format
WO2016187801A1 (zh) 一种用于储存介质的数据管理方法及固态硬盘与控制芯片
CN101266828B (zh) 混合型闪存存储装置及其操作方法
KR20210014365A (ko) 컨트롤러 및 그 동작 방법
CN111176554A (zh) 存储器系统及其操作方法
CN102520976B (zh) 一种dsp程序的固化方法
KR20160075703A (ko) 비휘발성 메모리를 위한 전송 버퍼의 관리
US9760509B2 (en) Memory storage device and control method thereof and memory control circuit unit and module
CN108694988A (zh) 存储器测试系统及其操作方法
CN102543215B (zh) 一种基于ARM控制器的Nand FLASH智能检测方法
US20230169028A1 (en) Bridge device and data storage system
US8065468B2 (en) Data storing methods and apparatus thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 518057 room 606-608, Changhong science and technology building, twelve South tech Road, Nanshan District hi tech Zone, Shenzhen, Guangdong

Patentee after: SILICONGO MICROELECTRONICS CO., LTD.

Address before: 518057 room 606-608, Changhong science and technology building, twelve South tech Road, Nanshan District hi tech Zone, Shenzhen, Guangdong

Patentee before: Shenzhen SiliconGo Semiconductor Co., Ltd.

CP03 Change of name, title or address

Address after: 518057 05-2, 06-08 unit, 6 floor, Changhong science and technology building, 18 Nanshan District science and technology south twelve Road, Shenzhen, Guangdong.

Patentee after: Shenzhen SiliconGo Semiconductor Co., Ltd.

Address before: 518057 Nanshan District science and technology building 606-608, science and technology south twelve Road, Nanshan District hi tech Zone, Shenzhen, Guangdong

Patentee before: SILICONGO MICROELECTRONICS CO., LTD.

CP03 Change of name, title or address