CN1293466C - 用于更新存储卡上固件的系统内编程的实现 - Google Patents

用于更新存储卡上固件的系统内编程的实现 Download PDF

Info

Publication number
CN1293466C
CN1293466C CNB028036344A CN02803634A CN1293466C CN 1293466 C CN1293466 C CN 1293466C CN B028036344 A CNB028036344 A CN B028036344A CN 02803634 A CN02803634 A CN 02803634A CN 1293466 C CN1293466 C CN 1293466C
Authority
CN
China
Prior art keywords
card
firmware
reader
main frame
memory
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.)
Expired - Lifetime
Application number
CNB028036344A
Other languages
English (en)
Other versions
CN1547699A (zh
Inventor
R·张
P·李
F·萨比特-沙尔吉
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Corp
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 SanDisk Corp filed Critical SanDisk Corp
Publication of CN1547699A publication Critical patent/CN1547699A/zh
Application granted granted Critical
Publication of CN1293466C publication Critical patent/CN1293466C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

揭示了用于有效率地使与快闪存储卡有关的固件能够被更新的方法和装置。根据本发明的一个方面,用于更新与记忆存储设备有关的固件的一种方法包括:将新固件提供给主机,并将该新固件从主机发送到与主机进行通信的阅读器。该阅读器与包括所安装的固件的记忆存储设备连接。该方法也包括:将新固件从阅读器发送到记忆存储设备,并将新固件并入记忆存储设备,以便新固件至少局部取代所安装的固件。在一个实施例中,该方法还包括:将新固件嵌入第一个命令。在这种实施例中,将新固件从主机发送到阅读器包括:将第一个命令从主机发送到阅读器。

Description

用于更新存储卡上固件的系统内编程的实现
发明背景
1.发明领域
本发明通常涉及大容量数字数据存储系统。尤其是,本发明涉及用于使用户能够更新与大容量数字数据存储系统(例如,存储卡)有关的固件的各种系统和方法。
2.相关技术的描述
由于非易失存储器系统的物理尺寸小,并且具有被反复重新编程的能力,因此,人们越来越多地使用非易失存储器系统(例如,快闪记忆存储系统)。快闪记忆存储系统精简的物理尺寸促进了在日益普遍的各种设备中使用这类存储系统。使用快闪记忆存储系统的设备包括(但不局限于)数字相机、数字可携式摄像机、数字音乐播放机、手持个人计算机和全球定位设备。具备对快闪记忆存储系统内所包括的非易失存储器反复进行重新编程的能力,就能够使用和再使用快闪记忆存储系统。
当需要更新允许指令在快闪存储器系统(例如,存储卡)上运行的固件时,用户通常将该卡发送回到存储卡的制造商。该制造商可以更新存储卡(例如,“小型快闪”(CF)卡或“安全数字”(SD)卡)上的固件,以便为该卡提供新的特点或修理固件中的故障。通常,制造商可能会使用专用硬件来更新固件。精通该技术领域的人将会理解,被用于更新存储卡中的固件的程序通常很复杂并容易出错。所以,对于存储卡的制造商而言,更新存储卡中的固件常常是一个既耗费时间、又困难重重的过程。
对于制造商而言,更新存储卡中的固件除了耗时、困难以外,还经常会给用户带来不便。特别当用户无法在一段延长的时期内使用存储卡时,将存储卡发送或提供给制造商用于更新以及等候所更新的存储卡返回可能会很不方便。
所以,我们需要的是一种能够使存储卡上的固件被有效地更新的系统。尤其是,需要一种系统和方法,使用户能够有效率地、比较容易地更新存储卡上的固件,而无须将存储卡返回给制造商。
发明概述
本发明涉及一种系统和方法,用于有效率地更新与快闪存储卡有关的固件。根据本发明的一个方面,用于更新与记忆存储设备有关的固件的一种方法包括:将新固件提供给主机,并将该新固件从主机发送到与主机进行通信的阅读器。该阅读器与包括已被安装的固件的记忆存储设备连接。该方法也包括:将新固件从阅读器发送到记忆存储设备,并将新固件并入记忆存储设备,以便新固件至少局部代替已被安装的固件。在一个实施例中,该方法还包括:将新固件嵌入第一个命令。在这种实施例中,将新固件从主机发送到阅读器包括:将第一个命令从主机发送到阅读器。
在另一个实施例中,通过将新固件写入使用主机的记忆存储设备,若将新固件并入记忆存储设备,则可以更新已被安装的固件。在这种实施例中,该方法也可以包括:启用阅读器上的系统内编程功能,这些功能允许新固件被并入记忆存储设备。
允许用户通过使用主机和阅读器来基本上更新记忆存储设备(例如,快闪存储卡)上的固件,这样,可以有效率地执行更新。利用都被布置成支持系统内编程的阅读器和快闪存储卡,卡上固件更新的执行可以不要求相对较多的投资时间。通过软件包将更新提供给用户,并允许该软件包与卡阅读器合作以便将更新提供给存储卡,这样,使存储卡升级的过程也会变得比较简单。
根据本发明的另一个方面,用于更新与存储卡有关的固件的一种系统包括:(除了其上安装有卡上固件的存储卡以外)用于将新的卡上固件提供给存储卡的装置,以及将新的卡上固件并入存储卡以便新的卡上固件至少局部代替已被安装的卡上固件的装置。在一个实施例中,用于将新的卡上固件提供给存储卡的装置包括一个主机和用于允许主机与存储卡连接的装置。该主机将新的卡上固件提供给用于允许主机与存储卡连接的装置,用于允许主机与存储卡连接的装置包括用于将新的卡上固件发送到存储卡的装置。
根据本发明的另一个方面,与阅读器连接的记忆存储设备包括存储数据的一个存储元件和固件。固件与该存储元件合作,以存储数据并执行指令。固件也支持系统内编程功能,这些功能使固件能够被基本上更新,同时,记忆存储设备与阅读器连接。在一个实施例中,记忆存储设备也包括一种接收机制,该机制通过阅读器来接收有关固件的更新。在这种实施例中,固件并入更新,以更新固件。
根据本发明的另一个方面,使存储器设备能够与计算系统进行通信的适配器包括一个端口和固件。该端口被布置成基本上将该存储器设备接纳到适配器中,该固件支持系统内编程功能。这些系统内编程功能包括:使计算系统能够通过适配器来为存储器设备提供有关存储器设备的被更新的固件码。在一个实施例中,适配器是USB阅读器或PC阅读器之一。
通过阅读以下详细的描述并研究各幅附图,将会明白本发明的这些和其他的优点。
附图简述
通过参考以下的描述并结合附图,可以最佳程度地理解本发明。在这些附图中:
图1是根据本发明的一个实施例的一般主机系统的概略图,该主机系统包括一个非易失存储器设备。
图2是根据本发明的一个实施例的计算机系统、阅读器和存储卡的概略图,它们是一个系统的一部分,在该系统中,可以更新与存储卡有关的卡上固件。
图3是根据本发明的一个实施例的程序流程图,展示了与更新卡上的卡上固件的过程有关的各个步骤。
图4a和4b是根据本发明的一个实施例的程序流程图,展示了与更新安全数字存储卡上的固件有关的各个步骤。
图5是根据本发明的一个实施例的程序流程图,展示了与更新”CF”存储卡上的固件有关的各个步骤。
图6a是根据本发明的一个实施例的、与“检查ISP”命令有关的命令描述符块的概略图,“检查ISP”命令适用于具有安全数字存储卡的系统中。
图6b是根据本发明的一个实施例的数据块的概略图,该数据块适用于响应于“检查ISP”命令而将数据从阅读器返回给主机。
图6c是根据本发明的一个实施例的、与“媒体卡执行SD”命令有关的命令描述符块的概略图,“媒体卡执行SD”命令适用于具有安全数字存储卡的系统中。
图7a是根据本发明的一个实施例的、与“媒体卡执行CF”命令有关的命令描述符块的概略图,“媒体卡执行CF”命令适用于具有”CF”存储卡的系统中。
图7b是根据本发明的一个实施例的一个块的概略图,”CF”存储卡可以响应于“媒体卡执行CF”命令而将该块返回给主机。
图8a是根据本发明的一个实施例的、与“检查ISP”命令有关的命令块寄存器数据的概略图,“检查ISP”命令适用于小型快闪卡。
图8b是根据本发明的一个实施例的命令块寄存器数据的概略图,小型快闪卡可以将该命令块寄存器数据返回给阅读器。
图8c是根据本发明的一个实施例的命令块寄存器数据的概略图,当在处理“检查ISP”命令的过程中遇到错误时,可以将该命令块寄存器数据从小型卡发送到阅读器。
图8d是根据本发明的一个实施例的命令块寄存器数据的概略图,可以将该命令块寄存器数据从小型快闪卡(作为“媒体卡执行CF ISP”命令的一部分)发送到阅读器。
图8e是根据本发明的一个实施例的命令块寄存器数据的概略图,可以在小型快闪卡与阅读器之间发送该命令块寄存器数据,这指出:“媒体卡执行CFISP”命令已正常执行。
图8f是根据本发明的一个实施例的命令块寄存器数据的概略图,可以将该命令块寄存器数据从小型快闪卡发送到阅读器,以指出:“媒体卡执行CF ISP”命令还没有正常执行。
实施例的详细描述
对于拥有者或用户而言,用于使快闪存储卡上的固件更新或升级的传统程序经常很不方便,既耗时、又困难。由于制造商通常更新用户所拥有的存储卡上的固件,因此,需要用户将存储卡提供给制造商常常很不方便,因为当存储卡在制造商手中时,用户可能无法使用存储卡。制造商用来更新存储卡上的固件的程序经常十分复杂,因而既耗时、又容易出错。
通过使用户能够基本上更新快闪存储卡上的固件(例如,通过使用用户可获得的计算机和卡阅读器),可以有效率地、(通常)比较方便地执行更新。通过软件包将更新提供给用户,并允许该软件包与卡阅读器合作以便将更新提供给存储卡,这样,使存储卡升级的过程也会变得比较简单。
通常,结合主机系统来使用适用于总系统中的存储卡,总系统允许更新与该存储卡有关的固件。首先参考图1,将描述包括一个非易失存储器设备(例如,”CF”存储卡或“安全数字”(SD)卡)的一般主机系统。主机或计算机系统100通常包括系统总线104,该系统总线允许微处理器108、随机存取存储器(RAM)112和输入/输出电路116进行通信。应该理解,主机系统100通常可以包括其他部件(例如,显示设备和联网设备),这里没有对其进行举例展示。
一般而言,主机系统100可能能够捕获的信息包括(但不局限于)静态图像信息、音频信息和视频图像信息。这种信息可以被实时捕获,并可以用无线方式被传递到主机系统100。主机系统100基本上可以是任何系统,而主机系统100通常是诸如数字相机、摄像机、移动通信设备、音频播放机或视频播放机的一种系统。但是,不言而喻,主机系统100通常实质上可以是存储数据或信息并检索数据或信息的任何系统。
主机系统100也可以是要么只捕获数据、要么只检索数据的一种系统。也就是说,主机系统100可能是一种存储数据的专用系统,也可能是一种读取数据的专用系统。举例来讲,主机系统100可能是只被安排为写入或存储数据的存储复写器。或者,主机系统100可能是诸如MP3播放机的一种设备,它通常被安排为读取或检索数据,而不捕获数据。
非易失存储器设备120(在一个实施例中,它是可移动的非易失存储器设备)被安排为与总线104连接,以存储信息。通常,非易失存储器设备120通过接口130与总线104进行通信。接口130可用于减少总线104上的负载,精通该技术领域的人将会理解这一点。在一个实施例中,接口130可能是阅读器或适配器。
非易失存储器设备120包括非易失存储器124和存储控制系统128。在一个实施例中,可以在单一芯片或管芯上执行非易失存储器设备120。或者,可以在多芯片模块上或在多个离散部件(可以一起被用作非易失存储器设备120)上执行非易失存储器设备120。
非易失存储器124或核心被安排为存储数据,以便可以按需要来存取并读取数据。虽然不言而喻,非易失存储器124中的一些数据可能无法被消除,但是.也可以适当地消除非易失存储器124中所存储的数据。存储数据、读取数据和消除数据的程序通常由存储控制系统128来控制。在一个实施例中,存储控制系统128对非易失存储器124的操作进行管理,以便通过本质上使非易失存储器124的各个部分的磨损程度基本上相等,来切实地将非易失存储器124的寿命延长到极限。
通常将非易失存储器设备120描述为包括存储控制系统128(即存储控制器),但不言而喻,并非所有的非易失存储器设备都包括一个控制器。举例来讲,包括(但不局限于)PC卡、”CF”卡、“多媒体”卡和“安全数字”卡的非易失存储器设备包括控制器,而包括(但局限于)“智能媒体”卡和记忆棒卡的其他非易失存储器设备可能不包括控制器。在一个实施例(其中,非易失存储器设备124不包括控制器)中,可以将与控制器有关的各项功能并入一个单一芯片,精通该技术领域的人将会理解这一点。如前所述,不言而喻,非易失存储器设备120通常可以作为单一芯片设备或多芯片模块来加以执行。
在一个实施例中,主机系统100可能是通过卡阅读器接口将信息存储到非易失存储器设备(例如,存储卡)或从其那里读取信息的一种计算机系统。也就是说,主机系统100可能是使用存储卡来存储数据和读取数据的一种计算机系统。图2是根据本发明的一个实施例的一种计算机系统、阅读器和存储卡的概略图,它们进行合作,以更新与存储卡有关的固件。计算机系统202通常通过阅读器230与存储卡220进行通信。阅读器230通常用作计算机系统202与存储卡220之间的接口,以便使计算机系统202能够将数据存储在存储卡220的存储器224中并从存储器224中检索数据。也就是说,当计算机系统202与存储卡220进行通信以便在计算机系统202与存储卡220之间传递数据时,通过阅读器230来进行通信。阅读器230可以包括一个端口或插座(未示出),它使存储卡220能够用通信联络方式与阅读器230连接,以便阅读器230可以在存储卡220与计算机系统202之间实现通信。
存储卡220包括存储器224和控制器228。存储器224可以包括各个存储元件、块或存储一些信息的单元。控制器228与存储器224连接,以促进来自存储器224的数据的存储和检索。控制器228包括卡上固件229,卡上固件229通过有效地允许使用控制器228来执行或运行指令,可以促进控制器228的操作。对于其中可以使用计算机系统202和阅读器230来更新卡上固件229的一个实施例而言,卡上固件229也包括系统内编程(ISP)支持功能。ISP支持功能通常所提供的功能性使用户基本上能够更新卡上固件299,而不要求将存储卡220返回给制造商用于更新卡上固件299。
阅读器230(例如,可能是“通用串行总线”(USB)阅读器或个人计算机(PC)卡阅读器)包括阅读器固件232,该阅读器固件允许阅读器230运行与阅读器230的操作有关的指令。类似于卡上固件229,阅读器固件232也包括ISP支持功能。也就是说,将阅读器固件232安排为支持卡上固件229的更新或升级。
当确定卡上固件229需要更新或升级(例如,通过来自存储卡220的制造商的通知)时,计算机系统202可以从网络240获得包括新的或被更新的卡上固件的软件210。举例来讲,计算机系统202可以与网络240上的一个网站(与存储卡220的制造商有关联)进行通信,以下载软件210和(在一个实施例中)软件驱动器206。不言而喻,也可以使用媒体存储设备(例如,CD-ROM或软盘)来获得软件210,从而代替通过网络240来获得软件210。
计算机系统202可以与阅读器230合作,使用软件210中所包括的信息来更新卡上固件229。例如,软件210中所包括的新的或被更新的卡上固件基本上可以由计算机系统202从软件210中提取出来,并被提供给使用阅读器230的存储卡220。将被更新的卡上固件提供给存储卡220通常涉及:将被更新的卡上固件作为输入提供给存储卡220(例如,作为到存储卡220的输入/输出端口或接收机制(未示出)的输入)。当阅读器230和存储卡都包括ISP支持功能时,存储卡220可以成功地并入被更新的卡上固件。
当固件被下载时,可以分配一小组ISP代码来处理ISP。不言而喻,一旦开始下载被更新的固件,卡上固件229通常就基本上完成其所有的内部活动。此外,一旦开始下载被更新的卡上固件,卡上固件229可能就无法处理除与读取被更新的卡上固件内容有关的命令和与下载过程有关的命令以外的任何命令。一旦完成下载,存储卡220就可以使用新近安装的固件来执行重置程序。
参考图3,将根据本发明的一个实施例来描述与更新存储卡上的卡上固件有关的一般步骤。更新卡上固件的程序302在步骤306处开始,在该步骤中,包括新的卡上固件(将实质上取代当前在存储卡上的卡上固件)的软件被下载到计算机(即与存储卡进行通信的计算机)上。如以上有关图2的描述,包括新的卡上固件的软件可以从网络被下载到计算机上。
一旦软件被下载,就在步骤310中执行软件,以便将新的卡上固件下载到阅读器上,该阅读器用作计算机与存储卡之间的接口。在一个实施例中,执行软件包括:实际上从软件中提取新的卡上固件,以便新的卡上固件可以被发送或下载到阅读器。在新的卡上固件被下载到阅读器上之后,工艺流程进行到步骤314,其中,阅读器将新的卡上固件发送或下载到存储卡。一接收到或获得新的卡上固件,新的卡上固件就在步骤318中被安装在存储卡上。通常,新的卡上固件取代或增大曾在存储卡上的卡上固件。一旦新的卡上固件被安装在存储卡上,就完成了更新卡上固件的过程。
一般而言,用于更新卡上固件的特殊程序可能会根据正在被更新的存储卡的类型而变化。举例来讲,用于更新SD存储卡的卡上固件的程序可能会不同于用于更新CF存储卡上的卡上固件的程序。将结合图4a和4b来描述用于更新SD存储卡的卡上固件的一个合适的程序,同时,以下将参考图5来描述用于更新CF存储卡的卡上固件的一个合适的程序。
图4a和4b是根据本发明的一个实施例的程序流程图,展示了与更新SD卡上的固件有关的各个步骤。更新SD卡上的固件的程序400在步骤404处开始,在该步骤中,主计算机确定允许该主计算机与SD卡连接的阅读器是否支持ISP。在所描述的实施例中,通过检查阅读器上是否有关于ISP支持的小型计算机系统接口(SCSI)“询问”数据信息,可以进行这种确定。精通该技术领域的人将会理解,SCSI是USB系统使用的一个并行接口标准,用于将外围设备(例如,卡阅读器)连接到计算机。关于SD卡是否支持ISP的确定可以包括:确定卡特殊性数据信息中的一个特定的位是否被加以设置(例如,卡特殊性数据信息中的第九个位是否被设置为“1”)。
不言而喻,与更新SD卡上的固件有关的各个步骤也可以被应用于更新“多媒体”卡(MMC)上的固件。照此,虽然按照SD卡来进行描述,但是,与程序400有关的步骤通常也可以应用于MMC卡。
在步骤408中,确定阅读器是否支持ISP。如果确定阅读器不支持ISP,那么,表示阅读器可能不被用于促进对SD卡上的固件的更新。照此,工艺流程进行到步骤412,其中,提出一个例外,以指出:阅读器不支持ISP。一旦提出该例外,就有效地终止了更新SD卡上的固件的过程。
或者,如果在步骤408中确定阅读器支持ISP,那么,在步骤416中,主机将命令(例如,“SCSI检查ISP”命令)发送到阅读器上的固件,以启用ISP支持。以下将结合图6a来描述“检查ISP”命令的一个实施例。在发送“检查ISP”命令之后,在步骤420中,在阅读器上启用ISP支持。在一个实施例中,启用ISP支持可以包括:响应于“检查ISP”命令,将卡特殊性数据信息中的第12个位设置为“1”。响应于启用ISP支持的命令,阅读器可以将数据结构返回给切实地识别SD卡的相对卡地址(RCA)的主机,以下将参考图6b来讨论这一点。
一旦在阅读器上启用ISP支持,就在步骤424中在SD或MMC卡上启用ISP支持。在一个实施例中,在SD或MMC卡上启用ISP支持可以包括:将具有第20个位组的卡特殊性数据写入(即,指出ISP被支持)使用主机的SD或MMC卡。实行检索的CMD9命令和对卡特殊性数据进行编程的CMD27命令可能切实地被嵌入“SCSI媒体卡执行SD”命令内,以下将结合图6c来讨论这一点。
在卡特殊性数据被写入SD卡或MMC卡之后,在步骤428中将与CMD16有关的块长设置为卡上固件的尺寸,该卡上固件将从主机被转移到SD卡或MMC卡。精通该技术领域的人将会理解,CMD16命令是SD卡和MMC卡所识别的一个标准命令。MMCA技术委员会于2000年1月发表的《多媒体卡系统说明书(2.2版本)》中描述了CMD16命令,该文被包括于此,用作其整体参考。CMD16命令可以被嵌入“媒体卡执行SD”命令内。
在步骤432中,通过使用诸如ACMD24命令的命令(可以被嵌入“媒体卡执行SD”命令内)的阅读器,将CMD16命令和新的卡上固件从主机发送到SD卡。一般而言,ACMD24命令使新的卡上固件能够被写入SD卡。照此,一旦ACMD24命令被SD卡接收到,SD卡实质上就可以安装新的卡上固件。
一旦新的卡上固件被安装在SD卡上,该卡就在步骤436中执行开电重置。也就是说,SD卡有效地重新引导自身,以便使与SD卡有关的初始化代码能够执行,从而切实地对被更新的卡上固件(即包括新的卡上固件的卡上固件)进行初始化。在一个实施例中,由卡上固件执行的开电重置本质上包括:停止使用SD卡,然后重新起动SD卡。在执行开电重置之后,主机在步骤440中将“检查ISP”命令发送给阅读器,以禁止ISP支持。可以通过发送具有被设置为“0”的一个合适的位的“检查ISP”命令,来禁止ISP支持。
一接收到禁止ISP支持的命令,阅读器通常就在步骤444中用电子学方法将自身与主机分离。用电子学方法将阅读器与主机分离可以包括:阅读器使自身与主机的USB总线分离;而用电子学方法将阅读器与主机分离也可以包括:在物理上将阅读器与主机分离。一旦用电子学方法将阅读器与主机分离,阅读器就在步骤448中发送命令给SD卡,以便重新对SD卡进行初始化。CMD0命令可以重置SD卡,而CMD1命令可以激活MMC卡的初始化过程,ACMD41可以激活SD卡。
在SD卡被重新初始化之后,阅读器在步骤452中用电子学方法将自身重新连接到主机。通过在步骤452中用电子学方法将自身重新连接到主机,阅读器可有效地使主机或(尤其是)与主机有关的软件跟作为新设备的SD卡相互作用。换言之,通过在步骤444中对阅读器实行电子分离并在步骤452中对阅读器实行电子再连接,切实地使主机将SD卡视作新设备,因而使SD卡上的被更新的固件能够为主机所识别。一旦阅读器用电子学方法将自身重新连接到主机,就完成了更新SD卡上的卡上固件的过程。
另一种类型的存储卡可以支持ISP,因而包括实质上可以由用户更新的卡上固件,这种存储卡是CF卡。图5是根据本发明的一个实施例的程序流程图,展示了与更新CF卡上的固件有关的各个步骤。将新的卡上固件提供给CF卡的程序500始于步骤504,在该步骤中,主计算机确定允许主计算机与CF卡连接的阅读器是否支持ISP。在所描述的实施例中,通过检查阅读器上是否具备有关ISP支持的“SCSI询问”数据信息,可以进行这种确定。有关CF卡是否支持ISP的确定可以包括:确定包含设备信息的特定字中的一个特定的位是否被适当地加以设置(例如,“识别设备”信息中的第83个字的位零是否被设置为“1”)。
在步骤508中,确定阅读器是否支持ISP。如果确定阅读器不支持ISP,那么,表示可能不使用阅读器来更新CF卡上的固件。因此,工艺流程进行到步骤512,在该步骤中,抛出一个例外,以指出阅读器不支持ISP。一旦抛出该例外,就有效地终止了更新CF卡上的固件的过程。
或者,如果在步骤508中确定阅读器支持ISP,那么,主机将命令(例如,“SCSI检查ISP”命令)发送给阅读器上的固件,以启用ISP支持。以下将结合图8a来描述适用于CF卡的“检查ISP”命令的一个实施例。在发送“检查ISP”命令之后,在步骤520中,在阅读器上启用ISP支持。在一个实施例中,启用ISP支持可以包括:响应于“检查ISP”命令,将“识别设备”信息的第86个字中的位零设置为“1”。
在步骤524中,启用CF卡上的ISP支持。通常,主机发送一个命令给CF卡,该命令使CF卡自身能够接收和并入新固件。在一个实施例中,该命令可能是“媒体卡检查CF ISP”,可能采取被嵌入“SCSI媒体卡执行CF”命令中的“AT连接”(ATA)命令的形式。在该技术领域中众所周知的ATA命令在位于加利福尼亚州的Sunnyvale的SanDisk公司2000年4月所发表的《小型快闪存储卡产品手册》中有所描述,该文被包括于此,用作其整体参考。以下将结合图7a来描述其中嵌入“媒体卡检查CF ISP”命令的一项“SCSI媒体卡执行CF”命令。
一旦启用CF卡上的ISP支持,就在步骤528中将新的卡上固件从主机发送到CF卡。在“媒体卡执行CF ISP”命令(是可以被嵌入“SCSI媒体卡执行CF”命令内的ATA命令)中,可以将新的卡上固件从主机发送到CF卡。在新的卡上固件被发送到CF卡之后,CF卡在步骤532中执行开电重置操作,该步骤禁止CF卡上的ISP支持。然后,工艺流程进行到步骤534,在该步骤中,主机将“检查ISP”命令发送给阅读器,以禁止阅读器上的ISP支持。
在禁止阅读器上的ISP支持之后,阅读器通常在步骤536中用电子学方法将自身与主机分离。一旦用电子学方法将阅读器与主机分离,阅读器就在步骤540中发送命令给CF卡,以便重新对CF卡进行初始化。在一个实施例中,除了重置CF卡以外,阅读器也可以从CF卡中读取新的设备识别信息。从步骤540开始,工艺流程进行到步骤544,在该步骤中,阅读器用电子学方法将自身重新连接到主机。通过用电子学方法将自身重新连接到主机,阅读器有效地使主机或(尤其是)与主机有关的软件跟作为新设备的CF卡相互作用。阅读器一将自身重新连接到主机,就完成了更新CF卡上的卡上固件的过程。
如以上有关图4a和4b的陈述,支持SD卡的ISP的总系统包括“检查ISP”命令的识别。也就是说,与SD卡有关的ISP特点组包括“检查ISP”命令。图6a是根据本发明的一个实施例的“检查ISP”命令的命令描述符块的概略图。“检查ISP”命令描述符块602通常包括12个字节606,每个字节有8个位610。块602与D0h命令代码有关联,并且,它本质上是从主机被发送到阅读器(例如,从主机被发送到与阅读器有关的固件)的SCSI命令的一个部分。
字节606a被安排为包括一个操作代码。字节606k的位610a被安排为启用媒体卡通过命令。也就是说,字节606k的位610a被安排为指出:主机是否可以通过阅读器而切实地直接将命令或软件发送给卡,而不是让主机发送命令给阅读器,阅读器再将该命令发送给卡。在所描述的实施例中,字节606k的位610a或“PASS ENB”域可以被设置为值“1”,以指出媒体卡通过功能性被启用。
通常,由于ISP一般使用通过命令,因此,当启用ISP支持时,启用媒体卡通过功能性。当启用ISP支持时,ISP ENB域(例如,字节606k的位610b)可以被设置为值“1”。于是,在所描述的实施例中,由于ISP使用通过命令,因此,当ISP ENB域被设置为“1”时,PASS ENB域也被设置为“1”。为了禁止ISP支持,可以将ISP ENB域设置为值“0”。
字节606k的位610h是一个“锁位”,它可以被设置为值“1”,以指出:可能无法通过改变ISP ENB域或PASS ENB域来更改ISP模式或支持和媒体卡通过模式(即,使主机能够通过阅读器而切实地直接将卡上固件发送给卡的一种模式)。换言之,字节606k的位610h有效地用于防止在启用ISP模式和媒体卡通过模式方面发生错误。
当ISP ENB域被设置为“1”并且与阅读器有关的固件接收到块602时,阅读器固件可以为ISP处理设置一个内部标志。也就是说,阅读器固件可以将自身配置成启用ISP处理。阅读器固件也可以进行检查,以确定SD卡的卡特殊性数据是否具备ISP支持功能。在将阅读器固件配置成启用ISP处理并且用被设置为“0”的ISP ENB域接收块602或清除块602之后,阅读器固件通常假设对应的卡上固件已被更新,或者,主机终止更新过程。结果,阅读器可以重置卡,将自身与主机的USB总线分离,并将自身重新连接到主机。
在一个实施例中,阅读器可以响应于“检查ISP”命令而将数据块返回给主机。图6b是根据本发明的一个实施例的数据块的概略图,该数据块响应于“检查ISP”命令而被返回给主机。数据块622包括三个字节626,每个字节有8个位630;该数据块从阅读器被发送到主机,作为对所接收的“检查ISP”命令的确认。不言而喻,当接收“检查ISP”命令的阅读器无法支持ISP时,阅读器可以将一个代码返回给主机,该主机指出:“检查ISP”命令实际上曾是无效的。由具有“非法请求”(ILLEGAL REQUEST)的“SCSI传感数据格式”来识别无效命令,值5作为“传感密钥”和“CDB中的无效域”(INVALIDFIELD IN CDB),值24h和00h作为ASC和ASCQ。
数据块622的第一个字节626a包括作为PASS ENB域的位630,这个域指出阅读器是否被安排为指出:在执行“检查ISP”命令之后,是否启用媒体卡通过功能。第一个字节626a中的第二个位630b是ISP ENB域,这个域被安排为指出是否启用ISP支持。通常,PASS ENB域中的值“1”指出媒体卡通过功能被启用,而ISP ENB域中的值“1”指出ISP支持被启用。
字节626a的位630c-f被安排为包含一种媒体卡类型。例如,在一个实施例中,如果卡是标准SD存储卡,则字节626a的位630c-f可以被设置为“001”;而如果卡是MMC卡,则字节626a的位630c-f可以被设置为“010”。在这种实施例中,可以为SD输入-输出(IO)卡将字节626a的位630c-f设置为“011”,可以为个人计算机存储卡国际协会(PCMCIA)卡将字节626a的位630c-f设置为“100”,并且,可以为CF卡将字节626a的位630c-f设置为“101”。不言而喻,与卡型有关的各种代码可以改变。
一些卡型具有有关的RCA。例如,当卡是SD卡时,字节626b和626c可以包括RCA位,这些RCA位被主机用来切实地确保:命令被发送到合适的地址(即与卡有关的地址)。
图6c是根据本发明的一个实施例的“媒体卡执行SD”命令描述符块的概略图。“媒体卡执行SD”命令块652可以被布置在对应的SCSI命令描述符(未示出)内,将该命令块安排为允许主机发送命令给通过阅读器的SD卡,并且,该命令块与D1h命令代码有关联。
块652通常被安排作为被嵌入总SCSI命令的SD命令或包装。字节656a被安排为包含与操作代码有关的信息,在所描述的实施例中,该操作代码与D1h命令代码一致。
被嵌入块652中的SD或MMC命令包括字节656c-j。当阅读器接收块652时,阅读器切实地至少除去嵌入命令的一些部分(即,除去与字节656c-j有关的信息),并将嵌入命令发送到接受的SC卡。嵌入命令包括被存储在字节656c中的一个命令索引。该命令索引切实地将命令保存到SD卡,而被存储在字节656d-g中的命令自变量是到与命令索引有关的命令的自变量。字节656h-j保存与将要从主机被转移的数据量有关的数据传递长度。
块652的字节656k被安排为(例如)在位660e-h中包含一种响应类型,该响应类型指出字节656c中被识别的命令的SD或MMC响应类型。字节656k的位660d被安排为指出数据传递的方向。举例来讲,当字节656k的位660d被设置为值“1”时,可以将数据从阅读器传递到主机;而当字节656k的位660d被设置为值“0”时,可以将数据从主机传递到阅读器。字节656k的位660c被安排为指出一种命令类型,以便当位660c被设置为值“1”时,命令被认为是正常命令,而当位660c被设置为值“0”时,命令被认为是应用命令。当将要检索响应数据时,字节656k的位660b(响应于命令关联字节656c,它指出是否要检索响应数据)可以被设置为值“1”;当不将检索响应数据时,它可以被设置为值“0”。将要被检索的任何响应数据的长度实质上由字节656h-j中所保存的数据传递长度来规定。
一般而言,“媒体卡执行SD”命令开始与块652有关的嵌入SD命令的执行。阅读器或(尤其是)与阅读器有关的固件可以将嵌入命令发送到SD卡,并可以接收任何预期的响应。举例来讲,如果嵌入命令是从SD卡中检索数据的命令,则阅读器通常将会从SD卡读取数据并将该数据传递给主机。如果阅读器不具备被安排装载从主机读取的数据的缓冲器,则阅读器可以从SD卡读取部分数据并将该部分数据传递给主机。通常,对于没有缓冲器的阅读器而言,阅读器将会继续读取并传递部分数据,直到从SD卡所要求的基本上所有的数据都被传递给主机为止。同样,如果嵌入命令是将数据(例如,新的卡上固件)写入SD卡的命令,则阅读器可以从主机读取数据,并且,例如,当阅读器不包括缓冲器时,可以基本上突然或逐渐增量地将数据从主机传递到SD卡。精通该技术领域的人将会理解,通常可以使用实质上任何合适的协议来实现数据传递。在一个实施例中,可以使用遵守X3T10标准的数据传递协议。
适用于SD卡的“媒体卡执行”命令通常不同于适用于CF卡的“媒体卡执行”命令。参考图7a,将根据本发明来描述“媒体卡执行CF”命令的一个实施例,“媒体卡执行CF”命令适合用于允许更新与CF卡有关的固件的系统中。“SCSI媒体卡执行CF”命令的命令描述符块702(通常被嵌入总SCSI命令描述符内)包括12个字节706,每个字节有8个位710。“媒体卡执行CF”命令通常与D2h命令代码一致。字节706a被安排为包含与操作代码有关的信息,在所描述的实施例中,该操作代码与D2h命令代码一致。
实质上,使用ATA任务文件寄存器来填充字节706f-k。换言之,字节706f-k可以对应于ATA命令1F2至1F7,以便与CF卡有关的任务文件寄存器可以作为数据被返回。精通该技术领域的人将会理解,任务文件寄存器可以包括(但不局限于)错误寄存器、扇区计数寄存器、扇区寄存器、柱面低寄存器、柱面高寄存器、设备/磁头寄存器和命令/状态寄存器。通常,字节706f-k可以由阅读器取出,并被发送到CF卡。关于其中数据将从CF卡被传递到阅读器的实施例,寄存器值可以从CF卡中被加以检索,并以图7b中所示的格式通过阅读器被返回给主机。示出:虽然位716c-j通常将具有不同的任务文件寄存器值,但是,如图7b所示的块752包括的位716c-j对应于块702的位c-j。
字节7061被安排为包括位710a,该位指出:启动“媒体卡执行CF”命令的主机是否计划读回ATA任务文件寄存器。当字节7061的位710a被设置为值“1”时,可能会指出:主机实质上计划只读回ATA任务文件寄存器。图7b中表现了被返回的任务文件寄存器的数据格式。将字节7061的第二个位710b安排成被设置为用于读取或输入操作的值“1”,并被设置为用于写入或输出操作的值“0”。字节7061的第三个位710c被安排为指出:是否有将要被传递的数据。
一般而言,除了当字节7061的位710a被设置为值“1”时以外,阅读器取出字节706f-k,并将任务文件寄存器发送到CF卡。如果要求传递数据(即,当字节7061的位710c指出有将要被传递的数据时),则任务文件寄存器使用标准协议(例如,USB大容量存储类别的只大块协议)来指定扇区计数寄存器、扇区寄存器、柱面寄存器和磁头寄存器。通常在块702(例如,在字节7061的位710b中)和实质上包围块702的USB包装中指定数据传递方向和数据传递长度。在一个实施例中,所使用的数据传递协议遵守诸如X3T13标准的标准。
适用于CF卡的“检查ISP”命令可以由阅读器固件来生成,并被发送到CF卡。在所描述的实施例中,这种“检查ISP”命令也可以适用于SD卡。也就是说,对于CF卡和SD卡而言,“检查ISP”命令可以一样。这种“检查ISP”命令可以与CF卡的D5h命令代码一致,并且,一旦阅读器生成该命令,该命令通常就从阅读器被发送到快闪卡。图8a是根据本发明的一个实施例的命令块的概略图,该命令块与适用于CF卡的“检查ISP”命令有关联。命令块804包括与寄存器812有关的位808。在一个实施例中,寄存器可能与图7a中的字节706f-706k有关联。也就是说,块804可能被有效地嵌入图7a中的块702内。
与寄存器812a有关的位808a被安排为指出:是将启用CF或SD卡来支持ISP,还是将禁止CF或SD卡支持ISP。例如,寄存器812a的位808a可以被设置为值“1”,以指出将要启用ISP模式;它被设置为值“0”,以指出将要禁止使用ISP模式。与寄存器812g有关的位808被安排为指出Dh5命令代码。
通常,如果阅读器支持媒体卡通过特点组,并且“检查ISP”命令中的合适的位被设置成启用ISP支持(例如,图8a中的字节812a的位808a被设置为“1”),那么,阅读器会被配置成切实地处理任何随后的媒体卡通过命令。不言而喻,如果图8a中的字节812a的位808a被设置为“0”,则表示主机已在CF卡上禁止ISP模式。照此,没有ISP命令可以通过阅读器而被发送到CF卡。
将结合图8b来描述与支持ISP命令的阅读器有关的状态寄存器输出。图8b是根据本发明的一个实施例的数据块的概略图,该数据块可以由CF卡返回给阅读器。块814包括寄存器822,这些寄存器中的每个寄存器都包括8个位818。在所描述的实施例中,0h在错误寄存器822a和柱面寄存器822d、822e中被返回,而55h在扇区计数寄存器822b中被返回,AAh在扇区数字寄存器822c中被返回。
设备磁头寄存器822f被安排为指出位818e中的一个所选择的设备,它通常被设置为值“0”,只有一张媒体卡被连接到阅读器,并且,指出写保护是否在位818d中的CF卡内起作用。当写保护起作用时,可以将寄存器822f的位818d设置为值“1”;而如果写保护不起作用,则可以将寄存器822f的位818d设置为值“0”。寄存器822f的位818a-c可以被设置成指出一种媒体类型。例如,当卡是CF卡时,寄存器822f的位818a-c可以被设置为值“101”。不言而喻,已将块814描述为适合从CF卡被传递到阅读器,但也可以将块814配置成用于其他媒体类型。当块814用于其他媒体类型时,寄存器822f的位818a-c的内容可以指出合适的媒体类型。
状态寄存器822g(通常返回50H)包括位818h,一旦适当地完成命令(例如,“检查ISP”命令),位818h就被设置为值“0”。在状态寄存器822g内,位818g可以被设置为值“1”,而当完成命令时,设备故障位818f、位818d和错误位818a可以被设置为值“0”。
当在处理“检查ISP”命令的过程中有错误时,错误输出块可以从CF卡被发送到阅读器。这种错误输出块通常可以指出:没有启用ISP支持。图8c是根据本发明的一个实施例的错误数据块的概略图,当在处理“检查ISP”命令的过程中遇到错误时,该错误数据块可以从CF卡被发送到阅读器。错误数据块824包括被分成位828的寄存器832。当在处理诸如“检查ISP”命令的命令的过程中发生错误时,错误寄存器832a中的一个位(例如,位828c)通常被设置成指出:还没有成功地处理该命令。在一个实施例中,错误寄存器832a的位828c可以被设置成值“1”,以指出已有效地放弃命令。
与设备/磁头寄存器832f有关的位828e被安排为指出所选择的设备,并通常被设置为值“0”,只有一张媒体卡被连接到阅读器。状态寄存器832g被安排为包括各种信息。举例来讲,状态寄存器832g包括位828a,该位通常被设置为值“1”,以指出已发生错误;而位828h被安排为切实地被清除到值“0”,以指出已有效地完成命令的执行;如果发生设备故障,则位828f(被安排为指出何时发生设备故障)被设置为值“1”。在所描述的实施例中,寄存器832g的位828g可以被设置为“1”,以便将块824识别为错误数据块;而寄存器832g的位828d可以被设置为“0”,以识别:没有更多的数据要传递。
“媒体卡执行CF ISP”命令(可能与D6h命令代码一致)与“媒体卡执行CF”命令(例如,以上结合图7a所描述的命令)有关联。“媒体卡执行CF ISP”命令通常开始被嵌入对应的SCSI命令内的本地命令的执行。嵌入命令是从CF卡或基础卡中检索固件数据的命令,对应的阅读器可以从CF卡读取该数据并将所读取的数据传递到主机。如果阅读器不包括缓冲器,则可以从CF卡读取部分数据,并在一个程序中将其传递到主机,该程序可以被重复,直到基本上传递所有所读取的数据为止。或者,如果嵌入命令是将固件数据写入CF卡(即,更新CF卡上的固件)的命令,则阅读器通常将从主机读取数据,并将所读取的数据从主机传递到CF卡。当适配器没有缓冲器时,可以从主机读取部分数据,并将其重复地传递到CF卡,直到基本上所有的数据都被传递到CF卡为止。
图8d是根据本发明的一个实施例的命令块的概略图,该命令块可以作为“媒体卡执行CF ISP”命令在阅读器与CF卡之间被发送。命令块844包括寄存器852,这些寄存器每个都包括8个位848。命令寄存器852g被安排为指出块844与D6h命令代码一致,而特点寄存器852a包括位848b-h,这些位被安排为返回0h值和位848a(被安排为指定数据传递方向)。当将要从CF卡读取固件时,特点寄存器852a的位848a可以被设置为值“1”;而当固件将要被写入CF卡时,特点寄存器852a的位848a可以被设置为值“0”。
扇区计数寄存器852b被安排为存储将要被处理(即,将要从CF卡被读取,或将要被写入CF卡)的许多扇区。扇区数字寄存器852c被安排为存储或返回与CF卡中的固件有关的开始逻辑块地址(LBA)的最不重要的位,而柱面寄存器852d、852e被安排为分别存储LBA的中间字节和LBA的最重要的位。
参考图8e,将描述命令块的一个实施例,该命令块可以在CF卡与阅读器(指出:“媒体卡执行CF ISP”命令已正常执行)之间被发送。当命令已基本上成功地执行时,命令块864(包括被分成寄存器872的位868)可以从CF卡被发送到阅读器。寄存器872a-e可以基本上被清除,而设备/磁头寄存器872f可以包括指出设备的位868e,并可以被设置为值“0”,只有一张媒体卡被连接到阅读器,这有效地成为与该命令的执行有关的目标。
状态寄存器872g(被安排为返回50H)包括位868h,该位被设置为值“0”,以指出:已完成命令的执行。状态寄存器872g的位868g可以被设置为值“1”,而位868a、868d、868f都可以基本上被清除或被设置为值“0”,以指出:命令已正常执行。
当在处理命令(例如,“媒体卡执行CF ISP”命令)的过程中发生错误时,可以将错误数据块从CF卡发送到阅读器,以指出:已发生错误。例如,当主机预期CF卡具有20千字节(kBs)的固件时,在命令的处理期间可能会发生错误,CF卡实际上具有10kBs的固件。图8f是根据本发明的一个实施例的错误块的概略图,该错误块可以从CF卡被发送到阅读器,以指出“媒体卡执行CF ISP”命令还没有正常执行。错误数据块892包括与寄存器892有关的位888。状态寄存器892f包括位888e,该位识别曾经作为失败命令的目标的设备或CF卡。
当在处理命令的过程中有错误时,CF卡可以设置状态寄存器892g的位888a,以指出已发生错误,并可以相应地在错误寄存器892a中设置有关的位888。例如,如果CF卡有根本的数据错误,则错误寄存器892a的位888g可以被设置为值“1”。此外,在一个实施例中,如果该卡在下载过程结束之前被移走或被更改,则字节892a的位888c可以被设置为值“1”,以指出失败的过程。也就是说,错误寄存器892a的位888c可以被设置为值“1”,以指出:由于命令没有获得支持,因此,命令被放弃了;曾经没有执行命令;或者,曾启动命令的执行,但没有完成。
在状态寄存器892g内,必须根据X3T10协议来设置位888d。如果由于设备故障而在处理命令的过程中发生错误,或者,更通常的情况是,如果发生了设备故障,那么,状态寄存器892g的位888f可以被设置为值“1”。当曾完成命令时,状态寄存器892g的位888g可以被设置为值“1”。
如果可应用的话,则扇区数字寄存器892c被安排为提供与正在命令执行过程中引起错误的CF卡中的扇区有关的LBA的最不重要的位。也就是说,当某个扇区导致命令的执行被放弃时,那个扇区的LBA的最不重要的位被返回到扇区数字寄存器892c中的阅读器。当扇区是失败命令的原因时,柱面低寄存器892d和柱面高寄存器892e被安排为分别返回该扇区的LBA的中间字节和该扇区的LBA的最重要的位。
虽然只描述了本发明的一些实施例,但是,应该理解,在不脱离本发明的精神或范围的前提下,本发明可以用许多其他特殊的形式来加以具体表现。举例来讲,阅读器通常被描述为是USB阅读器,但阅读器实质上可以是允许存储卡与主机系统进行通信的任何合适的阅读器或适配器。合适的阅读器包括(但不局限于)PC卡阅读器。
通常将固件的下载描述为:涉及通过阅读器而实质上将新的卡上固件或代码从主计算机直接发送到存储卡或媒体卡。当实质上将固件从主计算机直接发送到卡时,基本上可以通过只升级计算机上的软件,来实现将会增强总系统的性能的任何变化。换言之,可能不一定要更新阅读器固件来增强ISP功能。本质上,可以增强ISP功能,以便使与主计算机系统有关的软件升级。但是,不言而喻,在一些实施例中,新的卡上固件可以从主计算机被发送到阅读器,该阅读器可以将ISP命令发送到存储卡。
当新的卡上固件被提供给存储卡以更新或升级存储卡时,新的卡上固件通常可以包括固件扇区,这些扇区意在取代当前在存储卡中的对应的固件扇区。新的卡上固件也可以包括将要被加入当前在存储卡上的固件(例如,增大当前的固件)的固件扇区。在一个实施例中,被提供给存储卡的新的卡上固件可以意在基本上取代当前在存储卡上的所有固件。
与各种功能和命令描述符有关的位和字可能会发生很大的变化。换言之,特殊的位或字按某种方法被设置在命令描述符块中,以指出与块有关的各种不同的状态,这些特殊的位或字可能会发生变化。例如,被设置成指出ISP被支持的位,以及被设置成启用ISP支持的位通常可能会改变。例如,实质上可以设置任何其他的位,而代替将卡特殊性数据信息中的位19设置为“1”,以指出ISP在与SD卡有关的系统中被支持。只要总系统知道将要设置哪个位以指出ISP被支持,就可以设置任何位。
命令和数据块通常被描述为适用于SD卡或CF卡,但应该理解,命令通常可以应用于其他类型的存储卡。举例来讲,适合SD卡的命令也可以适合多媒体卡。此外,已被描述为适用于CF卡的命令和数据块可以被增大,以用于包括(但不局限于)SD卡的其他类型的卡。或者,这种命令和数据块实质上可以适用于一些类型的存储卡,而无须增大。
此外,具有固件(可以使用ISP命令来加以更新)的存储卡可能会发生很大的变化。具有固件(可以使用以上所描述的方法来加以更新)的其他类型的存储卡包括(但不局限于)记忆棒卡和“智能媒体卡”。
主机被描述为与阅读器进行通信,该阅读器与存储卡进行通信。虽然主机和阅读器实质上可能是分开的实体(即,阅读器可能是可容易地连接到主机并与主机分离的外围设备),但是,应该理解,阅读器也可能是主机的一部分。例如,阅读器可能是主机的一个整体部分,它可能无法被容易地连接到主机或与主机分离。
在一个实施例中,可被更新的固件可以包括使ISP能够被支持的固件代码。也就是说,可以使用被安排为更新或升级卡上固件的ISP程序,在存储卡中更新ISP代码本身。尤其是,如果卡上固件在电可擦除编程只读存储器(EEPROM)中,并且,固件的执行在静态随机存取存储器(SRAM)中,那么,可以在卡上固件更新程序期间更新与卡上固件有关的ISP代码。
一般而言,与本发明的各种程序有关的步骤可能会有很大的变化。在不脱离本发明的精神或范围的前提下,可以重新安排、改变、增加和取消步骤。举例来讲,与更新SD卡和CF卡上的卡上固件有关的程序可以包括一些步骤,这些步骤与确定SD卡和CF卡是否分别支持ISP有关联。所以,这些例子将被认为起说明作用,而不起限制作用,本发明不局限于这里所提供的细节,而可以在所附权利要求书的范围内加以修改。

Claims (28)

1.用于更新与记忆存储设备有关的固件的一种方法,其特征在于,包括:将新固件提供给主机;
将新固件从主机发送到阅读器,主机与阅读器进行通信,阅读器被安排为与记忆存储设备连接,其中,记忆存储设备包括所安装的固件;
将新固件从阅读器发送到记忆存储设备;以及,
将新固件并入记忆存储设备,其中,新固件至少局部取代所安装的固件。
2.如权利要求1所述的方法,其特征在于,还包括:
将新固件嵌入第一个命令,其中,将新固件从主机发送到阅读器包括:将第一个命令从主机发送到阅读器。
3.如权利要求2所述的方法,其特征在于,还包括:
实质上从第一个命令中提取被嵌入的新固件,其中,阅读器实质上提取被嵌入的新固件。
4.如权利要求1所述的方法,其特征在于,将新固件提供给主机包括:从服务器下载新固件。
5.如权利要求1所述的方法,其特征在于,通过将新固件并入记忆存储设备,可以更新所安装的固件。
6.如权利要求5所述的方法,其特征在于,将新固件并入记忆存储设备还包括:
将新固件写入使用主机所述的记忆存储设备。
7.如权利要求6所述的方法,其特征在于,还包括:
启用阅读器上的系统内编程功能,其中,这些系统内编程功能允许新固件被并入记忆存储设备。
8.如权利要求7所述的方法,其特征在于,还包括:
在将新固件并入记忆存储设备之后,重置记忆存储设备;
禁止使用阅读器上所述的系统内编程功能;
切实地用通信联络方法使阅读器与主机分离;
重新对记忆存储设备进行初始化;以及,
切实地用通信联络方法重新将阅读器连接到主机。
9.如权利要求8所述的方法,其特征在于,记忆存储设备是包括一个非易失存储器的存储卡。
10.如权利要求9所述的方法,其特征在于,存储卡是从包括安全数字卡、”CF”卡、多媒体卡、智能媒体卡和记忆棒卡等一组中选择的一种卡。
11.如权利要求2所述的方法,其中该第一命令被安排为根据一种命令描述符,该命令描述符包括:
第一组位,该第一组位被安排为指出操作代码,该操作代码与该第一个命令有关联;以及,
至少一第一个位,该至少第一个位被安排为指出将在记忆存储设备中启用系统内编程。
12.如权利要求11所述的方法,其中该命令描述符还包括:
至少一第二个位,该至少第二个位被安排为指出至少第二个命令能够通过阅读器从主机传递到记忆存储设备,其中,第二个命令是通过命令。
13.如权利要求11所述的方法,其中该至少第一个位被安排为切实地使与阅读器有关的固件将内部标志设置成指出固件的系统内编程更新被支持。
14.用于更新与存储卡有关的固件的一种系统,其特征在于,该系统包括:存储卡,该存储卡包括所安装的卡上固件;
一台主机;
用于允许主机与存储卡连接的装置,主机被安排为将新的卡上固件提供给用于允许主机与存储卡连接的装置,其中,用于允许主机与存储卡连接的装置包括用于将新的卡上固件发送到存储卡的装置;以及
用于将新的卡上固件并入存储卡以便新的卡上固件至少局部取代所安装的卡上固件的装置。
15.根据如权利要求14所述的系统,其特征在于,主机包括用于将新的卡上固件嵌入第一个命令的装置;其中,主机将第一个命令提供给用于允许主机与存储卡连接的装置。
16.根据如权利要求15所述的系统,其特征在于,用于允许主机与存储卡连接的装置包括用于切实地从第一个命令中提取被嵌入的新的卡上固件的装置。
17.根据如权利要求14所述的系统,其特征在于,主机被安排为将信息写到存储卡上。
18.根据如权利要求14所述的系统,其特征在于,主机被安排为从存储卡读取信息。
19.根据如权利要求14所述的系统,其特征在于,存储卡包括一个非易失存储器。
20.根据如权利要求17所述的系统,其特征在于,存储卡是从包括安全数字卡、“CF”卡、多媒体卡和记忆棒卡等一组中选择的一种卡。
21.一种记忆系统包括:
一记忆存储设备包括:
一个存储元件,该存储元件被安排为存储数据;以及
记忆存储设备固件,该记忆存储设备固件被安排为与存储元件合作以存储数据并执行指令,该记忆存储设备固件进一步被安排为支持系统内编程功能;以及
一适配器包括:
一端口,该端口被安排为接受所述记忆存储设备;以及
适配器固件,被安排为支持系统内编程功能,该适配器固件的系统内编程功能包括使该计算系统能够通过适配器提供记忆存储设备的更新的固件编码给该记忆存储设备;
其中,记忆存储设备固件的系统内编程功能使记忆存储设备固件能够被基本上更新,而记忆存储设备与适配器连接。
22.如权利要求21所述的记忆系统,其特征在于,还包括:
一种接收机制,该接收机制被安排为通过阅读器来接收固件的更新。
23.如权利要求22所述的记忆系统,其特征在于,固件被安排为并入更新,以便更新固件。
24.如权利要求23所述的记忆系统,其特征在于,被更新的固件包括一种功能,该功能执行开电重置,以便切实地重置与记忆存储设备有关的固件。
25.如权利要求21所述的记忆系统,其特征在于,还包括:
一个控制器,其中,固件被包括在该控制器中。
26.如权利要求21所述的记忆系统,其特征在于,存储元件是非易失记忆存储元件。
27.如权利要求26所述的记忆系统,其特征在于,记忆存储设备是从包括安全数字卡、“CF”卡、多媒体卡和记忆棒卡等一组中选择的一种卡。
28.如权利要求21所述的系统,其特征在于,适配器是USB阅读器或PC阅读器之一。
CNB028036344A 2001-11-06 2002-10-03 用于更新存储卡上固件的系统内编程的实现 Expired - Lifetime CN1293466C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/005,740 US7320126B2 (en) 2001-11-06 2001-11-06 Implementation of in system programming to update firmware on memory cards
US10/005,740 2001-11-06

Publications (2)

Publication Number Publication Date
CN1547699A CN1547699A (zh) 2004-11-17
CN1293466C true CN1293466C (zh) 2007-01-03

Family

ID=21717477

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028036344A Expired - Lifetime CN1293466C (zh) 2001-11-06 2002-10-03 用于更新存储卡上固件的系统内编程的实现

Country Status (6)

Country Link
US (2) US7320126B2 (zh)
EP (1) EP1459174A2 (zh)
JP (1) JP2005508547A (zh)
CN (1) CN1293466C (zh)
AU (1) AU2002363505A1 (zh)
WO (1) WO2003040917A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI784500B (zh) * 2021-04-28 2022-11-21 威鋒電子股份有限公司 電子裝置及其安全韌體更新方法

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702984B1 (en) * 2000-01-06 2010-04-20 Super Talent Electronics, Inc. High volume testing for USB electronic data flash cards
US6438638B1 (en) 2000-07-06 2002-08-20 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US7295443B2 (en) 2000-07-06 2007-11-13 Onspec Electronic, Inc. Smartconnect universal flash media card adapters
US6618788B1 (en) * 2000-09-27 2003-09-09 Cypress Semiconductor, Inc. ATA device control via a packet-based interface
US7320126B2 (en) * 2001-11-06 2008-01-15 Sandisk Corporation Implementation of in system programming to update firmware on memory cards
US20030140129A1 (en) * 2002-01-24 2003-07-24 Noam Livnat Installing communication protocol in a handheld device
US20040049617A1 (en) * 2002-09-05 2004-03-11 Integrated Circuit Solution Inc. Method of firmware update by USB interface
JP2004139442A (ja) * 2002-10-18 2004-05-13 Toyota Motor Corp 情報端末装置、情報端末装置の動作制御方法、特定情報記憶プログラム、特定情報記憶プログラムを格納する記憶媒体、所定情報変更プログラム、端末動作プログラム、端末動作プログラムを格納する記憶媒体、及びセンタ
US20040083469A1 (en) * 2002-10-23 2004-04-29 Ping-Sheng Chen Method for updating firmware of optical disk system
US7246266B2 (en) * 2002-11-21 2007-07-17 Chris Sneed Method and apparatus for firmware restoration in modems
JP4554598B2 (ja) * 2003-03-27 2010-09-29 サンディスク アイエル リミテッド すべてのユーザによる完全なアクセスが可能なデータ記憶デバイス
TW200421172A (en) * 2003-04-04 2004-10-16 Incomm Technologies Co Ltd Drive codes upgrading method of portable memory device and device thereof
US7861211B2 (en) * 2003-07-29 2010-12-28 Hewlett-Packard Development Company, L.P. Mobile handset with update agent implemented in hardware
ATE436047T1 (de) 2003-12-30 2009-07-15 Wibu Systems Ag Verfahren zum steuern eines datenverarbeitungsgeräts
TWI240203B (en) * 2004-02-25 2005-09-21 Via Tech Inc A device which updates firmware by a memory card
US7676839B2 (en) * 2004-03-15 2010-03-09 Xceedid Systems and methods for access control
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
EP2862859B1 (en) * 2004-06-17 2018-07-25 Cytokinetics, Inc. Compounds, compositions and methods
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US8195781B2 (en) * 2004-08-19 2012-06-05 Hewlett-Packard Development Company, L.P. Network management with scalable trap definitions
KR100689223B1 (ko) 2005-04-18 2007-03-02 삼성에스디에스 주식회사 스마트 카드 운영체제의 최적화 패치 방법 및 보안 패치방법
CN100401280C (zh) * 2005-06-08 2008-07-09 北京飞天诚信科技有限公司 通用串行总线数据传输方法
TWI345175B (en) * 2005-06-08 2011-07-11 Winbond Electronics Corp Method for updating firmware of memory card
US20070022179A1 (en) * 2005-07-22 2007-01-25 Samsung Electronics Co., Ltd. Display device with cable card and updating method thereof
US8078788B2 (en) 2005-12-08 2011-12-13 Sandisk Technologies Inc. Media card command pass through methods
US20070136501A1 (en) * 2005-12-08 2007-06-14 Chang Robert C Media card command pass through methods
US20070168668A1 (en) * 2005-12-08 2007-07-19 Chang Robert C Media card with command pass through mechanism
KR100666184B1 (ko) * 2006-02-02 2007-01-09 삼성전자주식회사 하부 비트라인들과 상부 비트라인들이 전압제어블락을공유하는 3-레벨 불휘발성 반도체 메모리 장치
US7663922B2 (en) * 2006-02-02 2010-02-16 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory devices with lower and upper bit lines sharing a voltage control block, and memory cards and systems having the same
JP2007280347A (ja) * 2006-03-14 2007-10-25 Ricoh Co Ltd メモリカード及びメモリカード制御切替方法
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
US8082543B2 (en) * 2006-08-17 2011-12-20 Hewlett-Packard Development Company, L.P. Methods and systems for arbitrating error handling and firmware updates
KR100849212B1 (ko) * 2006-10-12 2008-07-31 삼성전자주식회사 메모리 카드 및 메모리 카드의 구동 프로그램 업데이트방법
EP2075697A4 (en) * 2006-10-20 2014-07-02 Nec Corp PORTABLE DEVICE, SERVER AND METHOD FOR REALIZING THE FUNCTION OF A PORTABLE DEVICE USING A NETWORK
US20080103658A1 (en) * 2006-10-27 2008-05-01 Spx Corporation Scan tool software update using an image
US10311427B2 (en) * 2006-12-29 2019-06-04 Google Technology Holdings LLC Method and system for monitoring secure application execution events during contactless RFID/NFC communication
US9348730B2 (en) * 2007-01-31 2016-05-24 Standard Microsystems Corporation Firmware ROM patch method
WO2008142079A1 (en) * 2007-05-21 2008-11-27 Thomson Licensing Robust firmware upgrade in a network terminal
US8161199B1 (en) * 2007-06-25 2012-04-17 Marvell International Ltd. Smart printer cartridge
US8806472B2 (en) * 2007-09-27 2014-08-12 Ericsson Ab In-service software upgrade utilizing metadata-driven state translation
US20110039306A1 (en) * 2008-04-24 2011-02-17 New England Biolabs, Inc. Reagent Containing a Thermostable Endonuclease
US8977783B2 (en) * 2009-10-21 2015-03-10 Media Ip, Llc High-speed secure content transfer to SD card from kiosk
US9595300B2 (en) * 2009-10-21 2017-03-14 Media Ip, Llc Contextual chapter navigation
CN101751353A (zh) * 2009-12-24 2010-06-23 深圳华为通信技术有限公司 数据卡升级方法及装置
CN102117214B (zh) * 2010-01-06 2014-03-19 浙江德景电子科技有限公司 一种嵌入式设备及其数据文件下载方法
US8898803B1 (en) 2010-01-11 2014-11-25 Media Ip, Llc Content and identity delivery system for portable playback of content and streaming service integration
EP2566287B1 (en) * 2010-04-23 2018-06-13 Huawei Device Co., Ltd. Wireless Internet Access Module
CN104978225A (zh) * 2010-08-02 2015-10-14 中颖电子股份有限公司 固件更新方法和装置
US8745749B2 (en) * 2010-11-15 2014-06-03 Media Ip, Llc Virtual secure digital card
EP2469408A1 (en) * 2010-12-22 2012-06-27 France Telecom System and method for remotely triggering actions on a mobile device
US8924778B2 (en) * 2010-12-29 2014-12-30 Lsi Corporation Method to synchronize a replacement controller's firmware version to the native configuration database version on a simplex array
US8775827B2 (en) 2011-03-28 2014-07-08 Media Ip, Llc Read and write optimization for protected area of memory
US8949879B2 (en) 2011-04-22 2015-02-03 Media Ip, Llc Access controls for known content
KR101524096B1 (ko) * 2011-06-07 2015-06-01 엘에스아이 코포레이션 호스트가 볼 때 디바이스 펌웨어 업데이트 효과들의 관리
CN102236571B (zh) * 2011-07-27 2013-10-09 华为终端有限公司 一种数据卡升级方法、个人计算机及数据卡
CN102945190B (zh) * 2012-11-05 2016-05-11 无敌科技(西安)有限公司 利用卡片对嵌入式设备Code更新过程中被中断后仍可继续更新的方法
KR101427755B1 (ko) * 2013-04-26 2014-08-07 주식회사 코아로직 Usb를 이용한 펌웨어 업그레이드 장치 및 방법
CN103309709B (zh) * 2013-06-08 2018-10-09 华为终端有限公司 一种固件升级方法、装置及通信设备
CN105849691B (zh) 2013-06-18 2019-09-13 西安姆贝拉有限公司 用于代码虚拟化和远程进程调用生成的方法和装置
JP6464162B2 (ja) * 2013-07-12 2019-02-06 チャンベッラ・リミテッド ファームウェア仮想化のための方法および装置
CN103365693A (zh) * 2013-07-26 2013-10-23 浪潮电子信息产业股份有限公司 一种基于硬件侦测的固件自动选择实现方法
EP2887213A1 (en) * 2013-12-19 2015-06-24 Gemalto SA Method for transferring applicative data between two instances of an application
US9619122B2 (en) 2014-01-10 2017-04-11 Ciambella Ltd. Method and apparatus for automatic device program generation
EP2930641B1 (en) * 2014-04-07 2019-04-03 Nxp B.V. Method of Programming a Smart Card, Computer Program Product and Programmable Smart Card
EP3002701A4 (en) * 2014-06-27 2016-10-05 Huawei Tech Co Ltd METHOD AND DEVICE FOR UPDATING PROGRAM DATA
CN107750356B (zh) 2015-05-08 2020-02-14 西安姆贝拉有限公司 用于一组基于控制器的装置的自动软件开发的方法和设备
US10067490B2 (en) 2015-05-08 2018-09-04 Ciambella Ltd. Method and apparatus for modifying behavior of code for a controller-based device
CN106909352A (zh) * 2015-12-22 2017-06-30 北京谊安医疗系统股份有限公司 一种嵌入式设备的固件升级方法
US9946532B2 (en) * 2016-06-15 2018-04-17 Canon Information And Imaging Solutions, Inc. Apparatus, system and method for updating a peripheral connected to image processing device
EP3596593B1 (en) 2017-03-14 2024-05-01 Ciambella Ltd. Method and apparatus for automatically generating and incorporating code in development environments
CN107957874B (zh) * 2017-11-21 2021-07-13 上海航天测控通信研究所 可恢复的驻留式星载软件在轨编程方法
WO2022204911A1 (en) * 2021-03-30 2022-10-06 Yangtze Memory Technologies Co., Ltd. Memory device with embedded firmware repairing mechanism

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1003099A2 (en) * 1998-10-29 2000-05-24 Hewlett-Packard Company A method of updating firmware without affecting initialization information
WO2001078020A1 (en) * 2000-04-11 2001-10-18 Visa International Service Association Integrated production of smart cards

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452071C (zh) * 1995-02-13 2009-01-14 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
EP1008928A4 (en) * 1996-04-11 2007-08-08 Hitachi Ltd DISK UNIT AND CALCULATOR
EP0845738A3 (en) * 1996-11-28 2006-09-20 Hitachi, Ltd. Storage system which transfers a command and data corresponding to said command subsequent to said command
GB9713094D0 (en) 1997-06-21 1997-08-27 Philips Electronics Nv Optical disc drive
US6266809B1 (en) 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6199194B1 (en) 1998-09-25 2001-03-06 Adaptec, Inc. Method and system for programming firmware over a computer network
US6402028B1 (en) 1999-04-06 2002-06-11 Visa International Service Association Integrated production of smart cards
WO2000067132A1 (en) 1999-04-30 2000-11-09 Centennial Technologies, Inc. Combination ata/linear flash memory device
US7019778B1 (en) 1999-06-02 2006-03-28 Eastman Kodak Company Customizing a digital camera
US7228538B1 (en) * 2000-05-02 2007-06-05 International Business Machines Corporation Method, system, and program for updating firmware to a storage system comprised of multiple controllers
US6968453B2 (en) * 2001-01-17 2005-11-22 International Business Machines Corporation Secure integrated device with secure, dynamically-selectable capabilities
US20020137501A1 (en) * 2001-03-23 2002-09-26 Rajendra Datar Systems and methods for wireless memory programming
DE20109810U1 (de) 2001-06-13 2001-08-23 Datafab Sys Inc Externer Flash-Karten-Leser mit USB 2,0-Schnittstelle
US20020194403A1 (en) * 2001-06-15 2002-12-19 Khein-Seng Pua Audio video signal processing device
US7320126B2 (en) * 2001-11-06 2008-01-15 Sandisk Corporation Implementation of in system programming to update firmware on memory cards

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1003099A2 (en) * 1998-10-29 2000-05-24 Hewlett-Packard Company A method of updating firmware without affecting initialization information
WO2001078020A1 (en) * 2000-04-11 2001-10-18 Visa International Service Association Integrated production of smart cards

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI784500B (zh) * 2021-04-28 2022-11-21 威鋒電子股份有限公司 電子裝置及其安全韌體更新方法

Also Published As

Publication number Publication date
US20030088868A1 (en) 2003-05-08
AU2002363505A1 (en) 2003-05-19
EP1459174A2 (en) 2004-09-22
WO2003040917A2 (en) 2003-05-15
WO2003040917A3 (en) 2004-05-13
US20070234341A1 (en) 2007-10-04
US8296752B2 (en) 2012-10-23
CN1547699A (zh) 2004-11-17
US7320126B2 (en) 2008-01-15
JP2005508547A (ja) 2005-03-31

Similar Documents

Publication Publication Date Title
CN1293466C (zh) 用于更新存储卡上固件的系统内编程的实现
CN1698032A (zh) 从非线性存储器引导
KR101640207B1 (ko) 부트로더 및 임베디드 시스템 업그레이드 방법
US20130262747A1 (en) Data writing method, and memory controller and memory storage device using the same
CN1708746A (zh) 可拆装式设备及程序的起动方法
CN1540672A (zh) 用于非易失存储系统的电源管理数据块
CN1418349A (zh) 在智能卡和主站之间通信的方法
CN101923473B (zh) 嵌入式电子装置及更新其固件的方法
CN111444030B (zh) 数据储存装置及避免固件失效的方法
US7242632B2 (en) Memory device, memory managing method and program
US20130067455A1 (en) Memory online update system and method
KR20110094047A (ko) 전자 디바이스 및 전자 디바이스 시스템
CN1265275C (zh) 微型计算机
WO2016171921A1 (en) Bridge configuration in computing devices
CN102316376A (zh) 一种机顶盒自动更新数据方法及系统
KR20100101517A (ko) 데이터 파일 삭제 명령에 응답하는 시스템 및 방법
US20060026415A1 (en) Method of updating a portion BIOS
CN117421258A (zh) Ssd数据存储的优化方法、装置、计算机设备及介质
CN1545680A (zh) 存储卡及数据重写方法
US20120303879A1 (en) Memory Device and Method for Programming Flash Memory Utilizing Spare Blocks
US20070162699A1 (en) Apparatus for expanding storage capacity of memory card and operating method of memory card with the same
CN102486757A (zh) 存储器储存装置及其存储器控制器与回应主机指令的方法
US20190073134A1 (en) Methods for resetting a flash memory device and apparatuses using the same
US6754726B1 (en) Versatile memory chip programming device and method
JP2005010912A (ja) プログラムおよびコンピュータ

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
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120416

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120416

Address after: Texas, USA

Patentee after: Sanindisco Technology Co.,Ltd.

Address before: American California

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SANDISK TECHNOLOGIES, INC.

CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: Sandy Technology Corp.

Address before: Texas, USA

Patentee before: Sanindisco Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Patentee before: Sandy Technology Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070103