CN1728284A - 一种扫描闪存盘的闪存芯片的方法 - Google Patents
一种扫描闪存盘的闪存芯片的方法 Download PDFInfo
- Publication number
- CN1728284A CN1728284A CN 200410071004 CN200410071004A CN1728284A CN 1728284 A CN1728284 A CN 1728284A CN 200410071004 CN200410071004 CN 200410071004 CN 200410071004 A CN200410071004 A CN 200410071004A CN 1728284 A CN1728284 A CN 1728284A
- Authority
- CN
- China
- Prior art keywords
- data
- physical block
- flash chip
- physical
- write
- 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.)
- Granted
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种扫描闪存盘的闪存芯片的方法,用以克服现有技术中用户对闪存芯片进行低级格式化非常不方便的问题,所述闪存盘包括控制芯片、闪存芯片,所述扫描闪存芯片的方法包括:1)所述控制芯片判断所述闪存芯片是否已经低级格式化;2)如果判断所述闪存芯片未进行过低级格式化,则所述控制芯片判断所述闪存芯片的所有物理块是否可用,并对不可用的物理块进行标记;3)所述控制芯片对所述闪存芯片设置已进行了低级格式化的标记。采用本发明的方法,用户更换闪存芯片后,由闪存盘中的控制芯片中的固件自动进行格式化操作。此后用户可以直接使用新的闪存盘,整个过程不需要用户使用任何其他软件,极大地方便了用户。
Description
技术领域
本发明涉及闪存盘的数据存储技术,特别涉及一种扫描闪存盘的闪存芯片的方法。
背景技术
在目前的市场上,闪存盘产品绝大部分都是由控制芯片、闪存芯片(flash)及其外围元器件组成。用户购买到的产品都是经过生产厂家做过低级格式化以及高级格式化这些步骤后出厂的。所谓的低级格式化包括对闪存芯片物理块好坏的判断、以及写入相关厂商信息等。其具体的处理流程可参见中国专利申请02116150.X。所谓的高级格式化,就是把文件系统写入到闪存芯片里。
随着闪存盘越来越普及,消费者需要存储的数据越来越多,因此消费者对闪存盘的容量需求越来越大。闪存芯片的价格也是随市场变化而波动的。很多消费者想更换闪存芯片来改变闪存盘的容量。可更换闪存芯片的技术可参见例如本申请人的第03159669.X号中国专利申请“存储介质固定装置及使用该固定装置的移动存储器”,以及第200310115102.X号中国专利申请“移动存储装置的数据管理方法”等。本说明书引入以上列举文献的内容作为参考。
但是,由于生产厂家一般只向用户提供高级格式化工具,并不提供低级格式化工具给用户。因此,即使消费者更改了闪存芯片,由于没有对闪存芯片物理块进行好、坏(即物理块的所有存储数据的页中是否存在有缺陷的不可读写部分)的判断及标记,用户制作自己的产品往往无法正常使用,甚至根本不能使用。因此当消费者需要其他容量的闪存盘时,就必须重新购买整个闪存盘。造成了用户的重复购置。
另一方面,即使厂商把低级格式化工具提供给用户,由于不同厂商提供的低级格式化工具都有一定的使用前提,例如需要先识别到一些特殊的字符如PID、VID或其他自定义命令等,否则厂商提供的工具无法识别闪存盘。因此,用户更换闪存芯片后,厂商提供的低级格式化工具可能无法在该盘上使用,从而使闪存芯片无法通用,而当前闪存盘品牌种类繁多,用户使用的闪存盘如果不只一个,就很容易弄错。这也给用户造成了很大的麻烦。
发明内容
因此,本发明的目的是提供一种利用固化在控制芯片里的软件(也可称为“固件”)实现闪存芯片低级格式化(在本说明书中也称为“扫描”,二者同义)的方法,以克服现有技术的上述缺陷。
为实现上述目的,本发明提供了一种采用闪存盘的控制芯片中的固件方式对闪存盘的闪存芯片进行扫描的方法,所述闪存盘包括控制芯片和闪存芯片,所述扫描闪存芯片的方法包括:1)所述控制芯片判断所述闪存芯片是否已经低级格式化;2)如果判断所述闪存芯片未进行过低级格式化,则所述控制芯片判断所述闪存芯片的所有物理块是否可用,并对不可用的物理块进行标记;3)所述控制芯片对所述闪存芯片设置已进行了低级格式化的标记。
优选地,判断所述物理块是否可用的方法包括:向物理块内所有的物理页写入测试数据,再从该物理块内读出所有物理页内所有的数据,并将读取的数据与写入的数据进行比较;如果读出的数据与写入的数据完全一致,则确定该物理块可用;如果读出的数据与写入的数据不一致,则确定该物理块为坏块。
根据本发明的另一种优选方案,判断所述物理块是否可用的方法可包括:向物理块内所有的物理页写入测试数据,再从该物理块内读出所有物理页内写入的数据,并将读取的数据与写入的数据进行比较;重复上述过程预定的次数,如果每次读出的数据与写入的数据都完全一致,那么认为该物理块可用;如果某次读出的数据与写入的数据不一致,则将该物理块确定为坏块。
采用本发明的方法,用户更换闪存芯片后,将新的闪存盘与电脑或其他符合USB协议规定的直流电源相连,固件程序进行相应的判断,如果检查到新更换的闪存芯片需要进行低级格式化和高级格式化,固件程序将自动进行操作。操作完成后,用户可以直接使用新的闪存盘,整个过程不需要用户使用任何其他软件,极大地方便了用户。
附图说明
图1是本发明的扫描闪存芯片的方法的一个实施例的流程图;
图2是对图1所示的当前芯片进行扫描的一个实施例的流程图。
具体实施方式
下面结合附图详细介绍本发明,附图仅用于说明,不是对本发明专利保护范围的限制。
本发明是针对可以随意更换闪存芯片的闪存盘而提供的一种扫描闪存芯片的方法,可采用内嵌式软件(即固件)实现。为此,适用于本发明的闪存盘至少应具备控制芯片和闪存芯片。
由于本发明适用的对象是可更换闪存芯片的闪存盘,因此对闪存芯片的低级格式化采用了全面扫描方式。全面扫描方式是针对闪存芯片已经进行过写操作、闪存芯片厂商的特殊标记可能已经被破坏的情况,需要判断整个闪存盘内的所有闪存芯片里的每一个物理块(Block)。在判断每一个物理块时,都需要先擦除该物理块,然后向该物理块的每一个扇区(Sector)都写入测试数据,再读出该数据,如果写入的数据和读出的数据不一致,则认为该物理块是坏块,要将其标记成坏块;如果这个物理块不是坏块,则将写入的测试数据擦除即可。整个闪存盘内的闪存芯片里的物理块都扫描完成后,需要在闪存芯片里取出一个或若干个不是坏块的物理块,用来记录扫描状态已经完成,同时写入厂商特定的信息。这样闪存盘再次接入电源的时候,控制芯片会检查到该闪存芯片已经过扫描,就不会再次重复全面扫描操作了。进行完低级格式化后,控制芯片将文件系统的相关数据写入到闪存芯片内,实现闪存盘的高级格式化。在这些操作完成后,用户就可以直接使用该更换闪存芯片后的闪存盘了。
图1是本发明的扫描闪存芯片的方法的一个实施例的流程图,如图1所示,闪存盘更换闪存芯片后,根据本发明的方法,按照如下流程对其进行低级格式化:
在步骤101,在闪存盘上电后,判断是否需要全面扫描。上电可通过使闪存盘与电脑相连或与符合USB协议的直流电源相连而实现。判断是否需要扫描可通过判断闪存盘的每一个闪存芯片特定区域内是否有已经低级格式化的标记来实现。低级格式化的标记方式以及标记的位置可以不一样。但是该标记方式以及标记的位置应符合一定的协议。这里说的“一定的协议”是闪存盘开发厂商自己定义的程序开发规则。各厂商的协议可以是不一样的,是为了保证每个厂商可以实现不同的特色功能。按照协议的规定,每一个标记在闪存芯片的某个区域内都有特别的表现形式(如特殊的字符串)可以被固件识别到。在上电的时候,固件程序会按照协议中定义的形式在协议中定义的区域进行搜索。例如某一个物理块符合协议中的表现形式一一符合字符串“Netac Floppy DiskFirmware”,但是这些字符串不是在协议中规定的第一个闪存芯片的第100至第120个物理块内。对于这种情况,固件程序一样认为这个闪存芯片没有标记,需要全面扫描。闪存盘中的每一片闪存芯片都需要有这个标记,只要有一片闪存芯片没有该标记,就需要对没有标记的闪存芯片进行全面扫描,如果有已经低级格式化的标记,则不再进行扫描处理。
如果通过判断确定闪存芯片没有低级格式化的标记,则执行步骤102,确定闪存盘内未低级格式化的闪存芯片的数量和各芯片的容量,擦除该闪存盘里所有未低级格式化的闪存芯片的物理块。
然后取第一个闪存芯片(步骤103),对该芯片进行低级格式化(步骤104),在完成该闪存芯片的低级格式化之后,将闪存数目加1,取下一闪存芯片(步骤105),对该芯片进行低级格式化,直到所有的需低级格式化的闪存芯片格式化完毕(步骤106)。随后,在特定的区域写入厂商自定义信息(步骤107)。厂商自定义信息应该包括每一个闪存芯片是否被低级格式化过。因为用户完全有可能更换该闪存盘里的任何一个闪存芯片。“厂商自定义信息”还可以包括PID、VID等厂商信息,以方便Win98驱动程序或其他应用软件识别。闪存盘厂商可以通过修改该区域内的信息来形成不同类型的产品。最后,再将FAT(文件分配表)文件系统写入闪存,按照常规的方法进行高级格式化(步骤108)。
图2示出了进行当前芯片低级格式化(扫描)的一个具体的流程。如图2所示,首先,在步骤201中,取第0个物理块。随后对其进行是否可用判断,具体地在步骤202,向物理块内所有的物理页写入测试数据,写操作完成后,再读出该物理块的所有物理页内所有的数据(步骤203),并与写入的数据进行比较(步骤204)。如果读出的数据与写入的数据完全一致,那么认为该物理块可用。此时将该物理块全部擦除,使其为空(步骤205)。
如果读出的数据与写入的数据不一致,那么认为该物理块为坏块,是不可用的。在该物理块的特定页(例如第0个物理页)的冗余区将该物理块标记成坏块格式(步骤206)。
随后,将物理块数目加1,即取下一物理块进行判断(步骤207),直到步骤207所得到的物理块数目不小于总的物理块数目为止(步骤208)。
最后,在步骤209中,在闪存芯片的特定区域内写入表示该闪存芯片已完成低级格式化的信息。
在本发明的上述实施方式中,在对一个物理块进行是否可用的判断时,写入测试数据可以是写入一次或者写入多次数据。显然,在多次写入数据的情况,对应的读操作和比较操作也需要执行相应次数。
在一个实施例中,在多次写入测试数据的情况下,则执行如下步骤:先按照上述步骤202-204执行物理块的写数据、读数据和数据比较操作。其中,如果读出的数据与写入的数据一致,那么先擦除该物理块,再进行下一次的其他测试数据的写操作、读操作以及判断。如果在执行预定次数的上述操作后,比较读出的数据与写入的数据都是一致的,则判断该物理块是好块(步骤205)。优选将该物理块擦除。相反,在这多次写入测试数据的过程中,只要有一次读出的数据与写入的数据不一致,即可认为该物理块是坏块,需要将该物理块标记成坏块(步骤206)。此后,再执行后序的步骤207。
另外,对当前闪存芯片的扫描,在本发明的另一实施例中,不是逐个物理块地写入读出进行判断,而是先把所有的物理块全部都写入测试数据,然后再逐个去判断每一个物理块是否可用。在多次写入数据的情况下,第二次(含)以后的写入需要判断哪一个是坏块,不需要对坏块再写测试数据了。类似的方式还有多种,例如可以一次几页地或一次几块地进行判断等,对本领域的技术人员来说,这些判断方法对于本领域技术人员都是显而易见的,本文不予赘述。
另外,在步骤206中,将物理块标记为坏块的操作可以是先将该物理块擦除,然后再将其标记成坏块;也可以不擦除,直接将该冗余区的数据标记成程序可以将该物理块识别成坏块的格式。
利用本发明,用户可以根据实际需要通过更换闪存芯片来获得新的容量的闪存盘,避免重复购置闪存盘;在更换闪存芯片过程中,固件程序自动检测闪存芯片的可用性并对闪存芯片内的物理块进行标记,大大节省了用户时间,方便了用户。
以上所述仅为本发明的优选实施方式,本领域技术人员可以理解,这些实施方案不应构成对本发明专利保护范围的限制,凡在本发明的说明书及附图所公开内容的基础上进行的等效结构变换,都包括在本发明的权利要求书所限定的本发明的专利保护范围内。
Claims (10)
1.一种扫描闪存盘的闪存芯片的方法,所述闪存盘包括控制芯片和闪存芯片,所述方法包括:
1)所述控制芯片判断所述闪存芯片是否已经低级格式化;
2)如果所述控制芯片判断所述闪存芯片未进行过低级格式化,则判断所述闪存芯片的所有物理块是否可用,并对不可用的物理块进行标记;然后
3)所述控制芯片对所述闪存芯片设置已进行了低级格式化的标记。
2.根据权利要求1所述的方法,其特征在于,判断所述物理块是否可用的步骤包括:
2-1)向物理块内所有的物理页写入测试数据;
2-2)从所述物理块内的所有物理页内读出所述写入的测试数据,并与写入的数据进行比较;
2-3)将读出的数据与写入的数据完全一致的物理块判断为可用的物理块。
3.根据权利要求1所述的方法,其特征在于,判断所述物理块是否可用的步骤包括:
2-1’)向物理块内所有的物理页写入测试数据;
2-2’)从所述物理块内的所有物理页内读出写入的数据,并与写入的数据进行比较;
2-3’)如果读出的数据与写入的数据完全一致,则重复步骤2-1’)和2-2’)预定次数;
2-4’)如果在2-3’)中每次读出的数据与写入的数据都完全一致,则判断被读写的物理块可用。
4.根据权利要求2所述的方法,其特征在于,对坏物理块的标记设置在该物理块的特定物理页的冗余区中。
5.根据权利要求4所述的方法,其特征在于,在步骤2-1)之前,先判断所述闪存芯片的容量。
6.根据权利要求3所述的方法,其特征在于,对坏物理块的标记设置在该物理块的特定物理页的冗余区中。
7.根据权利要求6所述的方法,其特征在于,在步骤2-1’)之前,先判断所述闪存芯片的容量。
8.根据权利要求1至7任一项所述的方法,其特征在于,进一步包括擦除写入可用物理块中的测试数据的步骤。
9.根据权利要求8所述的方法,其特征在于,在判断所述闪存芯片的所有物理块是否可用之前,擦除所述闪存芯片的所有物理块中的数据。
10.根据权利要求1至7任一项所述的方法,其特征在于,在判断所述闪存芯片的所有物理块是否可用之前,擦除所述闪存芯片的所有物理块中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410071004 CN1728284B (zh) | 2004-07-26 | 2004-07-26 | 一种扫描闪存盘的闪存芯片的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410071004 CN1728284B (zh) | 2004-07-26 | 2004-07-26 | 一种扫描闪存盘的闪存芯片的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1728284A true CN1728284A (zh) | 2006-02-01 |
CN1728284B CN1728284B (zh) | 2012-08-22 |
Family
ID=35927488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410071004 Active CN1728284B (zh) | 2004-07-26 | 2004-07-26 | 一种扫描闪存盘的闪存芯片的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1728284B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710302B (zh) * | 2009-01-09 | 2011-08-17 | 深圳市江波龙电子有限公司 | 基于NandFlash存储介质的固件程序检测方法 |
CN101369463B (zh) * | 2007-08-17 | 2012-12-12 | 深圳芯邦科技股份有限公司 | 闪存检测分类方法 |
CN101540205B (zh) * | 2008-03-21 | 2013-03-27 | 深圳市朗科科技股份有限公司 | 闪存扫描方法 |
CN101562051B (zh) * | 2008-04-18 | 2013-05-01 | 深圳市朗科科技股份有限公司 | 闪存介质扫描方法 |
CN103678055A (zh) * | 2012-09-14 | 2014-03-26 | 成都林海电子有限责任公司 | Pcie总线设备存储空间性能测试方法 |
CN103927128A (zh) * | 2013-07-11 | 2014-07-16 | 威盛电子股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN101567220B (zh) * | 2008-04-22 | 2016-08-24 | 群联电子股份有限公司 | 闪存的损坏区块辨识方法、储存系统及其控制器 |
CN111696598A (zh) * | 2020-06-12 | 2020-09-22 | 合肥沛睿微电子股份有限公司 | 存储装置及其低级格式化方法 |
CN117931091A (zh) * | 2024-03-19 | 2024-04-26 | 苏州元脑智能科技有限公司 | 一种异常掉电处理方法、装置、设备、介质及产品 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3893005B2 (ja) * | 2000-01-06 | 2007-03-14 | 富士通株式会社 | 不揮発性半導体記憶装置 |
CN1452070A (zh) * | 2002-04-19 | 2003-10-29 | 群联电子股份有限公司 | 储存装置内快闪存储器的低阶处理流程及其装置 |
US7171536B2 (en) * | 2002-10-28 | 2007-01-30 | Sandisk Corporation | Unusable block management within a non-volatile memory system |
-
2004
- 2004-07-26 CN CN 200410071004 patent/CN1728284B/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369463B (zh) * | 2007-08-17 | 2012-12-12 | 深圳芯邦科技股份有限公司 | 闪存检测分类方法 |
CN101540205B (zh) * | 2008-03-21 | 2013-03-27 | 深圳市朗科科技股份有限公司 | 闪存扫描方法 |
CN101562051B (zh) * | 2008-04-18 | 2013-05-01 | 深圳市朗科科技股份有限公司 | 闪存介质扫描方法 |
CN101567220B (zh) * | 2008-04-22 | 2016-08-24 | 群联电子股份有限公司 | 闪存的损坏区块辨识方法、储存系统及其控制器 |
CN101710302B (zh) * | 2009-01-09 | 2011-08-17 | 深圳市江波龙电子有限公司 | 基于NandFlash存储介质的固件程序检测方法 |
CN103678055A (zh) * | 2012-09-14 | 2014-03-26 | 成都林海电子有限责任公司 | Pcie总线设备存储空间性能测试方法 |
CN103927128A (zh) * | 2013-07-11 | 2014-07-16 | 威盛电子股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN103927128B (zh) * | 2013-07-11 | 2017-03-01 | 威盛电子股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN111696598A (zh) * | 2020-06-12 | 2020-09-22 | 合肥沛睿微电子股份有限公司 | 存储装置及其低级格式化方法 |
CN111696598B (zh) * | 2020-06-12 | 2022-04-26 | 合肥沛睿微电子股份有限公司 | 存储装置及其低级格式化方法 |
CN117931091A (zh) * | 2024-03-19 | 2024-04-26 | 苏州元脑智能科技有限公司 | 一种异常掉电处理方法、装置、设备、介质及产品 |
CN117931091B (zh) * | 2024-03-19 | 2024-05-24 | 苏州元脑智能科技有限公司 | 一种异常掉电处理方法、装置、设备、介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN1728284B (zh) | 2012-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1211735C (zh) | 硬件设备驱动程序的安装方法 | |
US8230160B2 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
CN1313941C (zh) | 数据处理装置与操作系统进行数据交换的方法 | |
CN1698032A (zh) | 从非线性存储器引导 | |
CN1728284A (zh) | 一种扫描闪存盘的闪存芯片的方法 | |
CN111949220B (zh) | 存储设备异常断电恢复方法及存储设备 | |
CN1719540A (zh) | 在光学介质内嵌入光学驱动器兼容性信息的系统和方法 | |
CN101008940A (zh) | 自动处理字体缺失的方法与装置 | |
US20110004719A1 (en) | Memory Element | |
US6671744B1 (en) | Access control method for drive units, and a drive unit using the method | |
US20040194062A1 (en) | Data storage system and method for testing the same | |
CN1245682C (zh) | 一种计算机芯片资料写入装置及方法 | |
CN100533418C (zh) | 用于修改版本标识寄存器的内容的方法和装置 | |
CN110415756B (zh) | 一种测试ssd标签信息的方法及其装置 | |
US6771171B2 (en) | Atomic virtual document generation and tagging | |
JP2004264912A (ja) | 記録媒体の記録制御方法および記録媒体の記録制御装置 | |
CN1248094C (zh) | 可储存资料的鼠标装置 | |
CN1904833A (zh) | 更新存储卡固件的方法 | |
CN1455343A (zh) | 防止覆写dmi数据中外围端子的mac地址的方法 | |
US20050132125A1 (en) | Linking method under mother and child block architecture for building check area and logic page of the child block | |
CN101344850A (zh) | 基于移动设备存储卡来更新闪存操作系统的方法 | |
US7773534B2 (en) | Computer communication interface transmission control codes analyzing method and system | |
CN1288570C (zh) | 一种在线软件升级电路及其方法 | |
CN1260660C (zh) | 外接装置传输介面控制方法及相关装置 | |
CN1149482C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |