CN101689246A - 存储器装置、电子装置以及主机设备 - Google Patents

存储器装置、电子装置以及主机设备 Download PDF

Info

Publication number
CN101689246A
CN101689246A CN200880021066A CN200880021066A CN101689246A CN 101689246 A CN101689246 A CN 101689246A CN 200880021066 A CN200880021066 A CN 200880021066A CN 200880021066 A CN200880021066 A CN 200880021066A CN 101689246 A CN101689246 A CN 101689246A
Authority
CN
China
Prior art keywords
order
state
storage arrangement
controller
subregion
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
Application number
CN200880021066A
Other languages
English (en)
Other versions
CN101689246B (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.)
Japanese Businessman Panjaya Co ltd
Kioxia Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of CN101689246A publication Critical patent/CN101689246A/zh
Application granted granted Critical
Publication of CN101689246B publication Critical patent/CN101689246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及存储器装置、电子装置以及主机设备。一种存储器装置(11)包括半导体存储器(11c)和控制器(11a)。半导体存储器(11c)包括第一存储区域(11c1)和第二存储区域(11c2)。控制器(11a)控制半导体存储器(11c)。存储器装置(11)能够具有可访问第一存储区域(11c1)的第一状态和可从第二存储区域(11c2)读取数据的第二状态。控制器(11a)被配置为识别第一命令、第二命令和第三命令。第一命令在存储器装置开启之后将存储器装置(11)转换为第一状态。第二命令将存储器装置(11)从第一状态转换为第二状态。第三命令在存储器装置开启之后将存储器装置(11)转换为第二状态而不经过第一状态。

Description

