存储介质的数据读取方法和设备的制作方法

文档序号:6373094阅读:166来源:国知局
专利名称:存储介质的数据读取方法和设备的制作方法
技术领域
本发明涉及数据存储领域,尤其涉及一种存储介质的数据读取方法和设备。
背景技术
作为ー个开源代码并且免费的操作系统,Linux系统已经广泛应用在各种嵌入式领域。通用串行总线(Univeral Serial Bus,USB)由于其高速的传输速度以及在行业内的通用性,已经成为嵌入式设备与其他设备通信的极为重要的方法。tヒ如,使用Linux操作系统的手持设备(例如手机)通过USB与上位机(比如PC机)连接后,可以高速的传递数据,又可以用来充电等,使手持设备可以发挥存储设备,无线网卡以及调试等多种功能。
目前,手持设备通过USB与PC机连接后,向PC机传递数据的流程大致如下步骤ー PC机向手持设备发送数据读取指令;步骤ニ 手持设备接收到数据读取指令后,对该数据读取指令进行解析,得到用来存储数据的存储介质(例如TF卡)的地址信息等;步骤三手持设备调用fat文件系统,由于fat文件系统管理有手持设备内各存储介质的信息,因此fat文件系统可以根据解析得到的地址信息找到对应的存储介质,并通过执行读操作读取存储介质中的数据,将读取到的数据送到USB ;USB将数据传递给PC机;步骤四PC机接收到USB传递过来的数据后,执行对该数据的显示操作等。将使用Linux操作系统的手持设备中能够通过USB向PC机传递数据的存储介质,称为Linux下的USB挂载介质。对Linux下的USB挂载介质的要求是,能透过fat文件系统对该介质进行访问,这就对存储介质本身増加了限制,对于通常用于嵌入式设备的其他存储介质来说,比如nand flash,由于其存储结构等的限制,无法加载fat文件系统,因而无法将该存储介质作为USB挂载介质与PC机进行通信。

发明内容
本发明实施例提供一种存储介质的数据读取方法和设备,用于解决手持设备中的存储介质由于无法加载fat文件系统而无法作为USB挂载介质与上位机进行通信的问题。一种存储介质的数据读取方法,该存储介质包含至少ー个存储器エ艺设备mtd分区,每个mtd分区包含至少ー个块,该方法包括手持设备在通过通用串行总线USB与上位机连接后,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到所述mtd分区中存储有所述预制内容的块的信息;手持设备接收上位机的查询命令,将所述块的信息上报给上位机;手持设备接收上位机的读取命令,该读取命令中携帯上位机根据所述块的信息生成的逻辑块地址LBA信息,确定该LBA信息所指向的所述mtd分区中的块,读取确定的块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。
一种手持设备,包括存储介质,该存储介质包含至少ー个存储器エ艺设备mtd分区,每个mtd分区包含至少ー个块,该手持设备还包括信息获取单元,用于在该手持设备通过通用串行总线USB与上位机连接后,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到所述mtd分区中存储有所述预制内容的块的信息;信息上报单元,用于接收上位机的查询命令,将所述块的信息上报给上位机;数据读取上报单元,用于接收上位机的读取命令,该读取命令中携帯上位机根据所述块的信息生成的逻辑块地址LBA信息,确定该LBA信息所指向的所述mtd分区中的块,读取确定的块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。本方案中,手持设备在通过USB与上位机连接后,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到该mtd分区中存储有预制内容的 块的信息,在接收到上位机的查询命令后,将该块的信息上报给上位机,在接收到上位机的读取命令后,确定该读取命令中携帯的根据该块的信息生成的LBA信息所指向的存储有预制内容的块,读取该块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。可见,本方案中实现了上位机对手持设备中的存储介质的读取操作,并且该过程中不需要加载fat文件系统,从而解决了手持设备中的存储介质由于无法加载fat文件系统而无法作为USB挂载介质与上位机进行通信的问题。


