CN110968441B - 存储卡存取装置及方法 - Google Patents

存储卡存取装置及方法 Download PDF

Info

Publication number
CN110968441B
CN110968441B CN201811315197.2A CN201811315197A CN110968441B CN 110968441 B CN110968441 B CN 110968441B CN 201811315197 A CN201811315197 A CN 201811315197A CN 110968441 B CN110968441 B CN 110968441B
Authority
CN
China
Prior art keywords
memory card
host
length
host end
access device
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
CN201811315197.2A
Other languages
English (en)
Other versions
CN110968441A (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to US16/256,163 priority Critical patent/US10489335B1/en
Publication of CN110968441A publication Critical patent/CN110968441A/zh
Application granted granted Critical
Publication of CN110968441B publication Critical patent/CN110968441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明的实施例提出一种存储卡存取装置,至少包含处理单元,用于侦测插入于存储卡存取装置的存储卡的逻辑区块长度是否能被主机端支持;以及当侦测到插入的存储卡的逻辑区块长度无法被主机端支持时,为响应从主机端接收到请求感测命令,通过主机端接口回复不能触发后续写入的感测数据给主机端,让主机端不会更新存储卡中的开机区及文件配置表镜像,避免丢失链接到文件的全部或部分重要信息。

Description

存储卡存取装置及方法
技术领域
本发明涉及数据存取技术,尤指一种数据存取控制装置及方法。
背景技术
读卡机是用于协助存储卡及计算机主机端间交互的接口装置,使得计算机主机端可存取存储卡中存储的数据,以及将读取的数据存储于主机端。计算机主机端可通过其通用序列总线(Universal Serial Bus,USB)端口驱动读卡机。存储卡可为CF、SD、microSD或MMC卡等。大部分的读卡机也提供写入数据的能力。为了存取多样使用不同格式的存储卡,读卡机可侦测存储卡的容量及规格,并且据以回报它的基本数据及操作状态给计算器主机端。然而,计算机主机端可能无法支持特定的存储卡容量而错误地存取存储卡中的数据,甚至更糟的是毁损存储卡中的数据。因此,本发明提出一种存储卡存取装置及方法,用以避免存储卡中的数据被毁损。
发明内容
有鉴于此,如何减轻或消除上述相关领域的缺失,实为有待解决的问题。
本发明提供一种存储卡存取装置的实施例,其包含:主机端接口及处理单元。处理单元侦测插入于存储卡存取装置的存储卡的逻辑区块长度是否能被主机端支持;以及当侦测到插入的存储卡的逻辑区块长度无法被主机端支持时,为响应主机端发出的请求感测命令,通过主机端接口回复不能触发后续写入的感测数据给主机端。
本发明另提供一种存储卡存取装置的实施例,其包含:错误预防处理模块及主机端接口驱动模块。错误预防处理模块用于侦测插入于读卡机的存储卡的逻辑区块长度是否能被主机端支持。主机端接口驱动模块用于当侦测到插入的存储卡的逻辑区块长度无法被主机端支持时,为响应主机端发出的请求感测命令,回复不能触发后续写入的感测数据给主机端。
本发明还提供一种存储卡存取方法的实施例,由读卡机的处理单元执行,其包含:侦测插入于读卡机的存储卡的逻辑区块长度是否能被主机端支持;以及当侦测到插入的存储卡的逻辑区块长度无法被主机端支持时,为响应主机端发出的请求感测命令,回复不能触发后续写入的感测数据给主机端。
上述实施例的优点之一,通过回复不能触发后续写入的感测数据给不支持插入的存储卡的逻辑区块长度的主机端,让主机端不会更新存储卡中的开机区及文件配置表镜像,避免丢失链接到文件的全部或部分重要信息。
本发明的其他优点将配合以下的说明和附图进行更详细的解说。
附图说明
图1为依据本发明实施例的数据存取系统示意图。
图2为主机端的方框图。
图3为一些实施方式的主机端及读卡机间的交互顺序图。
图4为依据本发明实施例的读卡机的系统架构图。
图5为依据本发明实施例的存储卡存取方法的流程图。
图6及图7为依据本发明实施例的主机端及读卡机间的交互顺序图。
图8为依据本发明实施例的读卡机中数据存取的软件模块示意图。
【附图标记列表】
110 主机端
130 读卡机
150 存储卡
210、410 处理单元
211 文件系统
213 UFI驱动程序
215 USB驱动程序
230 USB总线
250、420 存储器
312、332 测试单元就绪命令
318 CSW失败信息
322 请求感测命令
328 媒体改变的感测数据
338 CSW通过信息
342 读取容量命令
348 当前容量描述信息
352 读取命令
358 写入命令
450 系统总线
460 USB接口
480 存储卡接口
S510~S545 方法步骤
600 错误预防处理程序
612 读取容量命令
618 读取容量数据回复
628 能够触发主机端后续处理的感测数据
718 不能够触发主机端后续写入的感测数据
810 主机端接口驱动模块
820 存储卡接口驱动模块
830 错误预防处理模块
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示的间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
必须了解的是,当组件描述为“连接“或“耦接“至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接“或“直接耦接“至另一组件时,其中不存在任何中间组件。使用于描述组件之间关系的其他语词也可类似方式解读,例如“介于“相对于“直接介于“,或者是“邻接“相对于“直接邻接“等等。
参考图1。数据存取系统可包含移动电话,作为主机端110。虽然实施例的系统以移动电话为例,本领域技术人员也可以将主机端110应用在其他计算器装置,例如,个人计算机、笔记本计算机(Laptop PC)、平板计算机、数字相机、数字摄影机等。主机端110可使用通用序列总线(Universal Serial Bus,USB)通信协议连接并驱动读卡机130。存储卡150可插入读卡机130中,使得主机端110可通过读卡机130存取存储卡150。读卡机130可为可拆卸式媒体的大量存储子系统(removable-media mass storage subsystem),通过其USB端口连接主机端110。主机端110及读卡机130可通过交换标准定义的命令块(command block)、数据及状态信息彼此通信,如于1998年12月14日发表的Universal Serial Bus MassStorage Class:UFI Command Specification rev.1.0。读卡机130可依据主机端110发出的命令,通过通用闪存存储(Universal Flash Storage UFS)通信协议存取存储卡150中的数据。
参考图2。主机端110可包含处理单元210,以及用于连接读卡机130的USB总线230。当处理单元210加载及执行文件系统211、UFI驱动程序213及USB驱动程序215的软件以及/或固件指令时,完成特定功能。文件系统211执行于特定的操作系统,用于控制如何存储数据至存储卡150,以及从存储卡150读取数据。通过将数据切分成逻辑的片段及给予每个片段名称,容易分离并标识信息。文件系统211使用特定结构(如FAT12、FAT16、FAT32、exFAT等)及逻辑规则管理这些群聚的信息以及它们的名称。UFI驱动程序213通过发送所述标准定义的UFI命令块,控制读卡机130。读卡机130中执行的UFI功能模块,用于处理这些命令块。所有命令块、数据及状态信息的交换,可通过于USB总线230上传递封包实现,而这些交换由USB驱动程序215管理。主机端还包含存储器250,用于存储执行中所需的数据,如变量、数据表、数据结构等。存储器250可为特定类型的随机存取存储器(Random Access MemoryRAM),提供易失性的存储空间。
当存储卡150插入读卡机130时,主机端110及读卡机130间会进行一些交互,用于初始化主机端110及存储卡150间的联机。参考图3。于一些实施方式中,当主机端110侦测到一个设备插入其USB端口时,发送测试单元就绪(TEST UNIT READY)命令312,用以检查插入的设备是否就绪。由于存储卡150尚未插入读卡机130,读卡机130回复CSW失败(fail)信息318给主机端110。主机端110发送请求感测(REQUEST SENSE)命令322,用于指示读卡机130传送指定逻辑单元的感测数据给主机端110。当读卡机130侦测到存储卡150插入读卡机130后,回复介质改变(MEDIA CHANGED)的感测数据328给主机端110。接着,主机端110再一次发送测试单元就绪命令332,再次检查插入的设备是否就绪。由于存储卡150已经插入读卡机130,读卡机130回复CSW通过(pass)信息338给主机端110。接着,主机端110发送读取容量命令342,请求读卡机130提供目前插入介质的容量。读卡机130询问容量信息后,据此产生并回复当前容量描述信息(current capacity descriptor)348给主机端110,例如,其中的第0至3个字节纪录存储卡150可寻址区块总数,而第5至7字节纪录存储卡150中每个逻辑区块的长度(以字节为单位)。每个逻辑区块的长度可为512、1K、2K、4K字节等。于介质初始操作中,主机端110依据读卡机130回报的容量信息计算存储开机区(boot sector)、文件配置表镜像(file allocation table image)等的逻辑地址,并且发出一系列读取(READ)命令352给读卡机130,用以取得存储于这些逻辑地址的开机区、文件配置表镜像等信息。接着,为了后续运作的需要,主机端110修改开机区、文件配置表镜像中的有关内容,并发出一系列写入(WRITE)命令362给读卡机130,用于将更新后的内容存储回存储卡150。
然而,当运行主机端110的操作系统或文件系统211无法支持过长的逻辑区块长度时,更新后的开机区及文件配置表镜像会丢失链接到文件的全部或部分重要信息,造成存储卡150中存储的文件毁损。例如,操作系统或文件系统211只支持512字节而不能支持4K字节的逻辑区块长度。虽然UFI驱动程序213通过USB接口接收到每个逻辑区块长度为4K字节的数据,但是操作系统或文件系统211只会处理每个逻辑区块中前512字节的数据,忽略了之后的3.5K字节的数据,造成写回存储卡150后非预期性地丢失数据。
为解决如上所述的问题,读卡机130需要执行预防机制,避免存储卡150中存储的文件在连结上不支持特定逻辑区块长度的主机端110时被毁损。参考图4,读卡机130至少包含处理单元410,可使用多种方式实施,例如使用专用硬件或通用硬件(如单处理器、具有平行处理能力的多处理器、图形处理器或其他具有运算能力的处理器),并且在执行固件或软件指令(instructions)时,提供如下所述的功能。处理单元可至少包含算数逻辑单元(ALU,Arithmetic and Logic Unit)以及位移器(Bit Shifter)。处理单元110是一种多功能装置,可以执行算数及逻辑功能。算数逻辑单元负责执行数学运算(如加、减、乘、除等)、布尔运算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等)或特殊函数运算(如三角函数、平方、三方、n次方、平方根、三方根、n次方根等)。通常,模式选择输入决定算数逻辑单元执行逻辑运算或算术运算。位移器负责位移运算及比特旋转。存储器420可使用高效总线(high-performancebus)连接处理单元410,用于存储执行中所需的数据,如变量、数据表、数据结构等。存储器420可为特定类型的随机存取存储器,提供易失性的存储空间。
处理单元410、存储器420、USB接口460及存储卡接口480可用系统总线(systembus)450彼此连接,并使用特定通信协议在装置间传递数据。USB接口460可包含USB介质存取控制层(Media Access Control MAC)及USB物理层(Physical layer PHY),用于连接主机端110的USB端口。处理单元410可加载并执行相应的UFI驱动程序及USB驱动程序,用于接收并解译(interpret)主机端110传送的UFI命令(如测试单元就绪、请求感测、读取、写入及抹除命令等)、逻辑区块编号及数据,并且产生及传送UFI信息、描述信息及数据等给主机端110。存储卡接口480可包含主机端控制器(如SD或eMMC主机端控制器),用于连接存储卡150。处理单元410可加载执行相应的UFS驱动程序,用于产生及传送UFS命令(如辨认、读取、写入及抹除命令等)、逻辑区块编号及数据等给存储卡150,并且接收及解译存储卡150传送的完成组件(Completion Element CE)及数据等。
读卡机130可执行错误预防方法,避免发生如上所述的错误。首先,处理单元410侦测插入于读卡机130中的存储卡150的逻辑区块长度是否无法被主机端110支持。当侦测到插入的存储卡150的逻辑区块长度无法被主机端110支持时,为响应从主机端110接收到请求感测命令,通过主机端接口回复不能触发后续处理的感测数据给主机端110。
详细流程可参考图5。当处理单元410通过USB接口460从主机端110接收到请求感测命令后(步骤S510),可通过存储卡接口480询问存储卡130的逻辑区块长度(步骤S520)。于步骤S520,处理单元410可发送读取容量(Read Capacity)命令给存储卡150,用于请求提供存储卡150的当前容量。处理单元410可从存储卡150接收读取容量数据回复(ReadCapacity Data Response),其中的第4至7字节包含其逻辑区块长度。读取容量命令是一种UFS SCSI命令。可理解的是,步骤S520也可以执行于步骤S510之前,本发明并不因此局限。处理单元410可存储读取容量数据回复中的逻辑区块长度至存储器420,直到存储卡150被移出读卡机130。
当处理单元410判断回复的逻辑区块长度为不需要检查的长度,例如4K字节(步骤S530中”否”的路径),则回复能够触发主机端110后续处理的感测数据(Sense Data),例如,指出媒体改变的感测键值(Sense Key)(步骤S535)。感测键值提供用以回报错误及例外状态的基本类型。
当处理单元410判断回复的逻辑区块长度为需要检查的长度且主机端110运行的操作系统及文件系统支持存储卡150的逻辑区块长度(步骤S530中”是”的路径接步骤S540中”是”的路径),则回复能够触发主机端110后续处理的感测数据,例如,指出介质改变的感测键值(步骤S535)。
当处理单元410判断回复的逻辑区块长度为需要检查的长度且主机端110运行的操作系统或文件系统不支持存储卡150的逻辑区块长度(步骤S530中”是”的路径接步骤S540中”否”的路径),则回复不能够触发主机端110后续写入的感测数据,例如,指出介质不存在(MEDIA NOT PRESENT)或介质受写入防护(WRITE PROTECTED MEDIA)的感测键值,防止主机端110更新开机区及文件配置表镜像,造成丢失链接到文件的全部或部分重要信息(步骤S535)。
由于不同的操作系统会使用不同的配置长度,处理单元410可藉由请求感测命令中配置长度(allocation length)的值判断主机端110中运行的操作系统。请求感测命令的配置长度字段描述主机端110能够接收的感测数据的最大字节数目。例如,运行安卓操作系统(Android)、窗口7/10/XP操作系统(Windows7/10/XP)及Mac操作系统的主机端的能够接收的感测数据的最大字节数目为96(也就是”0x60”)、18(也就是”0x12”)及18,而安卓操作系统或其文件系统不支持4K字节的逻辑区块长度。如上所述不支持操作系统或其文件系统与需检查的逻辑区块长度间的映射信息可使用任意的数据结构存储于存储器420,例如数据表、决策规则(decision rules)等,有利于处理单元410判断。于另一些实施例,如上所述的映射信息也可反应在程序码的判断逻辑。于步骤S540,当处理单元410侦测到请求感测命令的配置长度字段中的值为”0x60”时,判断主机端110运行的操作系统或文件系统不支持存储卡150的逻辑区块长度。当处理单元410侦测到请求感测命令的配置长度字段中的值为”0x12”时,判断主机端110运行的操作系统或文件系统支持存储卡150的逻辑区块长度。
参考图6,读卡机可于接收到请求感测命令322时,启动错误预防处理程序600,执行如图5所示的方法流程。于错误预防处理程序600中,处理单元410可通过存储卡接口480发送读取容量命令612给存储卡150,并且从存储卡150接收读取容量数据回复618,用于完成存储卡150的逻辑区块长度的询问。可理解的是,本领域技术人员可将读取容量命令612的发送执行于启动错误预防处理程序600之前,或者,将读取容量命令612的发送及读取容量数据回复618的接收,执行于启动错误预防处理程序600之前,本发明并不因此局限。当处理单元410判断回复的逻辑区块长度为不需要检查的长度(步骤S530中”否”的路径),或回复的逻辑区块长度为需要检查的长度且主机端110运行的操作系统及文件系统支持存储卡150的逻辑区块长度(步骤S530中”是”的路径接步骤S540中”是”的路径),则回复能够触发主机端110后续处理的感测数据628(步骤S535)。后续处理可包含测试单元就绪命令332及读取容量命令342的传送及相应信息338及当前容量描述信息348的接收。后续处理另可包含如上所述开机区及文件配置表镜像的读取、修改及写入。
参考图7,于错误预防处理程序600中,当处理单元410判断回复的逻辑区块长度为需要检查的长度且主机端110运行的操作系统或文件系统不支持存储卡150的逻辑区块长度(步骤S530中”是”的路径接步骤S540中”否”的路径),则回复不能够触发主机端110后续写入的感测数据718,例如,指出介质不存在或写入防护介质的感测键值(步骤S545)。后续写入可包含如上所述开机区及文件配置表镜像的读取、修改及写入。
处理单元410所执行数据存取控制的方法步骤,可使用一个或多个功能模块组成的计算机程序产品来实现。这些功能模块存储于非易失性存储装置,并且可被处理单元410于特定时间点加载并执行。参考图8,处理单元110执行主机端接口驱动模块810以完成步骤S510、S535及S545的操作,执行存储卡接口驱动模块820以完成步骤S520的操作,以及执行错误预防处理模块830以完成步骤S530及S540的操作。主机端接口驱动模块810、存储卡接口驱动模块820及错误预防处理模块830间的数据传递可通过函数调用(function calls)、全局变量(global variables)等完成。主机端接口驱动模块810可包USB接口460的驱动程序,如相应的UFI驱动程序及USB驱动程序,而存储卡接口驱动模块820可包含存储卡接口480的驱动程序,如UFS驱动程序。
本发明所述的方法中的全部或部分步骤可以用计算机程序实现,例如计算机的操作系统、计算机中特定硬件的驱动程序、或软件程序。此外,也可实现于如上所示的其他类型程序。所属技术领域具有通常知识者可将本发明实施例的方法撰写成计算机程序,为求简明不再加以描述。依据本发明实施例方法实施的计算机程序可存储于适当的计算机可读取数据载具,例如DVD、CD-ROM、USB碟、硬盘,亦可置于可通过网络(例如,互联网,或其他适当载具)存取的网络服务器。
虽然图4中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然图5的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属技术领域的技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属技术领域的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明也不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用于限缩本发明。相反地,此发明涵盖了所属技术领域中的技术人员显而易见的修改与相似设置。所以,权利要求书保护的范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。

Claims (10)

1.一种存储卡存取装置,其特征在于,包含:
存储器;
主机端接口,耦接于主机端;以及
处理单元,耦接于所述主机端接口,用于在初始化期间从所述主机端接收请求感测命令后,侦测插入于所述存储卡存取装置的存储卡的逻辑区块长度是否能被所述主机端支持;当所述处理单元判断所述存储卡的所述逻辑区块长度为不需要检查的长度时,为响应所述主机端发出的所述请求感测命令,通过所述主机端接口回复能够触发主机端后续处理的感测数据给所述主机端;当所述处理单元判断所述存储卡的所述逻辑区块长度为需要检查的长度且所述主机端运行的操作系统及文件系统支持所述存储卡的所述逻辑区块长度时,为响应所述主机端发出的所述请求感测命令,通过所述主机端接口回复能够触发主机端后续处理的感测数据给所述主机端;当所述处理单元判断所述存储卡的所述逻辑区块长度为需要检查的长度并且所述主机端运行的操作系统或文件系统不支持所述存储卡的所述逻辑区块长度时,为响应所述主机端发出的所述请求感测命令,通过所述主机端接口回复不能够触发主机端后续写入的所述感测数据给所述主机端;
其中,所述请求感测命令指示所述存储卡存取装置传送指定逻辑单元的感测数据给所述主机端。
2.如权利要求1所述的存储卡存取装置,其特征在于,包含:
存储卡接口,耦接于所述处理单元,
其中,所述处理单元通过所述存储卡接口询问所述存储卡,用于取得所述存储卡的所述逻辑区块长度。
3.如权利要求1所述的存储卡存取装置,其特征在于,能够触发所述主机端后续处理的所述感测数据为指出介质改变的感测键值。
4.如权利要求1所述的存储卡存取装置,其特征在于,不能够触发所述主机端后续写入的所述感测数据为指出介质不存在或介质受写入防护的感测键值。
5.如权利要求1所述的存储卡存取装置,其特征在于,所述处理单元通过侦测所述请求感测命令的配置长度字段中的值来判断所述主机端是否支持所述存储卡的所述逻辑区块长度。
6.一种存储卡存取装置,其特征在于,包含:
错误预防处理模块,用于在初始化期间从主机端接收请求感测命令后,侦测插入于读卡机的存储卡的逻辑区块长度是否能被所述主机端支持;以及
主机端接口驱动模块,当所述错误预防处理模块判断所述存储卡的所述逻辑区块长度为需要检查的长度并且所述主机端运行的操作系统或文件系统不支持所述存储卡的所述逻辑区块长度时,所述主机端接口驱动模块为响应所述主机端发出的所述请求感测命令,回复不能够触发主机端后续写入的感测数据给所述主机端;当所述错误预防处理模块判断所述存储卡的所述逻辑区块长度为需要检查的长度并且所述主机端运行的操作系统或文件系统支持所述存储卡的所述逻辑区块长度时,所述主机端接口驱动模块为响应所述主机端发出的所述请求感测命令,回复能够触发主机端后续处理的感测数据给所述主机端;当所述错误预防处理模块判断所述存储卡的所述逻辑区块长度为不需要检查的长度时,所述主机端接口驱动模块为响应所述主机端发出的所述请求感测命令,回复能够触发主机端后续处理的感测数据给所述主机端;
其中,所述请求感测命令指示所述存储卡存取装置传送指定逻辑单元的感测数据给所述主机端。
7.如权利要求6所述的存储卡存取装置,其特征在于,包含:
存储卡接口驱动模块,用于询问所述存储卡,取得所述存储卡的所述逻辑区块长度。
8.如权利要求6所述的存储卡存取装置,其特征在于,不能够触发所述主机端后续写入的所述感测数据为指出介质不存在或介质受写入防护的感测键值。
9.如权利要求6所述的存储卡存取装置,其特征在于,所述错误预防处理模块通过侦测所述请求感测命令的配置长度字段中的值来判断所述主机端是否支持所述存储卡的所述逻辑区块长度。
10.一种存储卡存取方法,由读卡机的处理单元执行,其特征在于,包含:
在初始化期间从主机端接收请求感测命令后,侦测插入于所述读卡机的存储卡的逻辑区块长度是否能被主机端支持;以及
当判断所述存储卡的所述逻辑区块长度为不需要检查的长度时,为响应所述主机端发出的所述请求感测命令,通过主机端接口回复能够触发主机端后续处理的感测数据给所述主机端;当判断所述存储卡的所述逻辑区块长度为需要检查的长度且所述主机端运行的操作系统及文件系统支持所述存储卡的所述逻辑区块长度时,为响应所述主机端发出的所述请求感测命令,通过所述主机端接口回复能够触发主机端后续处理的感测数据给所述主机端;当判断所述存储卡的所述逻辑区块长度为需要检查的长度并且所述主机端运行的操作系统或文件系统不支持所述存储卡的所述逻辑区块长度时,为响应所述主机端发出的所述请求感测命令,通过所述主机端接口回复不能够触发主机端后续写入的感测数据给所述主机端;
其中,所述请求感测命令指示所述存储卡存取装置传送指定逻辑单元的感测数据给所述主机端。
CN201811315197.2A 2018-09-28 2018-11-06 存储卡存取装置及方法 Active CN110968441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/256,163 US10489335B1 (en) 2018-09-28 2019-01-24 Apparatus and method and computer program product for accessing a memory card

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862738405P 2018-09-28 2018-09-28
US62/738,405 2018-09-28