存储器装置、电子装置以及主机设备
技术领域
本发明涉及存储器装置、电子装置以及主机设备。例如,本发明涉及存储卡插入其中的主机设备以及可嵌入该主机设备的电子装置和存储器装置的初始化。
背景技术
目前,诸如存储卡之类的存储器系统(其中利用诸如闪速存储器的非易失性半导体存储器)已被用作为用于音频数据或视频数据的记录介质。可以列举NAND型闪速存储器作为在该存储器系统中使用的闪速存储器的典型实例。该存储器系统被插入主机设备中,该主机设备执行与存储器系统的数据传送。公知SD(注册商标)卡作为一种存储器系统。
在存储器系统与主机设备之间具有公知的各种接口。可以列举SD接口作为该接口的实例。SD接口是在SD卡与支持该SD卡的主机设备之间的接口。
在SD接口总线中限定多条信号线(例如时钟线和命令线)。将多条信号线的组作为一条总线来处理。
近来,越来越需要其中嵌入有存储器或另一装置的主机设备。从控制的角度来说,有时优选使用SD接口将嵌入的装置连接到主机设备。在SD接口中,可以使用地址(相对卡地址,RCA)将多个装置连接到一条总线以选择装置。然而,为了确定每个装置的RCA,需要准备用于单独地控制这些装置的工具。因此,需要除了SD接口之外的控制信号。另外,还需要针对每个装置单独地改变初始化过程。
需要在主机设备中提供多条总线,以便可以在通过标准驱动器标准化初始化过程时将嵌入的装置连接到可从该嵌入的装置移除的SD卡。即,需要在主机设备中提供多组信号线以及专用于每一组的信号引脚,这使得主机设备的配置和设计变得复杂。
另外,越来越需要连接尽可能多的嵌入装置。在这种情况下,需要总线的数目根据嵌入的装置的数目而增大。然而,当简单地增加总线的数目时,效率降低。
近来,越来越多地制造这样的主机设备,其中闪速存储器用作为非易失性存储装置而不具有硬盘驱动器。在该主机设备中,需要从闪速存储器读取用于起动系统的程序代码(启动代码)。启动代码存储在嵌入的闪速存储器装置中。通过主机控制器将该启动代码传送到系统存储器,并执行该启动代码。由于有时启动代码不仅包括启动加载程序(boot loader)或测试驱动器,而且还包括OS(操作系统),因此通常需要在主机设备通电之后初始读取启动代码。
然而,现有的接口(例如,SD接口)仅在经过诸如装置初始化的预定状态之后才可转变为可从存储器读取数据的状态。不幸地,当接口经历这种过程时,用于系统初始化的处理时间延长。另外,在启动代码存储在通用区域中的情况下,由于通过通用区域中的文件系统来管理数据,因此需要在开始启动之前在系统中执行该文件系统。
例如,日本专利申请KOKAI公开No.2006-92019公开了常规的半导体装置。
本发明提供这样的电子装置、存储器装置以及主机设备,其可以将多个装置连接到支持一对一连接的总线。
发明内容
根据本发明的一方面,一种能够具有第一状态和第二状态的存储器装置包括:
半导体存储器,其具有第一存储区域和第二存储区域,所述半导体存储器的数据在所述第一状态下可在所述半导体存储器的所述第一存储区域中写入、从其中读取和从其中擦除,或者在所述第二状态下至少可从所述第二存储区域中读取;以及
控制器,其控制所述半导体存储器,
所述控制器被配置为识别多个第一命令、第二命令和第三命令,所述第一命令在开启所述存储器装置之后将所述存储器装置转换为所述第一状态,每个第一命令包括一个或多个命令,所述第二命令将所述存储器装置从所述第一状态转换为所述第二状态,所述第三命令在开启所述存储器装置之后将所述存储器装置转换为所述第二状态而不经过所述第一状态,所述第三命令包括一个或多个命令,
当在所述第一状态下所述存储器装置通过接收所述第二命令而进行向所述第二状态的转变时,所述控制器输出表明所述存储器装置进行向所述第二状态转变的响应,并且
当在开启所述存储器装置之后所述存储器装置通过接收所述第三命令而进行向所述第二状态的转变时,所述控制器输出表明所述存储器装置进行向所述第二状态转变的响应。
根据本发明的一方面的电子装置包括寄存器,所述寄存器保持用于选择所述电子装置的目标地址,
所述电子装置被配置为识别具有第一格式的命令和具有第二格式的命令,要求在开启所述电子装置之后且在完成对所述电子装置的初始化之前提供所述具有第一格式的命令,所述具有第一格式的命令没有目标地址且包括一个或多个命令,
要求在开启所述电子装置之后且在完成对所述电子装置的初始化之前提供所述具有第二格式的命令,所述具有第二格式的命令包括具有目标地址的目标地址段且包括一个或多个命令,
当所述电子装置接收到所述具有第一格式的命令且通过所述电子装置可执行所述具有第一格式的命令时,所述电子装置输出响应且执行由所述具有第一格式的命令指示的处理,
当所述电子装置接收到在所述目标地址段中具有与所述寄存器所保持的值相等的值的所述具有第二格式的命令时,所述电子装置输出响应并执行由所述具有第二格式的命令指示的处理,
当所述电子装置接收到在所述目标地址段中具有表明广播的值的所述具有第二格式的命令时,所述电子装置执行由所述具有第二格式的命令指示的处理而不输出响应,并且
当所述电子装置接收到在所述目标地址段中具有不同于所述广播且与所述寄存器所保持的值不同的值的所述具有第二格式的命令时,所述电子装置忽略所述具有第二格式的命令而没有响应。
根据本发明的一方面的主机设备包括:
插槽,可移除的卡装置插入其中;
第一总线,其连接到所述插槽;
第一主机控制器,其使得能够通过所述第一总线与所述卡装置通信,并且其初始化所述卡装置;
多个上述电子装置,所述电子装置的每个寄存器保持彼此不同的值;
第二总线,多个所述电子装置与其连接;以及
第二主机控制器,其通过所述第二总线选择所述电子装置中的一个以使得能够进行通信,并且其通过发出所述具有第二格式的命令来初始化所述电子装置,以将所述电子装置转换为完成初始化的状态。
附图说明
图1示出根据本发明第一实施例的装置以及该实施例的装置被嵌入其中的主机设备的示意性配置;
图2示出嵌入的装置的详细配置;
图3示出根据第一实施例的嵌入的存储器装置的状态转变;
图4示意性示出启动读取状态转变指示命令;
图5示意性示出扩展的电压检查命令;
图6是示出根据第一实施例的主机设备的操作的流程图;
图7和8示意性示出其中扩展的电压检查命令被进一步扩展的实例;
图9是示出根据本发明第二实施例的主机设备的操作的流程图;
图10示意性示出根据本发明第三实施例的装置以及该装置被嵌入其中的主机设备的配置;
图11是示出根据第三实施例的主机设备的操作的流程图;
图12是示出由根据本发明的第四实施例的主机设备执行的在嵌入的装置中的启动代码读取操作的流程图;
图13是示意性示出根据第四实施例的主机设备的框图;
图14是示出根据本发明的第五实施例的主机设备所使用的ACMD8的概念性视图;
图15示出根据第五实施例的装置的状态转变;
图16是示出根据第五实施例的主机设备的操作的流程图;
图17是示出根据第五实施例的装置的操作的流程图;
图18是示出根据本发明的第六实施例的主机设备的操作的流程图;
图19是示出根据本发明的第七实施例的主机设备的操作的流程图;
图20是示出根据本发明的第八实施例的主机设备的操作的流程图;
图21是示出根据本发明的第九实施例的主机设备的框图;
图22是示出根据第九实施例的主机设备的操作的流程图;
图23示出根据第九实施例的装置的状态转变;以及
图24-26是示出根据第九实施例的主机设备的操作的流程图。
具体实施方式
下面将参考附图描述本发明的实施例。在以下描述中,具有基本相同的功能和配置的部件由相同的参考字符表示,并且仅在必要时提供重复描述。然而,这些图是示意表示,并且显然这些图的尺寸关系和部件之间的比例彼此不同。
在以下实施例中,仅仅通过实例来示例设备和方法,以具体化本申请的技术思想,并且该技术思想不将部件的材料、形状、结构和布置局限于以下实施例。对于该技术思想,在本申请的权利要求的范围内可进行各种修改和改变。
在本发明的每个实施例中,可通过硬件和计算机软件之一或其组合来实现每个功能块。因此,从功能的观点,如下描述每个块,使得每个块可清楚地表示为硬件和计算机软件。所述功能被执行为硬件还是软件取决于具体实施例或者对整个系统施加的设计限制。虽然本领域技术人员在每个具体实施例中可通过不同方法实现所述功能,但对实现的确定也包括在本申请的范围内。
(第一实施例)
下面描述根据本发明第一实施例的电子装置和主机设备。第一实施例的电子装置具有这样的配置,其中该电子装置可被嵌入主机设备中,并且该主机设备支持该电子装置。将参考图1至8描述第一实施例的电子装置和主机设备。
图1示出根据本发明第一实施例的装置以及该实施例的装置被嵌入其中的主机设备的示意性配置。参考图1,主机设备1包括两个主机控制器2和3、插槽4、CPU(中央处理单元)6以及系统存储器7。
CPU 6控制主机设备1的整体操作,并且根据存储在ROM(只读存储器,未示出)中的程序进行操作。使用系统存储器7,以便CPU 6在系统存储器7中暂时存储各种数据,并且系统存储器7还用于执行可执行程序。
主机控制器2和3包括各种软件和硬件以及与通过总线连接的装置(元件)进行通信所需的协议。具体而言,主机控制器2和3被配置为使得能够通过包括多条信号线的总线进行通信。总线的信号线的实例包括命令线、数据线、时钟线、以及电源线。在主机控制器2和3的功能的一部分中,根据预定规则通过信号线提供且馈送信号。更具体而言,主机控制器2和3分析通过总线提供的信号,从该信号中识别预先设定的位样式,并从该信号中捕获命令。类似地,主机控制器2和3从该信号中识别预定的位样式以捕获数据。在主机控制器2和3中限定有准备好的各种命令。主机控制器2和3可被具体化为由软件或半导体芯片的控制而执行的CPU的功能的一部分,以这些功能可以得到实现。
更具体而言,主机控制器2和3支持时钟线、命令线和数据线。即,主机控制器2和3被配置为通过时钟线、命令线和数据线执行数据传送。
进一步具体地,主机控制器2和3被配置为控制SD接口。在时钟线上的信号上升时,信号接收侧的SD接口模块捕获命令线和数据线上的信号。当时钟线上的信号上升(或下降)时,信号发射侧的SD接口模块向命令线和数据线提供命令(和响应)以及数据。数据线包括四位信号,即,可使用四条信号线来并行地传送数据。
主机控制器2通过形成一条总线的信号线(例如,时钟线、命令线、数据线、以及电源线)连接到插槽4。插槽4被配置为使得可以可移除地插入可移除的卡装置5。卡装置5的实例包括存储器系统以及插槽4所支持的其他装置。
插槽4包括可连接到卡装置5的端子,并且接口中的每条线都连接到对应的端子。在主机控制器2支持SD接口的情况下,在插槽4中提供对应于时钟线、命令线和四位数据线的端子,如图1所示。卡装置5应包括被配置为通过SD接口与主机设备通信的任何卡装置,例如SD卡和SD IO卡。
插槽4检测是否插入了卡装置5,并且向主机接口2提供卡检测信号CD。卡检测信号CD表明是否检测到卡装置5。
主机控制器3的总线通过形成一条总线的信号线(例如,时钟线、命令线、数据线和电源线)而连接到多个嵌入的装置(图1中为四个嵌入的装置)11至14。可将被配置为能够通过主机控制器3而与CPU 6通信的任何类型的装置用作为嵌入的装置11至14。例如,存储器装置和无线LAN(局域网络)装置可用作为嵌入的装置。根据嵌入的装置11至14的功能,可通过公知的技术而实现可用作为嵌入的装置11至14的装置的主要部分。另一方面,在嵌入的装置11至14中,如稍后所述,根据第一实施例来配置用来控制接口的元件。可通过利用在便携式装置(例如SD卡)中密封的半导体芯片来实现嵌入的装置11至14。
嵌入的装置11至14分别包括装置单元11b、12b、13b和14b,以执行嵌入的装置11至14的主要功能(例如存储器功能和无线LAN功能)。
嵌入的装置11至14分别包括控制器(装置控制器)11a、12a、13a和14a。使用接口,将控制器11a、12a、13a和14a配置为能够通过主机控制器3而与CPU 6通信。即,嵌入的装置11至14包括硬件和软件配置,以支持接口。控制器11a、12a、13a和14a以及主机控制器3被电连接,使得可通过构成总线的信号线来进行通信,所述总线连接控制器11a、12a、13a和14a以及主机控制器3。
在主机控制器2和3支持SD接口的情况下,控制器11a至14a被配置为也支持SD接口。控制器11a、12a、13a和14a可被实现为与装置单元11b、12b、13b和14b相独立的CPU或半导体芯片。如上所述,控制器11a、12a、13a和14a可被实现为这样的半导体芯片,在该半导体芯片中利用控制器11a、12a、13a和14a以及装置单元11b、12b、13b和14b。
控制器11a、12a、13a和14a分别包括保持目标地址的地址寄存器11b、12b、13b和14b。指向嵌入的装置11至14中的每一个的独特的地址被写入地址寄存器11b、12b、13b和14b中的每一个中。嵌入的装置11至14的地址在主机设备1的运送中是固定的。在运送主机设备1时,将嵌入的装置11至14中的每一个的地址值输入主机设备1(例如,输入主机设备1中的ROM(未示出))。因此,主机设备1获得嵌入的装置11至14的地址值。
在第一实施例中使用SD接口的情况下,可以将相对卡地址(RCA)用作地址。当主机设备初始化其中使用SD接口的装置时,通过在主机设备与其中使用SD接口的装置之间的协商,RCA具有动态分配给每个装置的独特值。参考图1,分别将地址0001、0002、0003和0004分配给嵌入的装置11、12、13和14。
嵌入的装置11至14中的至少一个(嵌入的装置11)为存储器装置。该嵌入的装置(下文中有时称为嵌入的存储器装置)11包括NAND型闪速存储器11c。NAND型闪速存储器11c包括作为存储区域的多个块。每个块包括串联连接的多个存储器基元。每个存储器基元包括所谓的层叠栅极结构MOSFET(金属氧化物半导体场效应晶体管)。层叠栅极结构MOS晶体管包括隧道绝缘膜、浮栅电极、电极间绝缘膜、控制栅电极和源极/漏极扩散层。在每个存储器基元晶体管中,阈值电压根据在浮栅电极中累积的电子的数目而变化,并且根据阈值电压的差异来记录信息。包括读出放大器和存储器的电压产生电路的控制电路具有这样的配置,其中可以在存储器基元晶体管中写入多位数据和从其中读取多位数据。以页为单位进行数据的写入和读取。以包括多个页的块单位进行数据的擦除。
如图2所示,根据应用和所存储的数据的种类,划分闪速存储器11c的存储区域。主机设备以及主机设备的用户可自由地访问和使用用户区域11c1。例如,在用户区域11c1中存储各种数据和操作主机设备所需的程序。
在安全区域11c3中存储仅可通过特定主机设备1存取的数据,并且仅当满足预定条件时,主机设备1的用户才可访问安全区域11c3。用户区域11c1和11c3中的数据通过任意文件系统(例如,FAT文件系统)来格式化和管理。
主机设备1和用户不能直接访问系统区域11c4,并且控制器11a管理系统区域11c4。例如,在系统区域11c4中存储关于控制器11a的控制的信息和安全信息。
在启动代码区域(启动区域)11c2中存储启动代码。启动代码是用于执行一系列进程的至少一部分的代码的组,并且要求该系列进程在开启主机设备1之后且在起动系统(OS)之前执行。
启动区域11c2中的数据不使用文件系统来管理。按照从较低地址的页到较高地址的页的顺序在启动区域11c2中存储启动代码。在开启主机设备1之后,主机设备1通过特定的方式按照从较低地址到较高地址的顺序将启动区域11c2中的启动代码读取到系统存储器7,并且CPU 6执行启动代码以在启动系统之前执行该系列进程。因此,该系统包括文件系统,从而可以在起动系统之后使用该文件系统。
在嵌入的装置11至14中包括另一存储器装置(嵌入的装置12)。在该嵌入的装置(下文中有时称为嵌入的存储器装置)12中不提供启动区域。即,该嵌入的装置包括其中排除了图2的启动区域的多个区域,具体而言,通用区域、安全区域和系统区域。
下面将描述嵌入的存储器装置11和12。图3示出根据第一实施例的嵌入的存储器装置的状态转变。虽然以下描述对应于其中使用接口的情况,但第一实施例不限于以下描述。
如图3中所示,当开启嵌入的存储器装置11和12时,主机设备向嵌入的存储器装置11和12提供复位命令(在SD接口中为CMD0)(转变T1)。这使得嵌入的存储器装置11和12能够进行向空闲状态(初始状态)的转变。在图3的描述中所使用的接口中,规定应紧接在通电之后提供复位命令。然而,该规定并不总是必要的。可以在嵌入的装置转换为空闲状态的任何时候发出复位命令。
然后,嵌入的存储器装置11和12执行向这样的状态转变所需的处理,在该状态下,可从嵌入的存储器装置11和12读取数据,可在嵌入的存储器装置11和12中写入数据,并且可从嵌入的存储器装置11和12擦除数据(已完成初始化的状态)。根据所使用的接口,在该处理中存在各种进程,下面将参考具体实例来描述该处理。例如,虽然不同于以下实例,但在第一实施例中还包括这样的接口,一个命令进行向已完成初始化的状态的转变。
首先,提供电压检查命令(在SD接口中为CMD8)(转变T2)。可将公知的接口中提供的命令用作为电压检查命令。当接收到电压检查命令时,嵌入的存储器装置11和12提供表明嵌入的存储器装置11和12所支持的电压范围的响应。有时,主机设备1将伴随该命令的电压范围的确认设定到初始化开始条件。
可以使用包括在国际专利申请No.PCT/JP2005/021689(WO2006/057340)中所描述的那些的电压检查命令,在此通过参考引入该参考文件的整个内容(所有页)。电压检查命令包括命令段、保留段、电压范围识别段、检查样式段以及错误检测代码段。命令段具有表明电压检查命令的独特的位样式。电压范围识别段具有表明主机设备1所支持的电压范围的位样式。使用检查样式段,以便主机设备确认电压检查命令的有效性和使用稍后提到的响应而对电压检查命令的响应。检查样式段具有预定的位样式。错误检测代码段包括错误检测代码,例如CRC(循环冗余检查)。当接收到电压检查命令时,嵌入的存储器装置11和12发送回一个响应。该响应具有与命令相同的格式,并且在该响应的电压范围识别段中形成清楚地表明存储器装置所支持的电压范围的位样式。
然后,向嵌入的存储器装置11和12提供存储器装置初始化命令(在SD接口中为ACMD41),这进而又开始初始化。当完成初始化时,向存储器装置提供ID(CID)传输请求命令和地址传输请求命令,存储器装置针对这些命令提供响应,并且存储器装置进行向备用状态的转变(转变T3)。可以将公知接口中限定的命令用作为ID传输请求命令,并且该ID传输请求命令请求传输装置的独特的ID号码,利用该ID号码,通过接口(在SD接口中为CMD2)来进行通信。可以将公知接口中限定的命令用作为地址传输请求命令,并且该地址传输请求命令向该装置请求提出地址建议,利用该地址,通过接口(在SD接口中为CMD3)来进行通信。使用该地址,以便主机设备识别被连接到主机设备的装置。当该装置所提出的地址不与已分配的地址重叠时,主机设备批准所提出的地址,否则主机设备再次请求提出另一地址。或者,主机设备可为这些装置指定不同的地址。在这种情况下,不必再次进行请求。
向嵌入的存储器装置11和12提供装置选择命令,其进行向传送状态(transfer state)的转变(转变T4)。装置选择命令的提供将嵌入的装置13和14转换为与传送状态类似的命令接收状态。即使嵌入的装置13和14中的命令接收状态的名称不同于传送状态,该命令接收状态与传送状态具有相同的意义。
可以将公知接口中限定的命令用作为装置选择命令,并且该装置选择命令用于在多个装置被连接到一条总线时(在SD接口中为CMD7)选择一个装置。装置选择命令包括变元(argument)形式的将被选择的装置的地址值。在传送状态下,在接收到规定了与其本身的地址不同的地址的装置选择命令时,嵌入的存储器装置11和12进行向备用状态的转变(转变T5)。
在传送状态下,当接收到读取命令、写入命令和擦除命令(在SD接口中为CMD17、CMD18、CMD24、CMD25和CMD38)时,嵌入的存储器装置11和12根据用于用户区域的命令而进行向读取状态、写入状态和擦除状态之一的转变(转变T6)。当读取、写入和擦除之一结束时,嵌入的存储器装置11和12进行向传送状态的转变(转变T7)。在读取命令或写入命令指示依次读取或写入多个块的情况下,嵌入的存储器装置11和12接收到数据传送停止命令(在SD接口中为CMD12),以进行向传送状态的转变。
在传送状态下,当接收到用以进行向可读取启动代码区域(启动区域)的状态(启动读取状态)转变的命令(在SD接口中为CMD6的功能之一)时,具有启动区域的嵌入的存储器装置(嵌入的存储器装置11)进行向启动读取状态的转变(转变T11)。例如,启动读取状态转变指示命令具有图4中所示的格式。如图4中所示,启动读取状态转变指示命令至少具有命令段CMD和启动读取状态转变指示段BT。命令段CMD具有表明启动读取状态转变指示命令的独特的位样式。当启动读取状态转变指示段BT具有表明转变指示的位样式(例如“1”)时,已接收到启动读取状态转变指示命令的存储器装置进行向启动读取状态的转变。同时,嵌入的存储器装置11发送回对启动读取状态转变指示命令的响应。该响应具有与启动读取状态转变指示命令相同的格式,并且在启动读取状态转变指示段BT中形成表明向启动读取状态进行转变的位样式(例如“1”)。或者,替代在该响应中提供表明向启动读取状态的转变完成的位样式,可以在提供了响应之后在数据线上提供的状态中表明向启动读取状态的转变的完成。
另一方面,由于嵌入的存储器装置12不具有启动区域,虽然嵌入的存储器装置12识别出启动读取状态转变指示命令,但是即使提供了该启动读取状态转变指示命令,嵌入的存储器装置12也会忽略该启动读取状态转变指示命令。即,嵌入的存储器装置12不执行由启动读取状态转变指示命令指示的内容,也不发送回响应。
在启动读取状态下,当接收到这样的启动读取状态转变指示命令时,该指示命令具有表明启动读取状态转变指示段BT已解除的位样式(例如“0”),此时嵌入的存储器装置11进行向传送状态的转变(转变T12)。
在启动读取状态下,当接收到与启动区域地址规定相关联的读取指示命令(在SD接口中为CMD18)时,嵌入的存储器装置11读取在启动区域中的数据(转变T13)。主机设备1通过任何公知的方法识别启动代码大小(启动代码存储于其中的块的数目)。在读取启动代码之后,嵌入的存储器装置11接收到来自主机设备1的数据传送停止命令(在SD接口中为CMD12)。因此,嵌入的存储器装置11进行向启动读取状态的转变(转变T14)。
在启动读取状态下,当接收到用以指示向启动写入状态的转变的命令时,嵌入的存储器装置11进行向启动写入状态的转变(转变T15)。在启动写入状态下,当接收到用以指示启动写入状态的解除的命令时,嵌入的存储器装置11进行向启动读取状态的转变(转变T16)。
在启动写入状态下,当接收到用以指示与启动区域地址规定相关联的写入的命令(在SD接口中为CMD25)时,嵌入的存储器装置11在启动区域中写入数据(转变T17)。在启动代码被写入之后,嵌入的存储器装置11接收到来自主机设备1的数据传送停止命令。因此,嵌入的存储器装置11进行向启动写入状态的转变(转变T18)。由于嵌入的存储器装置12不具有启动区域,虽然嵌入的存储器装置12识别出启动写入状态转变指示命令,但是即使提供了启动写入状态转变指示命令,嵌入的存储器装置12也会忽略该启动写入状态转变指示命令,也不会发送回响应。
在空闲状态下,当提供了用以指示向启动读取状态的转变的命令时,嵌入的存储器装置11进行向启动读取状态的转变。可以通过利用成为从空闲状态到下一状态的转变条件的命令,实现从空闲状态向启动读取状态的转变。在图3的状态转变中,电压检查命令对应于成为从空闲状态到下一状态的转变条件的命令。
图5示出具有指示向启动读取状态转变的功能的电压检查命令。如图5所示,电压检查命令包括命令段CMD、保留段RV、启动读取状态转变指示段BT、电压范围识别段VOL、检查样式段CP和错误检测代码段ED。命令段CMD具有表明电压检查命令的独特的位样式。
启动读取状态转变指示段BT清楚地表明启动读取状态转变指示命令是否指示了启动读取状态转变。例如,“1”表示电压检查命令请求向启动读取状态转变,而“0”表示电压检查命令仅仅请求电压检查操作。命令段CMD、电压范围识别段VOL、检查样式段CPS和错误检测代码段ED与扩展前的电压检查命令中的那些相同。
如图3所示,当接收到用以指示向启动读取状态转变的电压检查命令时,具有启动代码区域的嵌入的存储器装置11进行向启动写入状态的转变(转变T21)。同时,嵌入的存储器装置11发送回一个响应。该响应具有与电压检查命令相同的格式。该响应中的启动读取状态转变指示段(表示段)BT表明向启动读取状态的转变的完成,且具有与启动读取状态转变指示命令相同的值。
另一方面,当接收到指示向启动读取状态转变的电压检查命令时,不具有启动代码区域的嵌入的存储器装置12维持在空闲状态(转变T22)。嵌入的存储器装置12发送回这样的响应,其启动读取状态转变表示段表明未进行向启动读取状态的转变。
在电压检查命令用于仅仅指示电压检查的情况下,启动读取状态转变指示段BT具有不指示转变的值(例如“0”)。在响应中,同样的值被设定到启动读取状态转变表示段BT。
在启动读取状态下,当接收到复位命令时,嵌入的存储器装置11进行向空闲状态的转变(转变T23)。
通过利用具有启动读取状态转变指示段BT的电压检查命令,嵌入的存储器装置11可以直接转换到启动读取状态而不经过初始化。因此,主机设备1可以最小数目的步骤开始启动代码读取。
将参考图6描述主机设备1的操作以及嵌入的装置11至14的操作。特别地,将描述从主机设备1的通电(主机控制器2和3)到每个嵌入的装置的初始化完成的操作。下面还将描述主机设备和嵌入的装置所具有的未在上面进行描述的功能。
图6是示出根据第一实施例的主机设备的操作的流程图。图6示出用以将嵌入的装置11至14转换到完成了初始化的状态的处理,并且该处理在卡装置5初始化之前进行。
参考图6,开启主机控制器2和3(步骤S1)。因此,向嵌入的装置11至14提供电力。主机控制器3向嵌入的装置11至14提供复位命令(步骤S2)。复位命令用于将已接收到复位命令的装置转换为空闲状态(在SD接口中为CMD0)。不总是需要提供复位命令(步骤S2)。即,当主机设备在通电时自动进行向空闲状态的转变时,主机控制器3不必提供复位命令。在嵌入的装置11至14在除了通电以外时被初始化的情况下,提供复位命令。在后面的实施例中同样如此。
通过利用在开始初始化之前要求发出的命令,主机控制器3进行向启动读取状态的转变。例如,可利用电压检查命令作为该命令。
假定在连接具有启动区域的多个装置的状态下不使用电压检查命令。因此,在第一实施例中,电压检查命令被进一步扩展。即,电压检查命令被扩展为仅对希望的嵌入的装置11至14有效。具体而言,如图7中所示,在具有启动读取状态转变指示段BT的电压检查命令中插入表明命令目标的地址段AD。在SD接口中,如图8中所示,通过在假定为一对一通信的接口中紧接在命令(下文中称为常规命令)之前向段区域添加这样的命令(CMD55),来支持该命令扩展,其中上述命令(CMD55)具有表明目标地址的地址段AD。
下面将描述对常规命令的扩展。通过在任何命令(例如,已描述的复位命令和电压检查命令)中插入地址值,进行该扩展。通过将有待指定的嵌入的装置的地址值设定为扩展的命令的地址段AD指向的目标,仅仅所希望的嵌入的装置响应于扩展的命令。不具有该目标地址的嵌入的装置忽略该扩展的命令(不执行扩展的命令所指示的内容,也不发送回响应)。
另一方面,将预定的值(例如“FFFFh”)设定给地址段AD,这允许常规命令为了广播的目的而被扩展。当嵌入的装置11至14接收到广播的扩展的命令时,虽然嵌入的装置11至14并不发送回响应,但嵌入的装置11至14执行由该命令限定的处理。这是因为,由于在总线上响应彼此冲突,防止对来自嵌入的装置11至14的响应的破坏。此外,通过将预定值(例如“0000”)设定给地址段AD,可以确保与不识别扩展的命令的常规装置的兼容性。
仅有嵌入的装置11使用扩展的电压检查命令转换到启动读取状态。具体而言,在将目标的嵌入的装置11的地址值(“0001”)设定给扩展的电压检查命令的地址段时,启动读取状态转变指示段BT得到启用。虽然具有变元的扩展的电压检查命令还被提供到嵌入的装置12至14,但嵌入的装置12至14不是命令目标。因此,不具有该目标地址的嵌入的装置12至14忽略该扩展的命令,并且维持在空闲状态下。除非在嵌入的装置12至14转换到已完成初始化的状态之前,嵌入的装置12至14接收到在空闲状态下将被提供的命令(在第一实施例中为包括本身作为目标的电压检查命令),否则处于空闲状态的嵌入的装置12至14维持在空闲状态。
当嵌入的装置11接收到扩展的电压检查命令(其中在指示向启动可读状态转变的同时将嵌入的装置11规定为目标)时,嵌入的装置11发送回表明启动读取状态转变表示段被启用(进行了转变)的响应,并且进行向启动读取状态的转变(步骤S3)。该响应具有与扩展的电压检查命令相同的格式。不同于与卡装置5的通信,主机控制器3预先获得嵌入的装置11的工作电压范围以及应在初始化完成前的处理中获得的地址。因此,即使进行向启动读取状态的转变而不进行常规的电压检查或初始化,也不会产生问题。
可以使用具有启动读取状态转变指示段的扩展前(不存在地址规定)的电压检查命令来形成启动读取状态转变指示。在这种情况下,虽然所有嵌入的装置11至14接收到该扩展前的电压检查命令,由于嵌入的装置12至14不具有启动代码区域,嵌入的装置12至14忽略该命令而维持在空闲状态。另一方面,嵌入的存储器装置11识别出扩展前的电压检查命令,从而进行向启动读取状态的转变。然而,在控制的情况下,需要仅仅存在一个具有启动代码区域的嵌入的存储器装置。这是为了防止来自具有启动代码区域的多个嵌入的装置的响应在总线上彼此冲突。
主机控制器3使用数据读取命令来读取在启动代码区域中的启动代码(步骤S4)。此时,例如,可以将用以读取多个块的命令用作为数据读取命令。例如,在0或FFh被设定给启动代码区域的首块中的数据位的情况下,确定不存在启动代码。可以通过由主机系统限定的任何方法来规定启动代码大小(启动区域被存储于其中的块的数目)。例如,当预先确定了表明启动代码大小的位置时,可以统一读取启动代码的过程。在使用SD接口的情况下,可以使用命令CMD18和命令CMD12来读取启动代码。虽然除了向嵌入的装置11之外还向嵌入的装置12至14提供该数据读取命令,但由于嵌入的装置12至14处于空闲状态,嵌入的装置12至14不响应于该数据读取命令。
在读取了启动代码之后,主机控制器3发出复位命令,以将嵌入的装置11转换为空闲状态(步骤S5)。
然后,主机控制器3通过与常规技术相同的过程,顺序地初始化嵌入的装置11至14。在以后的描述中,通过实例以特定的顺序初始化嵌入的装置。然而,初始化的顺序不限于以下的说明。例如,可以通过其中也嵌入有存储器装置的所谓的组合(combo)装置,形成嵌入的装置13和14。假定通过组合装置形成嵌入的装置13和14,则可以限定,在扩展的存储器装置初始化命令之前发出扩展的装置初始化命令。以下的说明对应于其中在扩展的存储器装置初始化命令之前发出扩展的装置初始化命令的情况。
主机控制器3提供扩展的电压检查命令,其中嵌入的装置13的地址(0003)被设定给地址段的变元,同时启动读取状态转变指示被禁用(步骤S11)。在嵌入的装置11至14中,仅仅嵌入的装置13发送回对扩展的电压检查命令的响应。在嵌入的装置13不支持扩展的电压检查命令的情况下省略步骤S11。如上所述,由于在嵌入的装置11至14的供应电压与主机控制器3的工作电压之间建立了匹配关系,即使省略了电压检查过程,也不会产生问题。然而,需要使具有启动代码区域的嵌入的装置支持扩展的电压检查命令。
然后,主机控制器3初始化嵌入的装置13。此时,可以使用扩展的装置初始化命令。可以采用参考图7和8描述的技术作为扩展方法。可以将在公知接口中限定的命令用作为装置初始化命令,并且该装置初始化命令请求对除了存储器装置以外的装置的初始化(在SD接口中为CMD5)。主机控制器3提供扩展的SD IO装置初始化命令,其中将嵌入的装置13的地址(0003)设定给地址段的变元(步骤S12)。
当接收到扩展的装置初始化命令时,嵌入的装置13提供表明忙碌的响应,同时开始初始化。主机控制器3重复步骤S12,直到完成初始化而接收到表明就绪的响应(步骤S13)。当完成初始化时,流程转到步骤S14,以开始用以初始化嵌入的装置14的处理。
在步骤S14至S16中,对嵌入的装置14进行与在步骤S11至S13中的那些相同的处理。步骤S14至S16与步骤S11至S13的不同之处在于,扩展的装置初始化命令的地址段具有嵌入的装置14的地址值(0004)。当接收到扩展的装置初始化命令时,嵌入的装置14开始初始化。在嵌入的装置14不支持扩展的电压检查命令的情况下省略步骤S14。当完成了对嵌入的装置14的初始化时,流程转到步骤S21,以开始用以初始化嵌入的装置11的处理。
在步骤S21至S23中,对嵌入的装置11进行与在步骤S11至S13中的那些相同的处理。步骤S21至S23与步骤S11至S13的不同之处在于,在步骤S22中使用扩展的存储器装置初始化命令。可以采用参考图7和8描述的技术作为扩展方法。存储器装置初始化命令的地址段具有嵌入的装置11的地址值(0001)。当接收到存储器装置初始化命令时,嵌入的装置11开始初始化。当完成了对嵌入的装置11的初始化时,流程转到步骤S24,以开始用以初始化嵌入的装置12的处理。
在步骤S24至S26中,对嵌入的装置12进行与在步骤S21至S23中的那些相同的处理。步骤S24至S26与步骤S21至S23的不同之处在于,扩展的存储器装置初始化命令的地址段具有嵌入的装置12的地址值(0002)。当接收到扩展的存储器装置初始化命令时,嵌入的装置12开始初始化。当完成了对嵌入的装置12的初始化时,流程转到步骤S27。
在至少五个嵌入的装置的情况下,对所有嵌入的装置进行与在步骤S11至S26中的那些相同的处理,直到完成对嵌入的装置的初始化。接着,流程转到步骤S27。
在步骤S27和S28中进行将嵌入的装置11至14转换到已完成初始化的状态所需要的处理。在步骤S27中,主机控制器3发出扩展的ID传输请求命令。通过使用参考图7和8描述的技术扩展ID传输请求命令,来获得扩展的ID传输请求命令。在步骤S27中,该扩展的ID传输请求命令的地址段具有表示广播的值。因此,即使嵌入的装置11至14接收到该扩展的ID传输请求命令,嵌入的装置11至14也不发送回ID。
在步骤S28中,主机控制器3发出扩展的地址传输请求命令。通过使用参考图7和8描述的技术扩展地址传输请求命令,获得该扩展的地址传输请求命令。在步骤S28中,该地址传输请求命令的地址段具有表示广播的值。因此,即使嵌入的装置11至14接收到该扩展的地址传输请求命令,嵌入的装置11至14也不发送回提出的地址。
根据步骤S28,嵌入的装置11至14进行向备用状态的转变。然后,在卡装置5被插入主机设备1中的情况下,主机控制器2根据常规方法进行初始化卡装置5所需的处理。
在第一实施例中,嵌入的装置11至14被嵌入主机设备1中。然而,嵌入的装置11至14不限于其被嵌入主机设备1中的应用。例如,第一实施例的嵌入的装置11至14形成在一个芯片中且通过封装而被密封,从而实现卡装置,该卡装置可通过插槽4而被插入到主机设备1中。
由此,第一实施例的嵌入的存储器装置11支持这样的接口,该接口在用以在主机设备通电之后进行从初始状态向下一状态转变的命令中支持用于指示向可读取预定区域(启动代码区域)的状态转变的命令。因此,嵌入的存储器装置11可以访问该预定的区域,而省略向可写入、读取和擦除数据的状态转变所需的处理(初始化处理)。相应地,在该预定区域中存储早期阶段所需要读取的数据(例如启动代码),这允许紧接在对主机设备1启动电源之后访问该数据。
在第一实施例的主机控制器2和3以及控制器11a、12a、13a和14a中,可扩展不具有对假定为一对一通信的常规接口中限定的地址进行规定的功能的命令,从而可规定目标地址。因此,即使多个装置被连接到常规接口的总线,这些装置也可被初始化。
一个总线接口的负载容量取决于连接到该总线接口的嵌入的装置的数目。因此,调整驱动能力的功能被添加到主机设备1或嵌入的装置11至14的I/O基元,或者,根据由负载容量产生的延迟而降低工作频率,这允许根据嵌入的装置的数目进行调整。
(第二实施例)
在第二实施例中,缩短了第一实施例的初始化时间。
第二实施例的嵌入的装置和主机设备具有与第一实施例(图1和2)中的相同的配置。将参考图9描述第二实施例的操作。图9是示出第二实施例的主机设备的操作的流程图。
第二实施例的步骤S1至S5与第一实施例的步骤S1至S5相同。在步骤S5之后,主机控制器3提供扩展的电压检查命令,在该命令中,将地址段值设定至广播值(步骤S31)。即使嵌入的装置11至14接收到扩展的电压检查命令,嵌入的装置11至14也不发送回响应。如上所述,由于在嵌入的装置11至14的供应电压与主机控制器3的工作电压之间建立了匹配关系,即使不发送回对扩展的电压检查命令的响应,主机设备1的操作也不存在问题。尽管如此,发出电压检查命令的原因在于,有时嵌入的装置11至14在接收到电压检查命令的情况下开始初始化。
主机控制器3提供扩展的装置初始化命令,在该命令中,将地址段值设定至广播值(步骤S32)。嵌入的装置13和14开始初始化而不发送回响应。因此,嵌入的装置13和14同时被初始化。嵌入的存储器装置11和12忽略该扩展的装置初始化命令。
主机控制器3提供扩展的存储器装置初始化命令,在该命令中,将地址段值设定至广播值(步骤S33)。嵌入的存储器装置11和12开始初始化而不发送回响应。因此,嵌入的存储器装置11和12同时被初始化。嵌入的装置13和14忽略该扩展的存储器装置初始化命令。步骤S32和S33的顺序可以改变。该顺序是通过假定嵌入的装置13和14为组合装置而确定的实例。
接着,主机控制器3执行用以确认对嵌入的装置11至14的初始化是否已完成的处理。具体而言,主机控制器3执行与步骤S12相同的处理。主机控制器3重复步骤S12中的处理,直到主机控制器3接收到表明其中初始化已完成的就绪的响应(步骤S13)。
接着,主机控制器3执行与步骤S15相同的处理。主机控制器3重复步骤S15中的处理,直到主机控制器3接收到表明其中初始化已完成的就绪的响应(步骤S16)。
接着,主机控制器3执行与步骤S22相同的处理。主机控制器3重复步骤S22中的处理,直到主机控制器3接收到表明其中初始化已完成的就绪的响应(步骤S23)。
接着,主机控制器3执行与步骤S25相同的处理。主机控制器3重复步骤S25中的处理,直到主机控制器3接收到表明其中初始化已完成的就绪的响应(步骤S26)。确认对嵌入的装置11至14的初始化是否已完成的顺序可以改变。
接着,通过执行与步骤S27和S28相同的处理,嵌入的装置11至14进行向备用状态的转变。
由此,第二实施例的嵌入的装置11至14以及主机设备1支持与第一实施例中的相同的接口。因此,获得与第一实施例相同的效果。第二实施例的嵌入的装置11至14以及主机控制器2和3支持这样的接口,该接口支持扩展的命令,从而可以规定目标地址。因此,获得与第一实施例相同的效果。
第二实施例的主机控制器3以广播的方式传输用以指示嵌入的装置11至14的初始化的命令。因此,嵌入的装置11至14被同时初始化,从而可以缩短初始化所需的时间。
(第三实施例)
第三实施例涉及利用具有仅仅一条总线的主机设备支持多个装置的方法。将参考图10和11描述根据第三实施例的方法。图10示意性示出根据本发明第三实施例的装置以及该装置嵌入其中的主机设备的配置。
如图10中所示,主机设备21包括一个主机控制器22。主机控制器22具有与第一实施例的主机控制器2和3相同的配置。
嵌入的装置11至14通过一条总线而连接到主机控制器22。主机控制器22通过缓冲器23和模拟开关24而连接到插槽4。具体而言,仅仅从主机控制器22朝向插槽4流动的信号的线通过缓冲器23而从主机控制器22连接到插槽4。单向信号线(例如时钟线)对应于该信号线。
对于在主机控制器22与插槽4之间沿两个方向流动的信号的线,主机控制器22和插槽4通过模拟开关24而连接。双向信号线(例如命令线和数据线)对应于该信号线。虽然可以使用双向缓冲器,但有必要使主机控制器22使用控制信号来控制总线方向。通常,不准备控制信号。模拟开关24可控制所有的信号线而不利用缓冲器23。
当CPU 6通过主机控制器22而将启用信号EN提供给缓冲器23和模拟开关24时,缓冲器23和模拟开关24电连接主机控制器22和插槽4。这使得CPU 6能够进行与插槽4的通信(卡装置5被插入插槽4中)。
主机控制器22还通过对应的信号线(时钟线、命令线、数据线和电源线)而分别连接到控制器11a、12a、13a和14a。
插槽4检测是否插入了卡装置5,并且插槽4向主机接口2提供卡检测信号CD。卡检测信号CD表明是否检测到卡装置5。在未插入卡装置5的情况下,CPU 6使缓冲器23和模拟开关24保持关断。当插槽4检测到插入了卡装置5时,在嵌入的装置11至14与主机控制器22之间没有进行通信或数据传送的条件下,CPU 6开启缓冲器23和模拟开关24。
主机设备21具有在插槽4中设置的盖子4a。在该盖子4a中设置有传感器。当盖子4a打开时,传感器向主机控制器22提供盖子打开和关闭信号LD。这意味着存在在盖子4a打开时移除卡装置5的可能性。当通过盖子打开和关闭信号LD而检测到从插槽4移除卡装置5的可能性时,CPU 6快速停止对卡装置5的访问,以关断缓冲器23和模拟开关24。因此,防止来自插槽4的信号与来自嵌入的装置11至14的信号在总线上冲突。
其他配置与第一实施例的配置相似。
下面将参考图11描述第三实施例的主机设备的操作。图11是示出第三实施例的主机设备的操作的流程图。如图11中所示,开启主机控制器22(步骤S1)。主机控制器22启用启动信号以开启缓冲器23和模拟开关24(步骤S41)。主机控制器22发出复位命令(步骤S2)。主机控制器22禁用启动信号以关断缓冲器23和模拟开关24(步骤S42)。因此,主机控制器22不与卡装置5而仅与嵌入的装置11至14通信。
此时,嵌入的装置11至14被初始化。具体而言,执行与第一实施例的步骤S3至S5中的处理相同的处理。接着,执行与第一实施例的步骤S11至S16以及S21至S26、或者第二实施例的步骤S31至S33、步骤S12、S13、S15、S16、S22、S23、S25和S26中的处理相同的处理。接着,执行与第一实施例的步骤S27和S28中的处理相同的处理。因此,嵌入的装置11至14进行向备用状态的转变。之后,嵌入的装置11至14不接受除了用以请求从备用状态进行状态转变的命令(例如,装置选择命令)之外的命令。因此,主机控制器22基本上处于这样的状态,其中主机控制器22仅与插入插槽4中的卡装置5通信。
主机控制器22开启缓冲器23和模拟开关24(步骤S43)。此时,主机控制器22初始化卡装置5,以将卡装置5转换到备用状态。
具体而言,主机控制器22向卡装置5提供具有启动读取状态转变指示段的电压检查命令(步骤S44)。该启动读取状态转变指示段被无效化。
主机控制器22向卡装置5提供装置初始化命令或存储器装置初始化命令(步骤S45)。一旦开始初始化,卡装置5提供表明忙碌的响应。主机控制器22重复步骤S45中的处理,直到主机控制器22接收到表明其中已完成初始化的就绪的响应(步骤S46)。
当完成初始化时,主机控制器22进一步执行将卡装置5转换到备用状态所需的处理。具体而言,主机控制器22使用ID传输请求命令而从卡装置5读取ID(步骤S51)。主机控制器22使用地址传输请求命令而从卡装置5接收提出的地址建议(步骤S52)。此时,嵌入的装置11至14也接收到该地址传输请求命令。然而,如上所述,由于嵌入的装置11至14在备用状态下忽略该地址传输请求命令,因此嵌入的装置11至14的地址值不变。
主机控制器22确定卡装置5所提出的地址值是否与嵌入的装置11至14的地址值匹配(步骤S53)。当卡装置5所提出的地址值与嵌入的装置11至14的地址值匹配时,流程返回到步骤S52,并且主机控制器22请求提出其他地址。主机控制器22重复步骤S52中的处理,直到卡装置5所提出的地址值与嵌入的装置11至14的地址值不匹配。虽然嵌入的装置11至14在备用状态下忽略该地址传输请求命令,但卡装置5可接受该地址传输请求命令,从而改变地址。
如上所述,第三实施例的装置和主机设备支持与第一实施例中的相同的接口。因此,获得与第一实施例相同的效果。第三实施例的装置和主机设备还支持这样的接口,该接口支持扩展的命令,从而可以规定目标地址。因此,获得与第一实施例相同的效果。当采用第二实施例的方法来初始化第三实施例的嵌入的装置11至14时,在第三实施例的主机设备中获得与第二实施例相同的效果。
在第三实施例的主机设备21中,主机控制器22和插槽4通过缓冲器23和模拟开关24而连接。因此,插槽4可与主机控制器22电分离。在插槽4与主机控制器22分离的同时嵌入的装置11至14转换到备用状态之后,插槽4被连接到主机控制器22以启用卡装置5,从而进行向备用状态的转变。因此,即使内部装置11至14以及插槽4连接到一条总线,也可以适当地初始化内部装置11至14以及插槽4。
(第四实施例)
第四实施例涉及对启动代码的详细读取。因此,第四实施例可与第一至第三实施例组合。下面将参考图12和13描述第四实施例。
图12是示出由第四实施例的主机设备执行的在嵌入的装置中的启动代码读取操作的流程图。即,图12是示出直到在第一至第三实施例中完成启动代码读取的详细流程的流程图。
如图12中所示,执行与步骤S1和S2相同的处理。接着,主机控制器3或22提供用以指示向启动读取状态转变的命令(步骤S61)。与第一实施例类似地,可以利用包括启动读取状态转变指示段的电压检查命令作为用以指示向启动读取状态转变的命令。
嵌入的装置11至14接收指示向启动读取状态转变的电压检查命令。在任何嵌入的装置具有启动区域的情况下,具有启动区域的嵌入的装置(例如,图3的嵌入的装置11)发送回响应。该响应中的启动读取状态转变指示段具有表明已进行转变的位样式。其他嵌入的装置(例如,图14的嵌入的装置12至14)不发送回响应,这是因为其他嵌入的装置不具有启动区域。
可使用扩展的电压检查命令来替代电压检查命令。在这种情况下,在扩展的电压检查命令的地址段中描述具有启动区域的嵌入的装置的地址(例如,图3中的“0001”)。
接着,主机控制器3或22确认是否发送回了对电压检查命令的响应(步骤S62)。当没有发送回响应时,由于不存在具有启动区域的嵌入的装置,流程转到步骤S5,并且从嵌入的装置11至14读取启动代码的处理结束。
当接收到对电压检查信号的响应时,主机控制器3或22确认启动读取状态转变段是否具有表明向启动读取状态转变的位样式(步骤S63)。当启动读取状态转变段不具有表明该转变的位样式时,流程转到步骤S5。另一方面,当启动读取状态转变段具有表明向启动读取状态转变的位样式时,流程转到步骤S64,从而主机设备读取启动代码。
在步骤S64中,主机控制器3或22发出读取命令(步骤S64)。在SD接口的情况下,可以将多块读取命令(CMD18)用作为该读取命令。主机控制器3或22接收对该读取命令的响应(步骤S65)。主机控制器3或22通过确认在该响应中的错误校正代码或错误检测位样式的匹配,来确认在该响应中是否存在错误(步骤S66)。
当在该响应中存在错误时,流程转到步骤S81。在步骤S81中,主机控制器3或22发出数据传送结束命令(在SD接口中为CMD12)以停止读取。接着,主机控制器3或22接收对该数据传送结束命令的响应(步骤S82),并且流程转到步骤S5。
另一方面,当未检测到错误时,主机控制器3或22读取启动代码区域的第一块中的数据并将所读取的数据保存在缓冲器中(步骤S71)。数据从嵌入的装置11中读取。主机控制器3或22分析第一块中的数据,以确认是否存在启动代码(步骤S72)。可以通过预先获得表明不存在启动代码的样式,例如,所有的特定位置被设定为0或1,进行该确定。
当不存在启动代码时,主机控制器3或22废弃缓冲器的内容,并且流程转到步骤S81。当存在启动代码时,主机控制器3或22分析启动代码的内容,以获得启动代码大小(例如,启动代码被存储在多少个块中)(步骤S73)。可通过预先获得表明启动代码大小的数据的位置而使用常见的过程。
主机控制器3或22将缓冲器中的数据传输到系统存储器7(步骤S74)。主机控制器3或22读取启动区域的第二块的数据并将所读取的数据保存在缓冲器中,并且将所读取的数据传送到系统存储器7(步骤S75)。参考在步骤S73中所获得的启动代码大小,主机控制器3或22重复步骤S75中的处理,直到读取所有的启动代码(步骤S76)。当对所有的启动代码完成读取时,流程转到步骤S81。
如在第一实施例中所述,在本发明的每个实施例中提供了这样的命令,该命令使得在主机设备1和21开启之后能够进行向启动读取状态转变而不经过通常的初始化处理。因此,从通电到启动代码读取所需要的处理的数目显著减少。因此,对于第四实施例的启动代码读取处理,替代CPU 6,可以使用在主机控制器3或22中设置的DMA(直接存储器访问)控制器来自动读取启动代码。
图13是示意性示出第四实施例的主机设备的框图。如图13中所示,除了第一实施例的部件之外,主机控制器3或22还包括DMA控制器42。DMA控制器42被配置为使用公知技术来执行第四实施例的操作。当使用DMA控制器时,可以在没有CPU 6的条件下进行对完成启动代码读取的的多条处理。在主机设备41中,虽然在图13中省略了,但图13的配置之外的其他配置与第一实施例(图1)和第三实施例(图10)的那些配置相同。
由此,第四实施例的嵌入的装置11至14以及主机控制器3或22支持与第一实施例中的相同的接口。因此,从主机设备41的通电直到向启动代码读取状态的转变所需的处理的数目减少,因而从通电到启动代码读取的完成所需的处理的数目减少。相应地,可以通过DMA控制器42来执行所述一系列处理。还可以通过组合第四实施例与第一至第三实施例,获得由第一至第三实施例所获得的效果。
(第五实施例)
下面将描述本发明的第五实施例。在第五实施例中,更具体地描述第一实施例,并且其配置和操作与第一实施例的基本相似。在第五实施例中,附加“b”的数值表示二进制数,附加“h”的数值表示十六进制数,而没有附加的数值表示十进制数。
(扩展的电压检查命令)
将参考图14描述在第一实施例中描述的图6的步骤S3中所使用的扩展的电压检查命令。图14是示意性示出扩展的电压检查命令的配置的图。在SD接口中,该扩展的电压检查命令可被定义为ACMD8。
通过组合CMD55和CMD8而形成ACMD8。CMD55包括按照从上位开始的顺序的命令索引和RCA。在命令索引中存储命令的独特的号码。例如,为CMD55存储“110111b”。RCA包括成为随后的命令(在ACMD8的情况下为CMD8)的目标的装置的RCA。
CMD8包括按照从上位开始的顺序的命令索引、QBR(快速启动请求)、保留、VHS、样式、CRC和END。命令索引、QBR、保留、VHS、样式和CRC分别对应于命令段、启动读取状态转变指示段BT、保留段RV 、电压范围识别段VOL、检查样式段CP和错误检测代码段ED。对于CMD8,命令索引为“001000b”。在QBR=“1b”的情况下,CMD8请求向启动读取状态的转变。在QBR=“0b”的情况下,CMD8仅请求电压检查操作。在下面的描述中,假定将QBR设定为“1b”。下文中,用以请求向启动读取状态转变的操作被称为快速启动。
<嵌入的装置11至14的状态转变>
将参考图15描述存储器装置11和12以及装置13和14的状态转变。图15示出存储器装置11的状态转变。装置12至14的状态转变与存储器装置11的状态转变相似,但装置12至14不具有启动读取状态和启动写入状态。
图15的状态转变对应于第一实施例中的图3的状态转变。在图15中,空闲状态、初始化、备用状态、传送状态、(执行读取、写入、擦除)状态、启动读取状态和启动写入状态分别对应于图3的空闲状态、初始化、备用状态、传送状态、(读取、写入、擦除)状态、启动读取状态和启动写入状态。在图15中描述在SD接口中用于在状态之间的转变的特定命令的名称。将参考图15仅仅描述存储器装置11(包括启动区域的装置)的主要的状态转变。
控制器3向存储器装置11发出快速启动命令,由此存储器装置11直接进行从空闲状态向启动读取状态的转变而不经过初始化和备用状态。此时,控制器3向存储器装置11发出ACMD8或CMD8命令,并且在该命令中将QBR设定为“1b”。当在主机设备1中仅仅一个装置支持CMD8时,使用CMD8。然而,当多个装置支持CMD8时,使用ACMD8,这是因为有必要使控制器3选择装置以发出命令。
当控制器3发出其中QBR被设定为“0b”的ACMD8或CMD8时,存储器装置11被初始化。接着,控制器3发出ACMD41,发出ACMD2或CMD2,并发出ACMD3或CMD3,由此将存储器装置11转换到备用状态。CMD2和CMD3与第一实施例中的相似,而ACMD2和ACMD3分别是其中CMD55被添加到CMD2和CMD3的命令。
控制器3发出CMD7,由此处于备用状态的存储器装置11进行向传送状态的转变。显然,有必要使由存储器装置11保持的RCA包括在CMD7的变元中。
控制器3发出CMD6,由此处于传送状态的存储器装置11进行向启动读取状态的转变。CMD6的内容与第一实施例中的图4的CMD6的内容相似。控制器3发出其中BT被设定为“0b”的CMD6,由此通过CMD6而转换到启动读取状态的存储器装置11进行向传送状态的转变。然而,在存储器装置11直接进行从空闲状态向启动读取状态的转变的情况下,即使控制器3发出CMD6,存储器装置11也不进行向传送状态的转变。即,启动读取状态与传送状态之间的转变可以在完成初始化之后进行。
<控制器3中的初始化操作>
下面将参考图16描述由控制器3执行的对嵌入的装置11至14的初始化操作。图16是示出由控制器3执行的处理流程的流程图。
如图16中所示,控制器3开启嵌入的装置11至14(步骤A-0)。接着,控制器3执行步骤A-1至A-18中的处理。步骤A-1至A-18中的处理对应于第一实施例中的图6的步骤S2至S5、S11至S16以及S21中的处理。
控制器3发出CMD0(步骤A-1)。如上所述,CMD0为复位命令。因此,控制器3将嵌入的装置11至14转换到空闲状态,并且将连接控制器3和嵌入的装置11至14的总线(CMD线)设定为输入模式。通过将总线设定为输入模式,总线变为用以等待SD接口中各种命令的状态。
接着,控制器3发出ACMD8(步骤A-2)。在ACMD8中,QBR被设定为“1b”,且RCA被设定为“0001h”。即,控制器3提供快速启动命令,并且对应于RCA=“0001h”的存储器装置11进行向启动读取状态的转变。嵌入的装置12至14维持在空闲状态。
控制器3使用CMD18和CMD12访问在存储器装置11中的启动代码区域(步骤A-3)。这使得控制器3能够读取在启动代码区域中保持的启动代码。
当启动代码读取结束时,控制器3再次发出CMD0,以将存储器装置11转换到空闲状态(步骤A-4)。在当启动代码读取结束时存储器装置11可进行向空闲状态转变的情况下,可以省略步骤A-4中的处理。
控制器3顺序地初始化嵌入的装置11至14。为了初始化嵌入的装置13,控制器3发出ACMD8(QBR=“0b”,且RCA=“0003h”)(步骤A-5)。控制器3发出ACMD5(RCA=“0003h”)(步骤A-6)。ACMD5是包括CMD55和CMD5的命令,并且CMD5用于执行对除了存储器装置之外的装置的初始化。由此,嵌入的装置13被初始化。
当嵌入的装置13通过初始化而变成就绪状态(步骤A-7中的是)时,即,当控制器3从嵌入的装置13接收到表明就绪状态的响应时,控制器3初始化嵌入的装置14。对嵌入的装置14的初始化处理与对嵌入的装置13的初始化处理相似(步骤A-8至A-10)。
接着,控制器3初始化存储器装置11。控制器3发出ACMD8(QBR=“0b”,且RCA=“0001h”)(步骤A-11)。控制器3已经在步骤A-2中向存储器装置11发出ACMD8。即,已经进行了一次对嵌入的装置11的电压检查。因此,可以省略步骤A-11中的处理。控制器3发出ACMD41(RCA=“0001h”)(步骤A-12)。ACMD41是包括CMD55和CMD41的命令,并且CMD41用于执行对存储器装置的初始化。由此,存储器装置11被初始化。
当存储器装置11通过初始化而变成就绪状态(步骤A-13中的是)时,即,当控制器3从存储器装置11接收到表明就绪状态的响应时,控制器3初始化存储器装置12。对存储器装置12的初始化处理与对存储器装置11的初始化处理相似(步骤A-14至A-16)。
接着,控制器3发出ACMD2(RCA=“FFFFh”)(步骤A-17),并随后发出ACMD3(RCA=“FFFFh”)(步骤A-18)。ACMD2包括CMD55和CMD2,并且CMD2用于请求向嵌入的装置11至14的ID传输。ACMD3包括CMD55和CMD3,并且CMD3用于请求向嵌入的装置11至14的地址传输。ACMD2和ACMD3利用RCA=“FFFFh”进行传输,即,广播。由此,嵌入的装置11至14进行向备用状态的转变。
<嵌入的装置11至14中的初始化操作>
下面将描述图16的初始化处理中对嵌入的装置11至14的处理。将描述在嵌入的装置11至14中所包括的标志。
嵌入的装置11至14中的每一个具有两个标志,即,标志“第一CMD55”和标志“兼容模式”。标志“第一CMD55”表明是否已从控制器3接收到CMD55。标志“第一CMD55”被设定至“1b”,直到接收到CMD55,并且当接收到CMD55时,标志“第一CMD55”被设定至“0b”。
标志“兼容模式”用于改变嵌入的装置11至14的操作模式,并且标志“兼容模式”紧接在通电之后被设定至“1b”。在标志“兼容模式”被设定至“1b”期间,嵌入的装置11至14通过其中使用常规SD命令的过程来执行初始化。即,不使用实施例的ACMD8、ACMD2、ACMD3和ACMD5。下文中,将该操作模式称为兼容模式。
当在最初接收到的CMD55的变元中所包括的16位RCA数(下文中称为CRCA)不是“0000h”时,将标志“兼容模式”从“1b”设定至“0b”。即,当最初接收到的CMD55是用以选择嵌入的装置11至14之一的命令时,标志“兼容模式”被设定为“0b”。当标志“兼容模式”被设定为“0b”时,嵌入的装置11至14通过其中使用实施例的扩展的SD命令的过程而执行初始化。即,可使用ACMD8、ACMD2、ACMD3和ACMD5。下文中,将该操作模式称为扩展模式。
嵌入的装置11至14可保持标志“第一CMD55”和标志“兼容模式”。在这种情况下,例如,在嵌入的装置11至14的寄存器中保持标志“第一CMD55”和标志“兼容模式”。然而,嵌入的装置11至14本身不必具有这些标志。即,嵌入的装置11至14仅需要被如此配置,使得操作模式根据标志而改变。控制器3可保持这些标志。
采用存储器装置11作为实例,将参考图17描述嵌入的装置11至14的操作。图17是示出由存储器装置11执行的处理流程的流程图。嵌入的装置11至14接收到来自控制器3的命令,并且根据该命令的内容确定操作。因此,嵌入的装置11至14的操作包括命令接收和对命令的处理的循环。图17的流程图仅对初始化期间有效,并且当嵌入的装置11至14处于空闲状态和图13的初始化时,该流程图有效。通过装置11至14中包括的控制器11b至14b来执行下面描述的下列处理。可通过软件或硬件(例如布线逻辑)来实现下列功能。
存储器装置11将标志“兼容模式”和第一CMD55二者都设定至“1b”(步骤E-1)。当存储器装置11接收到来自控制器3的命令(步骤E-2)时,存储器装置11确定该命令是否为CMD55(步骤E-3)。
当该命令不是CMD55(步骤E-3中的否)时,存储器装置11发送回对该命令的响应,并且根据定义来执行该命令(步骤E-4)。
当该命令是CMD55(步骤E-3中的是)时,存储器装置11确定CMD55是否为最初接收到的CMD55(步骤E-5)。可以基于标志“第一CMD55”是否为“1b”来进行步骤E-5中的确定。即,当标志“第一CMD55”是“1b”时,CMD55是最初接收到的CMD55,而当标志“第一CMD55”是“0b”时,CMD55不是最初接收到的CMD55。
当CMD55是最初接收到的CMD55(步骤E-5中的是)时,存储器装置11将标志“第一CMD55”设定至“0b”。此时,已接收到CMD55的所有嵌入的装置11至14将标志“第一CMD55”设定至“0b”。接着,存储器装置11检查CMD55中的RCA,即,CRCA(步骤E-7)。
当CRCA不是“0000h”(步骤E-7中的否)时,即,当选择了嵌入的装置11至14之一时,存储器装置11将标志“兼容模式”设定至“0b”。因此,存储器装置11以扩展模式进行操作。
另一方面,当CRCA是“0000h”(步骤E-7中的是)时,存储器装置11使标志“兼容模式”保持在“1b”,即,存储器装置11维持兼容模式。即使以后接收到CMD55,也不执行步骤E-6至E-8中的处理(因为在步骤E-5中为否)。即,存储器装置11总是以兼容模式操作,除非在步骤E-8中设定扩展模式。已接收到CMD55的所有嵌入的装置11至14将标志“兼容模式”设定至“0b”。
当在步骤E-5中将标志“第一CMD55”设定至“0b”,当在步骤E-7中将CRCA设定至“0000h”,或者当在步骤E-8中将标志“兼容模式”设定至“0b”时,存储器装置11确定存储器装置11是否处于扩展模式(步骤E-9)。
当存储器装置11处于扩展模式,即,当标志“兼容模式”被设定至“0b”(步骤E-9中的否)时,存储器装置11比较CRCA与通过存储器装置11的寄存器保持的RCA值(下文中称为DRCA)(步骤E-10)。
当CRCA与DRCA匹配时,即,当CRCA等于DRCA(步骤E-10中的是)时,存储器装置11识别出CMD55的目标为存储器装置11,并且存储器装置11发送回对控制器3的响应(步骤E-11)。
当存储器装置11从控制器3接收到随后的命令(步骤E-12)时,存储器装置11确定接收到的命令是否可以在初始化处理中执行(步骤E-13)。当该命令可被执行(步骤E-13中的是)时,存储器装置11向控制器3发送回对该命令的响应(步骤E-14),并且执行该命令(步骤E-15)。接着,流程转到步骤E-2。
当该命令不可被执行(步骤E-13中的否)时,存储器装置11什么也不执行(不发送回响应)。接着,流程转到步骤E-2。当CRCA与DRCA不匹配(步骤E-10中的否)时,存储器装置11识别出CMD55的目标不是存储器装置11。虽然存储器装置11接收到随后发出的命令(步骤E-16),但存储器装置11忽略该命令,且不发送回响应。接着,流程转到步骤E-2。
当在步骤E-9中存储器装置11处于兼容模式,即,当标志“兼容模式”被设定至“1b”(步骤E-9中的是)时,存储器装置11向控制器3发送回对CMD55的响应(步骤E-17)。接着,存储器装置11接收随后的命令(步骤E-18)。当在步骤E-18中接收到的命令是CMD41(步骤E-19中的是)时,存储器装置11向控制器3发送回对ACMD41的响应(步骤E-20),并且执行ACMD41(步骤E-21)。
当在步骤E-18中接收到的命令不是CMD41(步骤E-19中的否)时,存储器装置11不发送回响应且不执行处理。接着,流程转到步骤E-2。这是因为,在包括CMD55的命令中(步骤E-3中的是),CMD41在兼容模式下的初始化处理期间是仅有的可识别的命令。
接着,存储器装置11接收下一个命令,并且重复类似的处理,直到完成初始化。图17的流程对存储器装置12同样适用。除了在步骤S19中确定的命令为CMD5(=ACMD5)之外,图17的流程对嵌入的装置13和14同样适用。
当存储器装置11接收到其中QBR=“1b”的CMD8或者其中QBR=“1b”且CRCA=“0001h”的ACMD8时,存储器装置11执行步骤E-15中的快速启动。即,图17中所示的序列被打断,并且从启动代码区域读取启动代码。
当完成启动代码读取时,流程转到步骤E-2。
在SD接口中,可以以上述方式应用第一实施例。
(第六实施例)
下面将描述本发明的第六实施例。第六实施例涉及当将第二实施例应用于SD接口时进一步的具体的操作。
将参考图18描述由第六实施例的控制器3执行的对嵌入的装置11至14的初始化操作。图18是示出由控制器3执行的处理流程的流程图。
如图18中所示,控制器3开启嵌入的装置11至14(步骤B-0)。接着,控制器3执行步骤B-1至B-3以及B-6至B-17中的处理。步骤B-1至B-3以及B-6至B-17中的处理对应于在第二实施例中描述的图9的步骤S2至S4、S32、S33、S12、S15、S22、S23以及S25至S28中的处理。
控制器3执行步骤B-1至B-3中的处理。步骤B-1至B-3中的处理与第五实施例的步骤A-1至A-3中的处理类似。
控制器3发出ACMD5,其中RCA=“FFFFh”(步骤B-6)。这使得嵌入的装置13和14能够开始初始化。控制器3发出ACMD41,其中RCA=“FFFFh”(步骤B-7)。这使得存储器装置11和12能够开始初始化。
接着,控制器3确认嵌入的装置11至14的初始化是否已完成。即,控制器3执行步骤B-8至B-15中的处理。由于步骤B-8至B-15中的处理与第五实施例的步骤A-6、A-7、A-9、A-10、A-12、A-13、A-15和A-16中的处理类似,省略对其的描述。
最后,控制器3发出其中RCA=“FFFFh”的ACMD2和其中RCA=“FFFFh”的ACMD3(步骤B-16和步骤B-17)。接着,初始化得以完成。
在SD接口中,可以以上述方式应用第二实施例。使用ACMD41,可省略图9的步骤S5和S31中的处理。因此,在步骤S5中省略对复位命令的发出,以消除另一电压检查,并且可通过ACMD41开始对存储器装置的初始化。
(第七实施例)
下面将描述本发明的第七实施例。第七实施例涉及当将第三实施例应用于SD接口时的进一步的具体的操作。
将参考图19描述由第七实施例的控制器3执行的对嵌入的装置11至14的初始化操作。图19是示出由控制器3执行的处理流程的流程图。
如图19中所示,控制器3开启嵌入的装置11至14(步骤C-0)。接着,控制器3执行步骤C-1至C-13中的处理。步骤C-1至C-3中的处理对应于在第三实施例中描述的图11的步骤S41、S2和S42中的处理。步骤C-4中的处理对应于图11的从启动读取到ID和地址请求的处理,即,步骤C-4中的处理对应于步骤A-2至A-18或B-2至B-17中的处理。步骤C-5和C-6中的处理对应于图11的步骤S43和S44的处理。步骤C-7至C-10中的处理对应于图11的步骤S45和S46的处理。步骤C-11至C-13中的处理对应于图11的步骤S51至S53的处理。
控制器3发出CMD8,其中QBR=“0b”(步骤C-6)。这使得能够执行对卡装置5的电压检查。接着,控制器3发出CMD5(步骤C-7),以初始化卡装置5。接着,控制器3顺序地发出ACMD9、CMD2和CMD3,以完成初始化。
(第八实施例)
下面将描述本发明的第八实施例。第八实施例涉及当将第四实施例应用于SD接口时的进一步的具体的操作。
将参考图20描述由第八实施例的控制器3执行的启动代码读取操作。图20是示出由控制器3执行的处理流程的流程图。
如图20中所示,控制器3开启嵌入的装置11至14(步骤D-0)。接着,控制器执行步骤D-1至D-16中的处理。步骤D-1至D-16中的处理对应于第四实施例的图12中的步骤S2、S61至S66、S71至S76、S81、S82和S5中的处理。当在步骤D-3中没有获得响应时,流程转到步骤D-16。在步骤D-2中,可使用ACMD8来替代CMD8。
(第九实施例)
下面将描述本发明的第九实施例。第九实施例涉及在第一至第八实施例中的快速启动的细节,并且在第九实施例中执行快速启动过程中读取操作系统(OS)。下面将仅仅描述与第一至第八实施例不同的点。
<主机设备1的配置>
图21是示出第九实施例的主机设备1的主要部分的框图。在第九实施例的配置中,将ROM 8和RAM 9附加到第一实施例的图1的配置中。第九实施例还在存储器装置11中的闪速存储器11c的配置方面与第一实施例不同。虽然在图21中部分省略,但其他配置和操作与第一实施例中的相同。
ROM 8和RAM 9可包括在图1的系统存储器7中。通过保持主加载程序20的半导体存储器而形成ROM 8。主加载程序20是由CPU 6执行的程序,且在第一至第八实施例中执行对嵌入的装置11至14的初始化和快速启动的过程中被执行。
RAM 9是通过半导体存储器(例如DRAM)形成的,并且用作为CPU6的工作区域。例如,CPU 6将主加载程序20读取到RAM 9上,以产生在RAM 9中需要的表。还将OS(操作系统)读取到RAM 9上并通过CPU6来执行。
存储器装置11包括NAND型闪速存储器11c。NAND型闪速存储器11c包括安全区域30、系统区域31、用户区域32、系统分区33、第一启动分区34以及第二启动分区35。安全区域30、系统区域31和用户区域32对应于第一实施例的图2中的系统区域11c4、安全区域11c3和用户区域11c1。
通过文件系统(例如FAT文件系统)管理系统分区33,并且在系统分区33中存储OS程序和数据。通过使用数据执行程序来起动OS。第一和第二启动分区34和35不通过文件系统来管理,但第一和第二启动分区34和35分别保持次加载程序36。次加载程序36是由CPU 6执行的程序,并且在从系统分区33读取OS的过程中被执行。系统分区33、第一启动分区34和第二启动分区35中的每一个都是从用户区域32物理分隔出来的分区。因此,CPU 6将分区33至35识别为与用户区域32物理上不同的区域。第一和第二启动分区34和35对应于第一实施例中的图2的启动代码区域11c2。
系统分区33以及第一和第二启动分区34和35被配置为禁止写入。这是因为,防止OS程序和数据以及次加载程序因疏忽而改变为禁用对系统的起动。然而,为了更新OS和次加载程序,需要重写OS程序和数据以及次加载程序。因此,控制器3具有用以解除对系统分区33以及第一和第二启动分区34和35的写入禁止的命令或硬件装置。控制器3可以访问系统分区33以及第一和第二启动分区34和35,以通过发出命令或使用硬件装置而重写OS程序和数据以及次加载程序。
在NAND型闪速存储器11c中,用户区域32、系统分区33以及第一和第二启动分区34和35是CPU 6可任意访问的区域。另一方面,安全区域30和系统区域31不是CPU 6可任意访问的区域。仅当满足预定条件时,CPU 6可访问安全区域30,并且仅仅存储器装置11的控制器11a可访问系统区域31。
存储器装置12具有这样的配置,其中系统分区33以及第一和第二启动分区34和35从存储器装置11移除。装置13和14具有与第一实施例相同的配置。
<嵌入的装置11至14的初始化操作的示意性流程>
将参考图22描述由CPU 6和控制器3执行的对嵌入的装置11至14的初始化操作的示意性流程。图22是示出CPU 6和控制器3的操作的时序图。
如图22中所示,CPU 6执行ROM 8中的主加载程序20(步骤S90)。这使得CPU 6能够根据主加载程序20而开始对装置11至14的初始化以及OS起动操作(步骤S91)。
在执行初始化和OS起动过程中,CPU 6向控制器3提供用以读取次加载程序36的命令。响应于来自CPU 6的该命令,控制器3从存储器装置11的第一和第二启动分区33和35之一中读取次加载程序36,并且将该次加载程序36存储在RAM 9中。CPU 6执行存储在RAM 9中的次加载程序36(步骤S92)。
接着,CPU 6根据次加载程序36向控制器3提供用以读取OS程序和数据的命令。响应于来自CPU 6的该命令,控制器3访问存储器装置11的系统分区33,以读取OS程序和数据37,并且控制器3将OS程序和数据37存储在RAM 9中。接着,CPU 6执行存储在RAM 9中的OS程序37,以起动OS(步骤S93)。当OS得到起动时,基于次加载程序36的处理得以完成。
接着,CPU 6根据次加载程序36向控制器3提供用以初始化装置11至14的命令。响应于来自CPU 6的该命令,控制器3执行用于对嵌入的装置11至14的初始化的处理(例如电压检查)(步骤S94)。
通过初始化,装置11至14中的每一个转换到备用状态,并且CPU 6完成基于主加载程序20的处理(步骤S95)。
<嵌入的装置11至14的状态转变>
将参考图23描述存储器装置11的状态转变。图23示出存储器装置11的状态转变。由于图23的状态转变与图15的状态转变基本相似,下面将仅仅描述与图15不同的点。
当控制器3向存储器装置11发出快速启动命令时,存储器装置11进行从空闲状态向启动和系统分区读取状态的转变。启动和系统分区读取状态对应于图15中通过快速启动命令(ACMD8或CMD8,其中QBR被设定至“1b”)所转变到的启动读取状态。在启动和系统分区读取状态下,控制器3可访问第一和第二启动分区34和35以及系统分区33。
当控制器3发出ACMD8或CMD8(其中QBR被设定至“1b”)时,存储器装置11发送回其中QBA(被接受的快速启动)被设定至“1b”的响应,这允许存储器装置11进行从空闲状态向启动和系统分区读取状态的转变。对ACMD8或CMD8的响应具有这样的配置,其中用图14的CMD8中的QBA来替代QBR。QBA是表明快速启动命令是否被接受的信息。在QBA=“1b”的情况下,快速启动命令被接受,而在QBA=“0b”的情况下,快速启动命令没有被接受。
在启动和系统分区读取状态下,使用CMD12和CM17至CMD19来读取次加载程序36,并且次加载程序36使用CMD12和CM17至CMD19来读取OS程序和数据37。CMD19用于选择第一和第二启动分区33和34以及系统分区33。显然,CMD12和CM17至CMD19可以是添加有CMD55的扩展的命令。
当控制器3向存储器装置11发出ACMD41或CMD0时,存储器装置11进行从启动和系统分区读取状态向空闲状态的转变。此时,在存储器装置11通过CMD0进行向空闲状态转变的情况下,要求另一电压检查(ACMD8或CMD8)。
当控制器3向存储器装置11发出ACMD41时,存储器装置11进行从空闲状态向就绪状态的转变。可以在就绪状态下传输装置的独特的ID号码。即,存储器装置11处于其中可接受ACMD2或CMD2的状态。
当控制器3向存储器装置11发出ACMD2或CMD2时,存储器装置11进行从就绪状态向识别状态(ident状态)的转变。可以在ident状态下传输存储器装置11的地址。即,存储器装置11处于其中可接受ACMD3或CMD3的状态。
当控制器3向存储器装置11发出ACMD3或CMD3时,存储器装置11进行从ident状态向备用状态的转变。存储器装置11从ident状态向备用状态的转变完成对存储器装置11的初始化。备用状态类似于图5的备用状态。
当控制器3向存储器装置11发出CMD7时,存储器装置11进行从备用状态向传送状态的转变。此时,显然,所发出的CMD7的变元需要包括由存储器装置11保持的RCA。在传送状态下,控制器3可以使用CMD19来访问系统分区33以及第一和第二启动分区34和35。然而,即使控制器3在传送状态下访问系统分区33以及第一和第二启动分区34和35,存储器装置11也不进行向启动和系统分区读取状态的转变。启动和系统分区读取状态是这样的状态,其中存储器装置11可以通过快速启动命令进行转变。
<存储器装置11的初始化操作>
集中于快速启动,将参考图24来描述由控制器3执行的对嵌入的装置11至14的初始化操作。图24是示出由控制器3执行的处理流程的流程图,并且图24示出根据主加载程序20而执行的处理。
控制器3从ROM 8读取主加载程序20,并且执行ROM 8中的主加载程序20。控制器3根据主加载程序20而执行图16的步骤A-0至A-2中的处理。通常,装置11至14按照缺省处于SD模式,从而可以省略步骤A-1中的CMD0。在步骤A-2中,控制器3在多个装置支持CMD8时发出ACMD8,而在仅仅一个装置支持CMD8时发出ACMD8或CMD8。此时,在要求快速启动时,控制器3将ACMD8或CMD8的变元QBR设定至“1b”,而在不要求快速启动时,控制器3将QBR设定至“0b”。
当接收到ACMD8或CMD8时,装置11至14发送回包括QBA的响应。当不要求快速启动时,或者当装置不支持快速启动时,在该响应中QBA被设定至“0b”。不支持CMD8的装置不发送回响应。因此,当控制器3接收到对步骤A-2中发出的快速启动命令的响应(其中QBA被设定至“0b”)时,或者当控制器3未接收到该响应(在步骤A-19中QBA=0或没有响应)时,控制器3确定装置11至14不支持快速启动(步骤A-20)。接着,流程转到图16的步骤A-5或图18的步骤B-5,并且执行通常的初始化处理。
另一方面,当控制器3接收到其中QBA被设定至“1b”的响应(在步骤A-19中QBA=1)时,控制器3开始快速启动处理。支持快速启动的装置对应于其中QBR被设定至“1b”的ACMD8或CMD8,并且由于对ACMD8或CMD8的响应的传输结束,装置在八个时钟内被改变为四位总线模式(步骤A-21)。
在SD接口中可以使用两种总线模式,即,一位总线模式和四位总线模式。一位总线模式具有一个位的总线宽度,且可以以400kHz的最大频率操作(下文中称为标准速度模式)。四位总线模式具有四个位的总线宽度,且可以以50MHz的最大频率操作(下文中称为高速度模式)。标准速度模式和高速度模式都可以在四位总线模式下操作,但仅仅标准速度模式可以在一位总线模式下操作。
与装置11至14类似地,控制器3被改变为四位总线模式(步骤A-21)。此时,总线操作频率可以从标准速度模式改变为高速度模式,或者通过控制器3与装置11至14之间的调节,确定总线操作模式是否改变为高速度模式。
控制器3发出ACMD18或CMD18,并且访问第一启动分区34,以读取次加载程序36(步骤A-22)。CMD18是数据读取命令。由于发出CMD18,第一和第二启动分区34和35被启用,以在100ms内读取数据。控制器3参考错误标志,以确定数据是否从第一启动分区34中正常读取。该错误标志用于记忆当控制器3对装置11至14执行各种检查(例如,电压检查)时错误的发生。
将参考图25描述步骤A-22中的详细处理。图25是示出步骤A-22中的处理的流程图。
在控制器3中,错误标志被设定至“0b”(步骤F-0)。控制器3发出CMD18或ACMD18(CRCA是保持次加载程序36的装置的RCA,在第九实施例中,RCA=“0001h”)(步骤F-1)。CMD18是多块读取命令。即,CMD18用于读取多个块。
当确认来自装置11的对CMD8的响应中不存在错误(步骤F-2中的否)时,控制器3访问第一启动分区34,从而以块为单位读取数据,并且将数据传输至RAM 9(步骤F-7)。当在步骤F-7的处理中发生读取错误时,装置11维持在其中不提供数据的状态。控制器3通过设定读取超时来检测读取错误。即,当在给定的周期内没有提供数据(步骤F-8中的是)时,控制器3将错误标志设定至“1b”(步骤F-10)。当在步骤F-2中对CMD18的响应具有错误(步骤F-2中的是)时,控制器3也将错误标志设定至“1b”。
当在数据传送中未发生超时(步骤F-8中的否)时,以及当数据读取到最后(步骤F-9中的是)时,控制器3发出CMD12(步骤F-11)。控制器3通过发出CMD12来结束读取操作。当在步骤F-10中错误标志被设定至“1b”时,控制器3也发出CMD12(步骤F-11)来中断数据读取。
例如,可以使用头部信息来执行步骤F-9中的处理。在步骤F-7中访问的第一块的头部地址包括用以控制读取的头部信息,从而控制器3可以参考该头部信息而了解次加载程序36的大小。更具体而言,在头部信息中记录将被读取的块的数目。或者,在控制器3中预先设定块的数目。块的数目还表示步骤F-7和F-8中的循环的次数。当控制器3读取了从头部信息中获得的块的数目或预设的块数目的数据时,控制器3结束读取。
第一和第二启动分区34和35是不通过文件系统进行管理的区域,并且次加载程序36以地址顺序写入在NAND型闪速存储器11c中。因此,可以通过一次多块读取命令(CMD18)来读取次加载程序36。CMD18用于在地址增加的同时顺序地读取块。
参考图24,在步骤A-22中读取数据(次加载程序36)之后,控制器3检查错误标志。当错误标志被设定至“0b”(步骤A-23中的否)时,控制器3确定在读取的数据中是否存在有效的次加载程序36。可以通过预先固定这样的样式来进行该确定,该样式表明不存在启动代码,例如,与步骤S72中的处理相同地,所有的特定位置都被设定至0或1。当存在次加载程序36(步骤A-30中的是)时,控制器3执行读取次加载程序36(步骤A-29)。稍后描述步骤A-29中的处理。
当错误标志被设定至“1b”时,即,当没有成功地读取数据(步骤A-23中的是)时,控制器3发出CMD19或ACMD19(CRCA是保持次加载程序36的装置的RCA,在第九实施例中,RCA=“0001h”)(步骤A-24)。CMD19用于选择分区,因此,选择第二启动分区35。
当在执行CMD19过程中不存在错误(步骤A-25中的否)时,控制器3尝试从第二启动分区35读取次加载程序36(步骤A-27)。以上在图24中描述了步骤A-27中的处理。
当在执行CMD19过程中发生错误(步骤A-25中的是)时,控制器3确定不存在第二启动分区35(步骤A-26),并且流程转到图16的步骤A-5或者图18的步骤B-5。接着,执行通常的初始化处理。
作为步骤A-27中的处理的结果,当从第二启动分区35成功地读取数据(步骤A-28中的否)时,流程转到步骤A-30。当数据没有成功读取(步骤A-28中的是)时,流程转到图16的步骤A-5或者图18的步骤B-5,并且执行通常的初始化处理。
将参考图26描述步骤A-29中的详细处理。图26是示出基于次加载程序36的由控制器3执行的处理流程的流程图。
如图26中所示,开始执行次加载程序36的控制器3发出CMD19(或ACMD19),以选择系统分区33(步骤G-0)。如上所述,系统分区33是其中安装有OS 37的程序和数据的区域。
当没有成功地选择系统分区33(步骤G-1中的是)时,控制器3确定不存在OS 37(步骤G-2),并且流程转到图16的步骤A-5或者图18的步骤B-5。接着,执行通常的初始化处理。
当成功地选择系统分区33(步骤G-1中的否)时,控制器3从系统分区33中读取OS 37的程序和数据(步骤G-3)。由于系统分区33是通过文件系统管理的区域,根据该文件系统的管理,通过多个读取命令(CMD18或ACMD18)来加载包括多个文件的OS 37。加载的OS 37的程序和数据存储在RAM 9中。
当在步骤G-3中完成对OS 37的程序和数据的加载而未发生错误(步骤G-4中的否)时,CPU 6通过执行在步骤G-3中读取的程序和数据而起动OS 37(步骤G-5)。当OS 37已起动时,根据OS 37,CPU 6命令控制器3发出初始化命令(ACMD41),并且存储器装置11被初始化。这使得存储器装置11能够访问所有的分区。
接着,装置12至14通过图16或18中所示的方法初始化。
由此,在第九实施例的配置中,可以在其他装置的初始化之前使用快速启动来读取OS 37,从而可以高速执行对OS的起动。在SD接口中,要花费相对长的时间来初始化装置11至14。因此,当在所有的装置11至14初始化之后起动OS时,需要花费长时间来起动系统。然而,在第九实施例中,不需要在所有的装置11至14初始化之后才起动OS,因此可以紧接在开启主机设备1之后起动OS。
在第九实施例的配置中,可以响应于快速启动命令(ACMD8或CMD8)来将总线改变为四位总线模式,并且还可以将总线改变为高速度模式。也可以省略用于改变总线模式的命令输入(在常规技术中为CMD6或ACMD6)。因此,可以在对次加载程序36和OS 37的读取操作中实现速度提高。这也有助于OS的高速起动。
存储器装置11包括多个(在第九实施例中为两个)启动分区34和35。因此,即使由于某些原因没有从第一启动分区34成功地读取次加载程序36,也可以从第二启动分区35读取次加载程序36,从而可以改善系统的可靠性。可以提供至少三个启动分区。
在第九实施例中,使用CMD19,可以在初始化之前选择装置中的分区。此时,仅仅允许选择启动分区34和35以及系统分区33。换句话说,CMD19是仅可选择启动分区34和35以及系统分区33的命令。因此,阻止了在初始化之前对用户区域32的访问,从而可保护用户数据。
在第一至第九实施例中,在制造工艺期间预先写入通过存储器装置11至14而保持在寄存器11b至14b中的RCA,或者通过外部可访问的连接引脚而重写入或设定RCA。例如,主机设备1可应用于便携式电话和个人计算机。
本领域技术人员很容易想到其他优点和修改。因此,本发明在其更宽的方面不限于在此示出和描述的具体细节和代表性实施例。因此,只要不脱离由所附权利要求及其等价物所限定的总发明构思的精神或范围,可以进行各种修改。