图I为本发明实施例提供的方法流程示意图;图2为本发明实施例的数据读取流程示意图;图3为本发明实施例提供的设备结构示意图。
具体实施例方式为了解决手持设备中的存储介质由于无法加载fat文件系统而无法作为USB挂载介质与上位机进行通信的问题,本发明实施例提供一种存储介质的数据读取方法。该存储介质包含至少ー个存储器エ艺设备(mtd)分区,每个mtd分区包含至少ー个块,每个块包含至少包含一个页。參见图1,本发明实施例提供的存储介质的数据读取方法,包括以下步骤步骤10 :手持设备在通过USB与上位机连接后,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到该mtd分区中存储有预制内容的块的信息,具体可以包括存储有预制内容的块的个数;步骤11 :手持设备接收上位机的查询命令,将该块的信息上报给上位机;步骤12 :手持设备接收上位机的读取命令,该读取命令中携带上位机根据该块的信息生成的逻辑块地址(LBA)信息,确定该LBA信息所指向的存储有预制内容的mtd分区中的块,读取确定的块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。较佳的,在手持设备通过USB与上位机连接后、且获取该手持设备的存储介质中存储有预制内容的mtd分区的地址之前,手持设备在上位机对该手持设备的枚举过程中通知上位机该手持设备的设备类型为只读类型。该只读类型可以为光盘cdrom等。
具体的,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到该mtd分区中存储有预制内容的块的信息,具体实现方法可以如下手持设备的内核层向用户层上报USB插入事件,用户层接收到该USB插入事件后,从维护的mtd分区列表中读取存储有预制内容的mtd分区的地址,并将读取到的mtd分区的地址发送给内核层;内核层接收用户层发送的所述mtd分区的地址,执行对该地址对应的mtd分区的读操作,得到所述mtd分区中存储有所述预制内容的块的信息。较佳的,步骤11中手持设备将块的信息上报给上位机的同时,还将存储介质的页的信息发送给上位机,相应的,步骤12中手持设备接收到的读取命令中还可以携帯上位机根据页的信息生成的需要读取的数据量的信息;那么,步骤12中手持设备在将读取的预制内容通过USB传输给上位机后,可以 根据该数据量的信息判断是否已传输上位机需要读取的数据量,若是,则向上位机发送读操作完成命令,否则,继续进行预制内容的读取,并将读取的预制内容通过USB传输给上位机,直到传输给上位机的数据量达到上位机需要读取的数据量。较佳的,在步骤10中手持设备在通过USB与上位机连接之前,手持设备可以获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,对该地址对应的mtd分区进行扫描,根据扫描结果确定该mtd分区中的坏块,并记录坏块的信息;相应的,步骤12中手持设备在确定LBA信息所指向的mtd分区中的块之后、并且读取确定的块中存储的预制内容之前,可以根据记录的坏块的信息,判断该LBA信息所指向的块是否为坏块;在判断该LBA信息所指向的块不为坏块时,读取确定的块中存储的预制内容;在判断该LBA信息所指向的块为坏块时,确定该LBA信息所指向的块的下ー个未被标记为坏块的块,读取该块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。本方法中,存储介质可以为nand flash或嵌入式多媒体存储卡(EmbeddedMultiMediaCard, EMC)等。具体实施例如下本实施例中,需要预先将预制内容烧写到nand flash中的相关mtd分区中,并将该mtd分区的地址信息写入mtd分区列表中。如图2所示,后续流程如下步骤20 :手持设备开机启动后,从维护的mtd分区列表中读取该手持设备的nandflash中存储有预制内容的mtd分区的地址,对该地址对应的mtd分区进行扫描,得到并记录该mtd分区中的坏块的信息,具体可以将坏块的信息记录在静态数组中;这里,对mtd分区进行扫描,得到并记录该mtd分区中的坏块的信息,具体实现可以为通过mtd设备的坏块管理函数对当前分区的每个块进行扫描,如果当前块为坏块,则将此块的地址偏移量増加到ー个坏块数组里,用以在后续读操作时判断当前要读取的块是否为坏块。步骤21 :手持设备通过USB与上位机连接后,上位机建立与USB之间的数据传输通路;手持设备的内核层通过USB通知上位机该手持设备的设备类型为只读类型,比如为cdrom ;上位机执行对该手持设备的枚举过程;
步骤22 :手持设备将mtd分区的地址作为介质挂载点进行加载,具体的,手持设备的内核层向用户层上报USB插入事件,用户层接收到该USB插入事件后,从维护的mtd分区列表中读取存储有预制内容的mtd分区的地址,并将读取到的mtd分区的地址发送给内核层;步骤23 :内核层接收用户层发送的mtd分区的地址,执行对该地址对应的mtd分区的读操作,得到该mtd分区中存储有预制内容的块的个数;存储有预制内容的块的个数会预先被保存在该mtd分区的第一个块中;内核层对读容量命令(Read capacity Command)和读地址命令(Read TocCommand)这两条命令的上报内容进行初始化,以使上位机获得nand flash的正确的页大小和存储有预制内容的块的个数。Read capacity Command是代码为0x25的小型计算机系统接ロ(small computer system interface, scsij 命令,Read Toc Command 是代石与为 0x43的scsi命令。初始化完成后,内核层可以向上位机发送初始化完成的通知; 这里,Read capacity Command的上报内容主要包括存储有预制内容的块的个数和nand flash的页大小。Read Toc Command的上报内容主要包括逻辑块地址(logical blockadressing, LBA)以及分秒巾贞(Minute, Second, Frame, MSF)信息。初始化后的LBA的值等于mtd分区中存储有预制内容的块的个数;MSF信息为将mtd分区中的预制内容作为媒体进行播放的总播放时长信息,总播放时长信息包括帧分、秒、帧信息。步骤24 :上位机向手持设备依次发送Read capacity Command和ReadTocCommand这两条命令;手持设备接收到Read capacity Command后,将初始化后的mtd分区中存储有预制内容的块的个数以及页大小的信息上报给上位机;手持设备接收到Read Toc Command后,将初始化后的LBA信息和MSF信息上报给上位机。步骤25:上位机获得相关信息后,向手持设备发送读取命令,比如read 10命令,以对nand flash进行读操作;读取命令中携帯上位机根据存储有预制内容的块的个数生成的LBA、以及需要读取的数据量的信息;读取命令中携帯的LBA的值为0到步骤24中手持设备发送的mtd分区中存储有预制内容的块的个数之间的整数,比如,mtd分区中存储有预制内容的块的个数为5,上位机若需要读取mtd分区中第I个块的内容,则读取命令中携帯的LBA的值为1,若需要读取mtd分区中第2个块的内容,则读取命令中携带的LBA的值为2,依次类推。读取命令中携带的需要读取的数据量为nand flash中页大小或页大小的整数倍,因为是以页为单位读取nand flash中的数据。readlO命令是代码为0x28的scsi命令;手持设备将读取命令中携帯的LBA转换为nand flash上的地址偏移量,并获得上位机需要读取的数据量的大小,转换后的地址偏移量指向上位机需要读的mtd分区中存储有预制内容的块,转换方法如下由于nand flash的块大小一般为2048byte或4096byte,LBA为块的个数,则转换后的地址偏移量等于LBA乘以mtd分区中一个块的大小。步骤26 :手持设备根据步骤20中记录的坏块的信息,判断当前地址偏移量指向的块是否为好块,若是,则到步骤27,否则,到步骤28 ;步骤27 :手持设备读取当前地址偏移量指向的块中ー个页大小的预制内容,将读取的预制内容放入缓存区,到步骤29 ;步骤28 :将当前的地址偏移量更新为当前块的下一个好块的地址偏移量,返回步骤27 ;步骤29 :通过USB将缓存区中的预制内容发送给上位机;步骤30 :手持设备判断当前的读操作是否完成,即判断是否已传输完上位机需要读取的数据量,若是,则到步骤31,否则,到步骤32 这里,手持设备判断当前的读操作是否完成,具体为更新需要读取的数据量,更新后的需要读取的数据量等于更新前的需要读取的数据量-本次读取的数据量;若更新后的需要读取的数据量等于0,则当前的读操作完成,否则未完成。 步骤31 :手持设备向上位机发送读操作完成命令,通知上位机此次读操作完成,本流程结束;步骤32 :将当前的地址偏移量进行更新,更新后的地址偏移量等于更新前的地址偏移量减去页大小,返回步骤26。本实施例中的手持设备可以采用linux2. 6版本的操作系统,nand flash的页大小为2kB,总容量为512MB。本实施例通过直接访问nand flash的方法,配合对scsi命令的配置,使得上位机顺利得到其所需数据,从而完整的读出mtd分区的所有预制内容,以cdrom的方式呈现给用户。由于cdrom只读的特性,所以不会直接对nand flash进行写操作,也就无需对预制内容增加负载均衡算法。通过预制内容到nand flash的操作,降低了手持设备的成本,提供友好的使用方式给用户,扩展了 USB的使用方法。參见图3,本发明实施例还提供ー种手持设备,包括存储介质,该存储介质包含至少ー个存储器エ艺设备mtd分区,每个mtd分区包含至少ー个块,每个块包含至少ー个页;该手持设备还包括信息获取单元31,用于在该手持设备通过通用串行总线USB与上位机连接后,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到所述mtd分区中存储有所述预制内容的块的信息;信息上报单元32,用于接收上位机的查询命令,将所述块的信息上报给上位机;数据读取上报单元33,用于接收上位机的读取命令,该读取命令中携帯上位机根据所述块的信息生成的逻辑块地址LBA信息,确定该LBA信息所指向的所述mtd分区中的块,读取确定的块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。进ー步的,该手持设备还包括类型上报单元34,用于在该手持设备通过USB与上位机连接后、且获取该手持设备的存储介质中存储有预制内容的mtd分区的地址之前,在上位机对该手持设备的枚举过程中通知上位机该手持设备的设备类型为只读类型。进ー步的,所述信息获取单元31包括内核层单元,在该手持设备通过通用串行总线USB与上位机连接后,向用户层单元上报USB插入事件;接收用户层单元发来的mtd分区的地址,执行对该地址对应的mtd分区的读操作,得到所述mtd分区中存储有所述预制内容的块的信息。用户层单元,用于接收到所述USB插入事件后,从维护的mtd分区列表中读取存储有预制内容的mtd分区的地址,并将读取到的mtd分区的地址发送给内核层单元。进ー步的,所述信息上报单元32在将所述块的信息上报给上位机的同时,还将所述存储介质的页的信息发送给上位机;所述读取命令中还携带上位机根据所述页的信息生成的需要读取的数据量的信息;所述数据读取上报单元33还用于在将读取的预制内容通过USB传输给上位机后,根据所述数据量的信息判断是否已传输上位机需要读取的数据量,若是,则向上位机发送读操作完成命令,否则,继续进行预制内容的读取,并将读取的预制内容通过USB传输给上位机,直到传输给上位机的数据量达到所述需要读取的数据量。进ー步的,该手持设备还包括坏块标记单元35,用于在手持设备在通过USB与上位机连接之前,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,对该地址对应的mtd分区进行扫描,根据扫描结果确定该mtd分区中的坏块,并记录坏块的信息;所述数据读取上报单元33还用于在确定该LBA信息所指向的所述mtd分区中的块之后、并且读取确定的块中存储的预制内容之前,根据记录的坏块的信息,判断该LBA信息所指向的块是否为坏块;在判断该LBA信息所指向的块不为坏块时,读取确定的块中存储的预制内容。进ー步的,所述数据读取上报单元33还用于在判断该LBA信息所指向的块为坏块时,确定该LBA信息所指向的块的下ー个未被标记为坏块的块,读取该块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。进ー步的,所述存储介质为nand flash。综上,本发明的有益效果包括本发明实施例提供的方案中,手持设备在通过USB与上位机连接后,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到该mtd分区中存储有预制内容的块的信息,在接收到上位机的查询命令后,将该块的信息上报给上位机,在接收到上位机的读取命令后,确定该读取命令中携带的根据该块的信息生成的LBA信息所指向的存储有预制内容的块,读取该块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。可见,本方案中实现了上位机对手持设备中的存储介质的读取操作,并且该过程中不需要加载fat文件系统,从而解决了手持设备中的存储介质由于无法加载fat文件系统而无法作为USB挂载介质与上位机进行通信的问题。本发明利用cdrom只读的特点,通过USB、cdrom直接挂载mtd分区的通路,建立了上位机通过USB直接访问nand flash的通路,使得大容量的nand flash可以预制内容,且无需加载文件系统。通过USB、cdrom与上位机连接,直接读取mtd分区中的预制内容的方法,降低了手持设备的成本,提高了 nand flash的使用率以及USB挂载介质的多祥性。本发明是參照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每ー流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生ー个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图ー个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种存储介质的数据读取方法,该存储介质包含至少一个存储器工艺设备mtd分区,每个mtd分区包含至少一个块,其特征在于,该方法包括 手持设备在通过通用串行总线USB与上位机连接后,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到所述mtd分区中存储有所述预制内容的块的信息; 手持设备接收上位机的查询命令,将所述块的信息上报给上位机; 手持设备接收上位机的读取命令,该读取命令中携带上位机根据所述块的信息生成的逻辑块地址LBA信息,确定该LBA信息所指向的所述mtd分区中的块,读取确定的块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。
2.如权利要求I所述的方法,其特征在于,在手持设备通过USB与上位机连接后、且获取该手持设备的存储介质中存储有预制内容的mtd分区的地址之前,进一步包括 手持设备通过USB通知上位机该手持设备的设备类型为只读类型。
3.如权利要求I所述的方法,其特征在于,所述获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,具体包括手持设备的内核层向用户层上报USB插入事件,用户层接收到该USB插入事件后,从维护的mtd分区列表中读取存储有预制内容的mtd分区的地址,并将读取到的mtd分区的地址发送给内核层; 所述根据该地址信息得到所述mtd分区中存储有所述预制内容的块的信息,具体包括 内核层接收用户层发送的所述mtd分区的地址,执行对该地址对应的mtd分区的读操作,得到所述mtd分区中存储有所述预制内容的块的信息。
4.如权利要求I所述的方法,其特征在于,所述存储介质中的每个块包含至少一个页;手持设备在将所述块的信息上报给上位机的同时,还将所述存储介质的页的信息发送给上位机;所述读取命令中还携带上位机根据所述页的信息生成的需要读取的数据量的信息; 在将读取的预制内容通过USB传输给上位机后,进一步包括根据所述数据量的信息判断是否已传输上位机需要读取的数据量,若是,则向上位机发送读操作完成命令,否则,继续进行预制内容的读取,并将读取的预制内容通过USB传输给上位机,直到传输给上位机的数据量达到所述需要读取的数据量。
5.如权利要求I所述的方法,其特征在于,在手持设备在通过USB与上位机连接之前,进一步包括手持设备获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,对该地址对应的mtd分区进行扫描,根据扫描结果确定该mtd分区中的坏块,并记录坏块的信息; 在确定该LBA信息所指向的所述mtd分区中的块之后、并且读取确定的块中存储的预制内容之前,进一步包括手持设备根据记录的坏块的信息,判断该LBA信息所指向的块是否为坏块; 所述读取确定的块中存储的预制内容包括在判断该LBA信息所指向的块不为坏块时,读取确定的块中存储的预制内容。
6.如权利要求5所述的方法,其特征在于,在判断该LBA信息所指向的块为坏块时,进一步包括 手持设备确定该LBA信息所指向的块的下一个未被标记为坏块的块,读取该块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。
7.如权利要求1-6中任意一项所述的方法,其特征在于,所述存储介质为nandflash。
8.一种手持设备,包括存储介质,该存储介质包含至少一个存储器工艺设备mtd分区,每个mtd分区包含至少一个块,其特征在于,该手持设备还包括 信息获取单元,用于在该手持设备通过通用串行总线USB与上位机连接后,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,根据该地址信息得到所述mtd分区中存储有所述预制内容的块的信息; 信息上报单元,用于接收上位机的查询命令,将所述块的信息上报给上位机; 数据读取上报单元,用于接收上位机的读取命令,该读取命令中携带上位机根据所述块的信息生成的逻辑块地址LBA信息,确定该LBA信息所指向的所述mtd分区中的块,读取确定的块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。
9.如权利要求8所述的手持设备,其特征在于,该手持设备还包括 类型上报单元,用于在该手持设备通过USB与上位机连接后、且获取该手持设备的存储介质中存储有预制内容的mtd分区的地址之前,通过USB通知上位机该手持设备的设备类型为只读类型。
10.如权利要求8所述的手持设备,其特征在于,所述信息获取单元包括 内核层单元,在该手持设备通过通用串行总线USB与上位机连接后,向用户层单元上报USB插入事件;接收用户层单元发来的mtd分区的地址,执行对该地址对应的mtd分区的读操作,得到所述mtd分区中存储有所述预制内容的块的信息; 用户层单元,用于接收到所述USB插入事件后,从维护的mtd分区列表中读取存储有预制内容的mtd分区的地址,并将读取到的mtd分区的地址发送给内核层单元。
11.如权利要求8所述的手持设备,其特征在于,所述存储介质中的每个块包含至少一个页;所述信息上报单元在将所述块的信息上报给上位机的同时,还将所述存储介质的页的信息发送给上位机;所述读取命令中还携带上位机根据所述页的信息生成的需要读取的数据量的信息; 所述数据读取上报单元还用于在将读取的预制内容通过USB传输给上位机后,根据所述数据量的信息判断是否已传输上位机需要读取的数据量,若是,则向上位机发送读操作完成命令,否则,继续进行预制内容的读取,并将读取的预制内容通过USB传输给上位机,直到传输给上位机的数据量达到所述需要读取的数据量。
12.如权利要求8所述的手持设备,其特征在于,该手持设备还包括 坏块标记单元,用于在手持设备在通过USB与上位机连接之前,获取该手持设备的存储介质中存储有预制内容的mtd分区的地址,对该地址对应的mtd分区进行扫描,根据扫描结果确定该mtd分区中的坏块,并记录坏块的信息; 所述数据读取上报单元还用于在确定该LBA信息所指向的所述mtd分区中的块之后、并且读取确定的块中存储的预制内容之前,根据记录的坏块的信息,判断该LBA信息所指向的块是否为坏块;在判断该LBA信息所指向的块不为坏块时,读取确定的块中存储的预制内容。
13.如权利要求12所述的手持设备,其特征在于,所述数据读取上报单元还用于 在判断该LBA信息所指向的块为坏块时,确定该LBA信息所指向的块的下一个未被标记为坏块的块,读取该块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。
14.如权利要求8-13中任意一项所述的手持设备,其特征在于,所述存储介质为nandflash。
全文摘要
本发明实施例公开了一种存储介质的数据读取方法和设备,涉及数据存储领域,用于解决手持设备中的存储介质无法作为通用串行总线USB挂载介质与上位机进行通信的问题。本发明中,手持设备在通过USB与上位机连接后,获取该手持设备的存储介质的存储器工艺设备mtd分区中存储有预制内容的块的信息,在接收到上位机的查询命令后,将该块的信息上报给上位机,在接收到上位机的读取命令后,确定该读取命令中携带的根据该块的信息生成的逻辑块地址LBA信息所指向的存储有预制内容的块,读取该块中存储的预制内容,并将读取的预制内容通过USB传输给上位机。采用本方案,可以解决所述问题。
文档编号G06F13/38GK102819514SQ201210237930
公开日2012年12月12日 申请日期2012年7月10日 优先权日2012年7月10日
发明者俞茂学 申请人:青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1