Publications (2)

Publication Number Publication Date
CN110968441A CN110968441A (zh) 2020-04-07
CN110968441B true CN110968441B (zh) 2023-06-06

Family

ID=69942674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811315197.2A Active CN110968441B (zh) 2018-09-28 2018-11-06 存储卡存取装置及方法

Country Status (2)

Country Link
CN (1) CN110968441B (zh)
TW (1) TWI681296B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1804781A (zh) * 2006-01-25 2006-07-19 骆建军 自动调整容量的sd存储卡
CN103092799A (zh) * 2012-12-28 2013-05-08 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作系统的方法
US9804783B1 (en) * 2014-10-17 2017-10-31 Sk Hynix Memory Solutions Inc. Hierarchical host controller for SSD device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI347556B (en) * 2007-07-20 2011-08-21 Usb card reader control device and manufacturing method for the same
TW200933490A (en) * 2008-01-28 2009-08-01 Afa Technologies Inc USB card reader and method of automatically executing program with the USB card reader
TWI386809B (zh) * 2009-03-20 2013-02-21 Aten Int Co Ltd 記憶體整合裝置及方法
TW201040979A (en) * 2009-05-04 2010-11-16 Etrend Electronics Inc Firmware program operating method of small input and output (I/O) device memory card
TW201104470A (en) * 2009-07-29 2011-02-01 Tomtom Int Bv Data storage system and method
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
TW201145178A (en) * 2010-06-09 2011-12-16 Cepa Electronics Group Inc Card reader allowing memory combination and method thereof
CN102789430B (zh) * 2011-05-18 2015-11-18 群联电子股份有限公司 存储器储存装置、其存储器控制器与存取方法
TWI489474B (zh) * 2011-10-25 2015-06-21 Silicon Motion Inc 內嵌閃存卡燒機方法以及測試板、以及內嵌閃存卡
US20150212806A1 (en) * 2014-01-29 2015-07-30 Transcend Information, Inc. Initialization method and initializaion system for storage device
US9454310B2 (en) * 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
TWM489308U (en) * 2014-05-29 2014-11-01 Eclat Forever Machinery Co Ltd Exposure machine
TWI507876B (zh) * 2014-07-21 2015-11-11 Phison Electronics Corp 記憶體儲存裝置及控制方法、記憶體控制電路單元及模組

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1804781A (zh) * 2006-01-25 2006-07-19 骆建军 自动调整容量的sd存储卡
CN103092799A (zh) * 2012-12-28 2013-05-08 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作系统的方法
US9804783B1 (en) * 2014-10-17 2017-10-31 Sk Hynix Memory Solutions Inc. Hierarchical host controller for SSD device