Claims (23)

1.一种能够具有第一状态和第二状态的存储器装置,包括:
半导体存储器,其具有第一存储区域和第二存储区域,所述半导体存储器的数据在所述第一状态下可在所述半导体存储器的所述第一存储区域中写入、从其中读取和从其中擦除,或者在所述第二状态下至少可从所述第二存储区域中读取;以及
控制器,其控制所述半导体存储器,
所述控制器被配置为识别多个第一命令、第二命令和第三命令,所述第一命令在所述存储器装置开启之后将所述存储器装置转换为所述第一状态,每个第一命令包括一个或多个命令,所述第二命令将所述存储器装置从所述第一状态转换为所述第二状态,所述第三命令在所述存储器装置开启之后将所述存储器装置转换为所述第二状态而不经过所述第一状态,所述第三命令包括一个或多个命令,
当在所述第一状态下所述存储器装置通过接收所述第二命令而进行向所述第二状态的转变时,所述控制器输出表明所述存储器装置进行向所述第二状态转变的响应,并且
当在所述存储器装置开启之后所述存储器装置通过接收所述第三命令而进行向所述第二状态的转变时,所述控制器输出表明所述存储器装置进行向所述第二状态转变的响应。
2.根据权利要求1的装置,其中所述控制器包括寄存器,所述寄存器保持分配给所述存储器装置的目标地址值,
当所述第三命令不包括表明目标地址的目标地址段时,所述存储器装置进行向所述第二状态的转变,并且所述控制器输出表明所述存储器装置进行向所述第二状态转变的响应,
当所述第三命令包括表明具有的值等于所述寄存器所保持的值的目标地址的目标地址段时,所述存储器装置进行向所述第二状态的转变,并且所述控制器输出表明所述存储器装置进行向所述第二状态转变的响应,并且
当所述第三命令包括表明具有的值不同于所述寄存器所保持的值的目标地址的目标地址段时,所述存储器装置不执行所述第三命令,并且所述控制器不输出响应。
3.根据权利要求1的装置,其中所述第一命令中的一个包括指示段,所述指示段规定所述存储器装置是否转换为所述第二状态,
所述第三命令是包括所述指示段的所述第一命令中的一个,或者是其中目标地址被附加到所述第一命令中的一个的扩展的命令,并且
对所述第三命令的响应包括表明是否进行了向所述第二状态的转变的表示段。
4.根据权利要求1的装置,其中所述控制器能够通过总线与主机设备通信,
所述总线能够具有第一模式和第二模式,
在所述第一模式下,所述控制器使用第一总线宽度或第一频率进行通信,
在所述第二模式下,所述控制器使用大于所述第一总线宽度的第二总线宽度或者高于所述第一频率的第二频率进行通信,并且
当在开启所述控制器之后所述控制器接收到所述第三命令时,所述控制器在所述第二模式下进行通信。
5.一种存储器装置,包括:
半导体存储器,其包括可任意访问的第一分区,并且能够被配置有第二分区和第三分区,所述第二分区和所述第三分区仅在预定条件下可访问;以及
控制器,其控制所述半导体存储器,
在所述半导体存储器被配置有所述第二分区和所述第三分区的情况下,所述存储器装置能够具有第一状态、第二状态和第三状态,所述半导体存储器的数据在所述第一状态下可在所述第一分区中写入、从其中读取和从其中擦除,在所述第二状态下可从所述第二分区中读取,或者在所述第三状态下可从所述第三分区中读取,
所述控制器被配置为识别多个第一命令、第二命令和第三命令,所述第一命令在所述存储器装置被开启之后将所述存储器装置转换为所述第一状态,每个第一命令包括一个或多个命令,所述第二命令将所述存储器装置从所述第一状态转换为所述第二状态或者从所述第二状态转换为所述第三状态,所述第三命令在所述存储器装置被开启之后将所述存储器装置转换为所述第二状态而不经过所述第一状态,所述第三命令包括一个或多个命令,
当在所述第一状态下所述存储器装置通过接收所述第二命令而进行向所述第二状态的转变时,所述控制器输出表明所述存储器装置进行向所述第二状态转变的响应,所述第二命令包括用以将所述存储器装置转换为所述第二状态的指示,
当在所述存储器装置被开启之后所述存储器装置通过接收所述第三命令而进行向所述第二状态的转变时,所述控制器提供表明所述存储器装置进行向所述第二状态转变的响应,并且
当在所述第二状态下所述存储器装置通过接收所述第二命令而进行向所述第三状态的转变时,所述控制器输出表明所述存储器装置进行向所述第三状态转变的响应,所述第二命令包括用以将所述存储器装置转换为所述第三状态的指示。
6.根据权利要求5的装置,其中所述控制器包括寄存器,所述寄存器保持分配给所述存储器装置的目标地址值,
在所述半导体存储器未配置有所述第二分区和所述第三分区的情况下,
当所述第三命令不包括表明目标地址的目标地址段时,所述存储器装置不进行向所述第二状态的转变,并且所述控制器输出表明所述存储器装置不进行向所述第二状态转变的响应,
当所述第三命令包括表明具有的值等于所述寄存器所保持的值的目标地址的目标地址段时,所述存储器装置不进行向所述第二状态的转变,并且所述控制器输出表明所述存储器装置不进行向所述第二状态转变的响应,并且
当所述第三命令包括表明具有的值不同于所述寄存器所保持的值的目标地址的目标地址段时,所述存储器装置不执行所述第三命令,并且所述控制器不输出响应。
7.根据权利要求5的装置,其中所述第一命令中的一个包括指示段,所述指示段规定所述存储器装置是否转换为所述第二状态,
所述第三命令是包括所述指示段的所述第一命令中的一个,或者是其中目标地址被附加到所述第一命令中的一个的扩展的命令,并且
对所述第三命令的响应包括表明是否进行了向所述第二状态的转变的表示段。
8.根据权利要求5的装置,其中,在所述半导体存储器被配置有所述第二分区和第三分区的情况下,
所述第三分区保持用于所安装的操作系统的程序和数据,并且,
所述第二分区保持第一程序用于起动安装在所述第三分区中的所述操作系统。
9.根据权利要求5的装置,其中所述第三分区使用文件系统来管理,并且
所述第二分区不用文件系统来管理,并且所述第一程序按照地址的顺序来读取。
10.根据权利要求8的装置,其中所述半导体存储器还被配置有第四分区,
在所述存储器装置中,所述第二分区和所述第四分区在所述第二状态下可读取,
所述第四分区保持与所述第一程序类似的程序,并且
在所述第二状态下,读取区域通过所述第二命令从所述第二分区被改变为所述第四分区,并且对所述第二分区或所述第四分区选择性地进行读取。
11.根据权利要求5的装置,其中所述控制器能够通过总线与主机设备通信,
所述总线能够具有第一模式和第二模式,
在所述第一模式下,所述控制器使用第一总线宽度或第一频率进行通信,
在所述第二模式下,所述控制器使用大于所述第一总线宽度的第二总线宽度或者高于所述第一频率的第二频率进行通信,并且
当在开启所述控制器之后所述控制器接收到所述第三命令时,所述控制器在所述第二模式下进行通信。
12.根据权利要求5的装置,其中在所述第二状态和所述第三状态下禁止在所述第二分区和所述第三分区中写入数据,并且
所述存储器装置被配置为识别一个或多个第四命令,所述第四命令使得能够在所述第二分区和所述第三分区中写入数据。
13.一种电子装置,包括寄存器,所述寄存器保持用于选择所述电子装置的目标地址,
所述电子装置被配置为识别具有第一格式的命令和具有第二格式的命令,要求在开启所述电子装置之后且在完成对所述电子装置的初始化之前提供所述具有第一格式的命令,所述具有第一格式的命令没有目标地址且包括一个或多个命令,
要求在开启所述电子装置之后且在完成对所述电子装置的初始化之前提供所述具有第二格式的命令,所述具有第二格式的命令包括具有目标地址的目标地址段,且包括一个或多个命令,
当所述电子装置接收到所述具有第一格式的命令且所述具有第一格式的命令可通过所述电子装置执行时,所述电子装置输出响应且执行由所述具有第一格式的命令所指示的处理,
当所述电子装置接收到在所述目标地址段中具有与由所述寄存器保持的值相等的值的所述具有第二格式的命令时,所述电子装置输出响应并执行由所述具有第二格式的命令所指示的处理,
当所述电子装置接收到在所述目标地址段中具有表明广播的值的所述具有第二格式的命令时,所述电子装置执行由所述具有第二格式的命令所指示的处理而不输出响应,并且
当所述电子装置接收到在所述目标地址段中具有除了所述广播以外的且与由所述寄存器保持的值不同的值的所述具有第二格式的命令时,所述电子装置忽略所述具有第二格式的命令而没有响应。
14.根据权利要求13的装置,其中所述电子装置被配置为对于在开启所述电子装置之后且在完成对所述电子装置的初始化之前要求提供的所有命令,识别所述具有第二格式的命令。
15.一种主机设备,包括:
插槽,可移除的卡装置插入其中;
第一总线,其连接到所述插槽;
第一主机控制器,其允许通过所述第一总线与所述卡装置通信,并且其初始化所述卡装置;
多个根据权利要求13的电子装置,所述电子装置的每个寄存器保持彼此不同的值;
第二总线,多个所述电子装置与其连接;以及
第二主机控制器,其通过所述第二总线选择所述电子装置中的一个以允许通信,并且其通过发出具有第二格式的命令来初始化所述电子装置,以将所述电子装置转换为完成初始化的状态。
16.一种主机设备,包括:
总线;
开关,其通过开启和关断而使所述总线和插槽电连接和断开连接;
所述插槽,其连接到所述开关,且可移除的卡装置插入其中;
一个或多个根据权利要求13的电子装置,其连接到所述总线;以及
主机控制器,其通过所述总线而与所述卡装置和所述电子装置通信。
17.根据权利要求16的设备,其中,在多个所述电子装置连接到所述总线的情况下,在开启所述主机设备之后,
所述开关被关断,
所述电子装置具有不同的目标地址,
所述主机控制器通过发出具有第二格式的命令而初始化所述电子装置,以将所述电子装置转换为完成初始化的状态,
在所述电子装置进行向完成初始化的状态的转变之后,所述开关被开启;以及
在所述开关开启之后,所述主机控制器执行用以将所述卡装置转换为完成初始化的状态的处理,并且所述主机控制器将与所述电子装置的值不同的值设定给寄存器,表明所述卡装置的目标地址。
18.根据权利要求16的设备,其中,当检测到所述卡装置被插入所述插槽时,开启所述开关,但在所述主机控制器与所述电子装置之间不进行数据传送,并且,
当检测到被插入所述插槽中的所述卡装置将从所述插槽被移除时,在所述卡装置从所述插槽移除之前关断所述开关。
19.一种主机设备,包括:
系统存储器;
总线;
根据权利要求1的存储器装置,其连接到所述总线;以及
主机控制器,其与通过所述总线连接的所述存储器装置通信,
所述主机控制器向所述存储器装置提供第三命令,
所述主机控制器从对所述第三命令的响应中确定是否可读取第二存储区,
如果其可读取,所述主机控制器从所述第二存储区域读取数据,以确定所述数据是否为有效的启动代码,
当所述数据不是有效的启动代码时,所述主机控制器中断所述读取,以废弃已读取的数据,
当所述数据是有效的启动代码时,所述主机控制器获得在所述数据中描述的有效启动代码的大小,并且
当完成所述有效启动代码向所述系统存储器的传送时,所述主机控制器执行所述有效启动代码。
20.一种主机设备,其被配置为:
使用文件系统管理根据权利要求1的存储器装置的所述第一存储区域中的数据,
不使用文件系统来管理所述存储器装置的所述第二存储区域中的数据,
按照地址顺序从所述第二存储区域将启动代码读取到系统存储器,以及
执行来自预定位置的启动代码。
21.一种主机设备,包括:
根据权利要求8的存储器装置;
主机控制器,其控制所述存储器装置的操作;
总线,其可通信地连接所述存储器装置和所述主机控制器;以及
存储器,其保持用于初始化所述存储器装置的第二程序,
当所述主机控制器执行所述第二程序时,
在所述存储器装置开启之后,所述主机控制器向所述存储器装置发出所述第三命令,以从所述第二分区读取所述第一程序,
所述主机控制器从所述第三分区读取所述操作系统的所述程序和数据,以通过执行所读取的第一程序来起动所述操作系统,并且
在起动所述操作系统之后,所述主机控制器完成对所述存储器装置的初始化。
22.根据权利要求21的设备,其中所述半导体存储器还被配置有第四分区,
所述第四分区仅在预定条件下可访问,并保持与所述第一程序相似的程序,并且
当所述主机控制器未能从所述第二分区读取所述第一程序时,所述主机控制器使用所述第二命令从所述第二分区切换到所述第四分区,以从所述第四分区读取与所述第一程序相似的程序。
23.根据权利要求22的设备,其中所述总线能够具有第一模式和第二模式,
在所述第一模式下,所述控制器使用第一总线宽度或第一频率进行通信,
在所述第二模式下,所述控制器使用大于所述第一总线宽度的第二总线宽度或者高于所述第一频率的第二频率进行通信,并且
当在开启所述控制器之后发出所述第三命令时,所述总线从所述第一模式切换到所述第二模式,并且发出表明可以进行向所述第二状态的转变的响应。
CN2008800210661A 2007-06-21 2008-06-19 存储器装置、电子装置以及主机设备 Active CN101689246B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP164189/2007 2007-06-21
JP2007164189 2007-06-21
JP072461/2008 2008-03-19
JP2008072461A JP2009026296A (ja) 2007-06-21 2008-03-19 電子デバイス、メモリデバイス、ホスト装置
PCT/JP2008/061602 WO2008156213A1 (en) 2007-06-21 2008-06-19 Memory device, electronic device, and host apparatus