Also Published As

Publication number Publication date
TWI681296B (zh) 2020-01-01
TW202013200A (zh) 2020-04-01
CN110968441A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
KR102147970B1 (ko) 비휘발성 메모리 기반의 스토리지 디바이스의 복구 방법 및 상기 스토리지 디바이스를 포함하는 전자 시스템의 동작 방법
US11216206B2 (en) Method of operating data storage device
KR101395778B1 (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US9448889B2 (en) BIOS failover update with service processor
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
KR102225313B1 (ko) 데이터 저장 장치의 동작 방법
KR20100039182A (ko) 반도체 디스크 장치, 그것을 포함하는 컴퓨팅 시스템, 그리고 그것의 동작 방법
US8180930B2 (en) Information processing device, and device initialization method in the information processing device
US10585822B2 (en) Operation method of host system including storage device and operation method of storage device controller
KR102392844B1 (ko) 메모리 컨트롤러 및 그것을 포함하는 저장 장치
US9870162B2 (en) Method to virtualize PCIe controllers to support boot/hibernation/crash-dump from a spanned virtual disk
US10467018B2 (en) System and method for booting a host device from a mobile device
KR20200089939A (ko) 메모리 시스템 및 그 동작 방법
US10642531B2 (en) Atomic write method for multi-transaction
CN113448489B (zh) 控制闪存卡存取的计算机可读取存储介质、方法及装置
CN110968441B (zh) 存储卡存取装置及方法
US20220179756A1 (en) Computer system and method capable of self-monitoring and restoring an operation of operating system
KR102555800B1 (ko) 스토리지 시스템 및 그 동작 방법
US11256435B2 (en) Method and apparatus for performing data-accessing management in a storage server
US20110296119A1 (en) Stored Data Reading Apparatus, Method and Computer Apparatus
US10795771B2 (en) Information handling system with reduced data loss in block mode
US9639417B2 (en) Storage control apparatus and control method
US10489335B1 (en) Apparatus and method and computer program product for accessing a memory card
EP3504627B1 (en) Read operation redirect
KR20060095133A (ko) 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는방법

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
GR01 Patent grant
GR01 Patent grant