Publications (2)

Publication Number Publication Date
CN101689246A true CN101689246A (zh) 2010-03-31
CN101689246B CN101689246B (zh) 2012-05-09

Family

ID=40156361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800210661A Active CN101689246B (zh) 2007-06-21 2008-06-19 存储器装置、电子装置以及主机设备

Country Status (7)

Country Link
US (1) US20100174866A1 (zh)
EP (1) EP2158564A4 (zh)
JP (1) JP2009026296A (zh)
KR (1) KR20100017873A (zh)
CN (1) CN101689246B (zh)
TW (1) TW200917126A (zh)
WO (1) WO2008156213A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222251A (zh) * 2011-06-23 2011-10-19 中颖电子股份有限公司 高速低功耗嵌入式存储卡
CN103324586A (zh) * 2012-03-23 2013-09-25 Lsi公司 动态自适应缓存系统
CN103403803A (zh) * 2011-02-04 2013-11-20 株式会社东芝 可以很容易在其中设定扩展功能的存储器系统
CN103858116A (zh) * 2011-08-09 2014-06-11 Lsi公司 I/o设备及计算主机互操作
CN107045484A (zh) * 2016-02-05 2017-08-15 爱思开海力士有限公司 数据存储装置
TWI773395B (zh) * 2021-06-22 2022-08-01 慧榮科技股份有限公司 記憶體控制器與連結識別方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006057049A1 (ja) 2004-11-26 2006-06-01 Kabushiki Kaisha Toshiba カードおよびホスト機器
JP5150591B2 (ja) 2009-09-24 2013-02-20 株式会社東芝 半導体装置及びホスト機器
WO2011074708A1 (en) 2009-12-17 2011-06-23 Kabushiki Kaisha Toshiba Semiconductor system, semiconductor device, and electronic device initializing method
CN102103887B (zh) * 2009-12-21 2014-01-01 上海华虹集成电路有限责任公司 Sd卡发布卡片上电状态位的方法及硬件电路
CN102436559B (zh) * 2010-09-29 2016-06-01 联想(北京)有限公司 一种状态切换方法及系统
US9122492B2 (en) * 2010-10-25 2015-09-01 Wms Gaming, Inc. Bios used in gaming machine supporting pluralaties of modules by utilizing subroutines of the bios code
JP5917325B2 (ja) 2012-07-26 2016-05-11 株式会社東芝 ブリッジ回路
US8972818B2 (en) * 2012-10-05 2015-03-03 Qualcomm Incorporated Algorithm for optimal usage of external memory tuning sequence
US9395924B2 (en) 2013-01-22 2016-07-19 Seagate Technology Llc Management of and region selection for writes to non-volatile memory
US9678760B2 (en) * 2014-08-01 2017-06-13 Samsung Electronics Co., Ltd. Memory card and storage system having authentication program and method for operating thereof
WO2016033539A1 (en) * 2014-08-29 2016-03-03 Memory Technologies Llc Control for authenticated accesses to a memory device
CN104598402B (zh) * 2014-12-30 2017-11-10 北京兆易创新科技股份有限公司 一种闪存控制器和闪存控制器的控制方法
KR102468737B1 (ko) * 2017-12-19 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10866746B2 (en) 2017-12-28 2020-12-15 Silicon Motion Inc. Memory addressing methods and associated controller, memory device and host
JP7090495B2 (ja) * 2018-07-18 2022-06-24 キヤノン株式会社 情報処理装置とその制御方法
KR20220093237A (ko) * 2019-11-20 2022-07-05 마이크론 테크놀로지, 인크 메모리 디바이스를 위한 고속 모드
CN114730584A (zh) * 2019-11-29 2022-07-08 铠侠股份有限公司 半导体存储装置以及存储系统
US12079055B2 (en) * 2022-09-21 2024-09-03 Qualcomm Incorporated Input-output voltage control for data communication interface

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272628B1 (en) * 1998-12-14 2001-08-07 International Business Machines Corporation Boot code verification and recovery
US7155579B1 (en) * 2002-12-27 2006-12-26 Unisys Corporation Memory controller having programmable initialization sequence
JP4279699B2 (ja) * 2003-01-31 2009-06-17 パナソニック株式会社 半導体メモリカード、制御プログラム。
JP4314057B2 (ja) * 2003-04-18 2009-08-12 サンディスク コーポレイション 不揮発性半導体記憶装置および電子装置
TW200304623A (en) * 2003-05-26 2003-10-01 Ene Technology Inc Method and apparatus for booting from a portable memory card
US7188235B2 (en) * 2003-07-22 2007-03-06 Winbond Electronics Corp. Method for booting computer system with memory card
US7210030B2 (en) * 2004-07-22 2007-04-24 International Business Machines Corporation Programmable memory initialization system and method
JP4406339B2 (ja) * 2004-09-21 2010-01-27 株式会社東芝 コントローラ、メモリカード及びその制御方法
CN100421053C (zh) * 2005-08-03 2008-09-24 华硕电脑股份有限公司 计算机系统及其适配卡模块
TWI463321B (zh) * 2007-01-10 2014-12-01 Mobile Semiconductor Corp 用於改善外部計算裝置效能的調適性記憶體系統
US7788414B2 (en) * 2007-01-16 2010-08-31 Lantiq Deutschland Gmbh Memory controller and method of controlling a memory

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103403803B (zh) * 2011-02-04 2016-08-10 株式会社东芝 可以很容易在其中设定扩展功能的存储器系统
USRE50101E1 (en) 2011-02-04 2024-08-27 Kioxia Corporation Memory system in which extended function can easily be set
CN103403803A (zh) * 2011-02-04 2013-11-20 株式会社东芝 可以很容易在其中设定扩展功能的存储器系统
USRE48997E1 (en) 2011-02-04 2022-03-29 Kioxia Corporation Memory system in which extended function can easily be set
US9104539B2 (en) 2011-02-04 2015-08-11 Kabushiki Kaisha Toshiba Memory system in which extended function can easily be set
USRE47542E1 (en) 2011-02-04 2019-07-30 Toshiba Memory Corporation Memory system in which extended function can easily be set
US9335953B2 (en) 2011-02-04 2016-05-10 Kabushiki Kaisha Toshiba Memory system in which extended function can easily be set
CN102222251B (zh) * 2011-06-23 2013-03-27 中颖电子股份有限公司 高速低功耗嵌入式存储卡
CN102222251A (zh) * 2011-06-23 2011-10-19 中颖电子股份有限公司 高速低功耗嵌入式存储卡
US9389805B2 (en) 2011-08-09 2016-07-12 Seagate Technology Llc I/O device and computing host interoperation
CN103858116B (zh) * 2011-08-09 2015-09-02 Lsi公司 I/o设备及计算主机互操作
US10514864B2 (en) 2011-08-09 2019-12-24 Seagate Technology Llc I/O device and computing host interoperation
US10936251B2 (en) 2011-08-09 2021-03-02 Seagate Technology, Llc I/O device and computing host interoperation
CN103858116A (zh) * 2011-08-09 2014-06-11 Lsi公司 I/o设备及计算主机互操作
CN103324586A (zh) * 2012-03-23 2013-09-25 Lsi公司 动态自适应缓存系统
CN107045484A (zh) * 2016-02-05 2017-08-15 爱思开海力士有限公司 数据存储装置
CN107045484B (zh) * 2016-02-05 2020-08-25 爱思开海力士有限公司 数据存储装置
TWI773395B (zh) * 2021-06-22 2022-08-01 慧榮科技股份有限公司 記憶體控制器與連結識別方法
US11755439B2 (en) 2021-06-22 2023-09-12 Silicon Motion, Inc. Memory controller, test device and link identification method

Also Published As

Publication number Publication date
US20100174866A1 (en) 2010-07-08
TW200917126A (en) 2009-04-16
JP2009026296A (ja) 2009-02-05
EP2158564A4 (en) 2010-08-04
CN101689246B (zh) 2012-05-09
WO2008156213A1 (en) 2008-12-24
KR20100017873A (ko) 2010-02-16
EP2158564A1 (en) 2010-03-03

Similar Documents

Publication Publication Date Title
CN101689246B (zh) 存储器装置、电子装置以及主机设备
US7401183B2 (en) Memory card authentication system, memory card host device, memory card, storage area switching method, and storage area switching program
US6880024B2 (en) Control system for memory storage device having two different interfaces
CN101313287B (zh) 经由嵌入式控制器初始化快闪存储设备
US7641121B2 (en) Multi-protocol memory card
EP2671226B1 (en) Memory system in which extended function can easily be set
US7007127B2 (en) Method and related apparatus for controlling transmission interface between an external device and a computer system
US20070174549A1 (en) Method for utilizing a memory interface to control partitioning of a memory module
US6888733B2 (en) Multiple chip system including a plurality of non-volatile semiconductor memory devices
US20050207231A1 (en) Memory card using NAND flash memory and its operating method
US7490193B2 (en) Flash memory devices with MMC interfaces and methods of operating the same
WO2009044262A2 (en) Multimode device
KR101375797B1 (ko) 저장 용량이 큰 멀티 미디어 카드
KR20070006717A (ko) 파일 시스템의 상호 운용성을 지원하는 메모리 카드
CN111522602A (zh) 通信装置的启动方法
US8250275B2 (en) Secure MMC standard smartcard with multi-application operation capability, process of operation
US20070162699A1 (en) Apparatus for expanding storage capacity of memory card and operating method of memory card with the same
US20100312980A1 (en) Memory card changer, method for reading or writing data in memory card changer
CN114664336B (zh) 堆叠存储器件、存储芯片及其控制方法
KR100910944B1 (ko) 제어 신호를 공유하는 플래시 메모리 제어 장치 및 방법
JP7538484B1 (ja) 電子情報記憶媒体、icカード、icチップ、論理チャネル利用方法、及びプログラム
CN101149972B (zh) 一种有多个可独立操作存储空间的flash存储器芯片

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
TR01 Transfer of patent right

Effective date of registration: 20170803

Address after: Tokyo, Japan

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo, Japan

Patentee before: Toshiba Corp.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: Tokyo, Japan

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo, Japan

Patentee before: Japanese businessman Panjaya Co.,Ltd.

Address after: Tokyo, Japan

Patentee after: Kaixia Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: TOSHIBA MEMORY Corp.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20211021

Address after: Tokyo, Japan

Patentee after: Japanese businessman Panjaya Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: TOSHIBA MEMORY Corp.

TR01 Transfer of patent right