CN110032336A - 闪存控制器、安全数字卡、方法以及电子装置 - Google Patents

闪存控制器、安全数字卡、方法以及电子装置 Download PDF

Info

Publication number
CN110032336A
CN110032336A CN201811586133.6A CN201811586133A CN110032336A CN 110032336 A CN110032336 A CN 110032336A CN 201811586133 A CN201811586133 A CN 201811586133A CN 110032336 A CN110032336 A CN 110032336A
Authority
CN
China
Prior art keywords
order
digital card
external signal
safe digital
bit length
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
CN201811586133.6A
Other languages
English (en)
Other versions
CN110032336B (zh
Inventor
谢兆魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN110032336A publication Critical patent/CN110032336A/zh
Application granted granted Critical
Publication of CN110032336B publication Critical patent/CN110032336B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G06F3/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1004Compatibility, e.g. with legacy hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种闪存控制器,包含一处理电路,所述处理电路用以接收一第一命令及所传入的一第一部份地址参数、接收一第二命令及所传入的一第二部份地址参数、以及根据所述第一部份地址参数及所述第二部份地址参数来组合得到一完整的地址参数,并根据所述完整的地址参数及所述第二命令的一命令类型,对一闪存进行所述命令类型所对应的一操作处理。令记忆卡装置能够回报超过2TB容量给主机以及可支持超过32比特长度的逻辑地址空间的寻址能力,同时能够兼容现有的通信机制。

Description

闪存控制器、安全数字卡、方法以及电子装置
技术领域
本案有关于一种记忆卡通信机制,特别有关于闪存控制器、记忆卡、使用于闪存控制器的方法以及连接至记忆卡的主机。
背景技术
一般来说,目前现有的闪存与主机的间的通信仅支持至多32比特长度(bit-length)的逻辑地址空间的寻址,主机发送一命令时所传入的地址参数至多仅能传入32比特长度的逻辑地址,使现有闪存的最大容量受限于2TB,因此,现有安全数字卡一般回报最大容量2TB给主机。
然而,随着科技产品与应用的进展,例如手机录像要求的画质愈来愈高,使得最大容量为2TB的闪存对于未来的应用很可能是不够的,因此,对于容量超过2TB的闪存来说,极需要一种新颖的通信机制,令安全数字卡能够回报超过2TB容量给主机以及可支持超过32比特长度的逻辑地址空间的寻址能力。
发明内容
因此,本案的目的的一在于公开一种闪存控制器、记忆卡装置、使用于闪存控制器的方法以及连接至记忆卡装置的主机,支持新颖的通信机制,令记忆卡装置能够回报超过2TB容量给主机以及可支持超过32比特长度的逻辑地址空间的寻址能力,同时能够兼容现有的通信机制,记忆卡装置也能够回报小于2TB容量给主机以及可支持现有32比特长度的逻辑地址空间的寻址能力。
根据本发明的实施例,其公开一种用于一安全数字卡(Secure Digital MemoryCard)的闪存控制器,所述闪存控制器通过所述安全数字卡的一内部总线耦接于所述安全数字卡内的一闪存,以及所述闪存控制器通过所述闪存控制器的至少一第一外部信号端口与一主机的至少一第二外部信号端口而连接于所述主机的一安全数字卡驱动电路,以及所述闪存控制器包含一处理电路,处理电路用以接收所述主机由所述安全数字卡驱动电路所发送的一第一命令及所传入的一第一部份地址参数,所述第一命令及所传入的所述第一部份地址参数依序通过所述至少一第二外部信号端口与所述闪存控制器的所述至少一第一外部信号端口的一SD模式的CMD接脚,所述处理电路用以接收所述主机由所述安全数字卡驱动电路所发送的一第二命令及所传入的一第二部份地址参数,所述第二命令及所传入的所述第二部份地址参数依序通过所述至少一第二外部信号端口与所述闪存控制器的所述至少一第一外部信号端口的所述SD模式的CMD接脚,以及所述处理电路用以根据所述第一部份地址参数及所述第二部份地址参数来组合得到一完整的地址参数,并根据所述完整的地址参数及所述第二命令的一命令类型,通过所述内部总线来对所述安全数字卡的所述闪存进行所述命令类型所对应的一操作处理;其中所述第一命令是命令CMD31、CMD39、CMD41及CMD51的其中一个,所述第二命令的所述命令类型包含单一数据单元读取CMD17、单一数据单元写入CMD24、多数据单元读取CMD18、多数据单元写入CMD25、命令序列任务指派CMD44或CMD45以及区块抹除CMD32、CMD33或CMD38;所述第一部份地址参数为所述完整的地址参数的多个较高比特,以及所述第二部份地址参数为所述完整的地址参数的多个较低比特;当由所述至少一第一外部信号端口的一SD模式的CMD接脚上接收到一起始比特“0”及一传输比特“1”时,所述处理电路判断所述主机正由所述安全数字卡驱动电路发送一特定命令的一命令内容至所述安全数字卡,并于所述传输比特“1”之后接收所述特定命令的所述命令内容的多个比特所组成的命令类型及地址参数的信息。
根据本发明的实施例,另公开一种安全数字卡,安全数字卡包含一闪存以及如前所述的闪存控制器。
根据本发明的实施例,另公开一种用于一安全数字卡的一闪存控制器的方法,所述闪存控制器通过所述安全数字卡的一内部总线耦接于所述安全数字卡内的一闪存,以及所述闪存控制器通过所述闪存控制器的至少一第一外部信号端口与一主机的至少一第二外部信号端口而连接于所述主机的一安全数字卡驱动电路,以及所述方法包含:接收所述主机由所述安全数字卡驱动电路所发送的一第一命令及所传入的一第一部份地址参数,所述第一命令及所传入的所述第一部份地址参数依序通过所述至少一第二外部信号端口、所述闪存控制器的所述至少一第一外部信号端口的一SD模式的CMD接脚;接收所述主机由所述安全数字卡驱动电路所发送的一第二命令及所传入的一第二部份地址参数,所述第二命令及所传入的所述第二部份地址参数依序通过所述至少一第二外部信号端口、所述闪存控制器的所述至少一第一外部信号端口的所述SD模式的CMD接脚;根据所述第一部份地址参数及所述第二部份地址参数来组合得到一完整的地址参数;以及根据所述完整的地址参数及所述第二命令的一命令类型,通过所述内部总线来对所述安全数字卡的所述闪存进行所述命令类型所对应的一操作处理;其中所述第一命令是命令CMD31、CMD39、CMD41及CMD51的其中一个,所述第二命令的所述命令类型包含单一数据单元读取CMD17、单一数据单元写入CMD24、多数据单元读取CMD18、多数据单元写入CMD25、命令序列任务指派CMD44或CMD45以及区块抹除CMD32、CMD33或CMD38;所述第一部份地址参数为所述完整的地址参数的多个较高比特,以及所述第二部份地址参数为所述完整的地址参数的多个较低比特;以及所述方法另包括:当由所述至少一第一外部信号端口的一SD模式的CMD接脚上接收到一起始比特“0”及一传输比特“1”时,判断所述主机正由所述安全数字卡驱动电路发送一特定命令的一命令内容至所述安全数字卡;以及于所述传输比特“1”之后接收所述特定命令的所述命令内容的多个比特所组成的命令类型及地址参数的信息。
根据本发明的实施例,另公开一种用于存取一安全数字卡的主机,所述主机用以通过所述主机的一安全数字卡驱动电路、所述主机的至少一第二外部信号端口、所述安全数字卡的至少一第一外部信号端口、所述安全数字卡的一内部总线而耦接于所述安全数字卡内的一闪存与一闪存控制器,所述主机包含所述安全数字卡驱动电路及一处理器,所述处理器耦接至所述安全数字卡驱动电路,并用以控制所述安全数字卡驱动电路发送一第一命令及一第一部份地址参数至所述安全数字卡,所述第一命令及所述第一部份地址参数依序通过所述至少一第二外部信号端口、所述闪存控制器的所述至少一第一外部信号端口的一SD模式的CMD接脚至所述闪存控制器,所述处理器用以控制所述安全数字卡驱动电路发送一第二命令及一第二部份地址参数至所述安全数字卡,所述第二命令及所述第二部份地址参数依序通过所述至少一第二外部信号端口、所述闪存控制器的所述至少一第一外部信号端口的所述SD模式的CMD接脚至所述闪存控制器,所述处理器控制所述安全数字卡驱动电路发送所述第一部份地址参数与所述第二部份地址参数,令所述闪存控制器根据所述第一部份地址参数及所述第二部份地址参数来组合得到一完整的地址参数,并据此根据所述完整的地址参数及所述第二命令的一命令类型,通过所述内部总线来对所述闪存进行所述命令类型所对应的一操作处理;其中所述第一命令是命令CMD31、CMD39、CMD41及CMD51的其中一个,所述第二命令的所述命令类型包含单一数据单元读取CMD17、单一数据单元写入CMD24、多数据单元读取CMD18、多数据单元写入CMD25、命令序列任务指派CMD44或CMD45以及数据单元抹除CMD32、CMD33或CMD38;所述第一部份地址参数为所述完整的地址参数的多个较高比特,以及所述第二部份地址参数为所述完整的地址参数的多个较低比特;所述安全数字卡驱动电路于所述至少一第一外部信号端口的所述SD模式的CMD接脚上依序发送一起始比特“0”及一传输比特“1”至所述安全数字卡,令所述闪存控制可由所述至少一第一外部信号端口的所述SD模式的CMD接脚上及所述内部总线接收到所述起始比特“0”及所述传输比特“1”,以判断所述主机正由所述安全数字卡驱动电路发送一特定命令的一命令内容至所述安全数字卡,并令所述闪存控制器于所述传输比特“1”之后接收所述特定命令的所述命令内容的多个比特所组成的命令类型及地址参数的信息。
附图说明
图1为本发明实施例的安全数字卡与作为主机的一电子装置进行通信的方块示意图。
图2为主机与安全数字卡进行最大容量的沟通时于所述特定通信接口上的传输数据范例示意图。
图3为本发明实施例电子装置的处理器将闪存的最大容量的计算结果显示于显示器的示意图。
图4为本案一实施例的主机发送不同命令至安全数字卡以进行不同比特长度逻辑地址的数据单元写入的示意图。
图5为本案一实施例的主机发送不同命令至安全数字卡以进行不同比特长度的逻辑地址的数据单元读取的示意图。
图6为本案一实施例的主机发送不同命令至安全数字卡以进行指定数据长度的数据单元的写入及读取的示意图。
图7为本案一实施例的主机发送不同命令至安全数字卡以进行区块抹除及命令队列任务指派的实施例示意图。
图8是一安全数字卡的一命令的传输格式的范例示意图。
图9是本发明实施例的主机发送命令CMD22及写入命令CMD24以写入一数据至安全数字卡的命令传输格式的范例示意图。
图10是本发明实施例的存取安全数字卡的状态改变的状态示意图。
其中,附图标记说明如下:
100 安全数字卡
105 主机
110 闪存
115 寄存器
120 控制器
1051 安全数字卡驱动电路
1052 显示器
1053 处理器
1200、1202、1204、1212、1214、1215、
1216、1218、1222、1223、1224、1250、
1260 状态
1201 处理电路
具体实施方式
请参照图1,图1为本发明实施例的记忆卡装置100与电子装置105(例如作为主机使用)的方块示意图。记忆卡装置100例如通过其特定通信接口的至少一第一外部信号端口(例如USB接口,但不限定)连接至主机105的至少一第二外部信号端口而连接至主机105的记忆卡驱动电路1051,记忆卡装置100包含有一闪存110(包括一或多个闪存芯片)与一闪存控制器120,闪存控制器120连接至所述至少一第一外部信号端口,且闪存控制器120与闪存110的间通过一内部总线而进行数据传输,主机105包含有记忆卡驱动电路1051、一显示器1052及一处理器1053,控制器120至少包含一处理电路1201及一寄存器115。记忆卡装置100例如是一安全数字卡(Secure Digital Memory Card),例如SDHC卡、SDXC卡、SDUC卡、PCIeSD卡或NVMe SD卡等等,而记忆卡驱动电路1051例如是一安全数字卡驱动电路;应注意,记忆卡装置100并未限定于安全数字卡,在其他实施例亦可以是其他不同类型的记忆卡。主机105的处理器1053与控制器120的处理电路1201进行信号通信(例如控制命令的发送与接收)时会通过安全数字卡驱动电路1051、所述至少一第二外部信号端口、所述至少一第一外部信号端口,此外,记忆卡控制器120通过所述内部总线来对所述闪存110进行数据操作的处理。
当记忆卡装置100被供电时,控制器120可通过所述内部总线从闪存110中读出闪存110的基本特性信息,并将所述信息储存于寄存器115中,所述基本特性信息例如是卡特定数据(Card Specific Data,CSD),控制器120的处理电路1201可以侦测检查闪存110本身的特性并写入其基本特性信息于寄存器115中。
主机105于初始化以及与安全数字卡100进行简单的沟通时,处理器1053会写入命令至主机的寄存器(未显示于图1)中,之后由安全数字卡驱动电路1051从主机的寄存器读出命令并发送一要求命令并依序通过所述至少一第二外部信号端口、所述至少一第一外部信号端口而传送至安全数字卡100的控制器120,以要求安全数字卡100回报信息,例如发送一要求命令CMD9至安全数字卡100以求要回报所述卡特定数据,安全数字卡100的控制器120于接收到要求命令CMD9之后,会输出并回报寄存器115所储存的卡特定数据CSD至主机105,控制器120会先从寄存器115取得卡特定数据CSD,之后再依序通过所述至少一第一外部信号端口、所述至少一第二外部信号端口与安全数字卡驱动电路1051而传送所述卡特定数据CSD至主机105的处理器1053,处理器1053可由所述卡特定数据计算及/或得到目前这张闪存110的信息。应注意,实作上,安全数字卡驱动电路1051会与相应的驱动软件搭配而实现发送命令及传送信息的功能。
卡特定数据CSD由记忆卡制造商于量产安全数字卡时通过一开卡装置加载一特定开卡程序所产生的,所述特定开卡程序例如是由安全数字卡的控制器的制造商所提供,例如记忆卡制造商决定好闪存的类型及选定相应的控制器后,会通过使用控制器的制造商的特定开卡程序来开卡初始化所述闪存,此时记忆卡制造商会决定出所述张安全数字卡的最大容量,并将对应于所述最大容量的卡特定数据CSD相当于刻录一样永久地写入至闪存内,本案在于例如一闪存能够支持到300TB的最大容量空间,如果记忆卡制造商生产的是具有2TB的安全数字卡,则可令其于被永久地写入的卡特定数据CSD的一预定字段标示出相应的信息,另外,如果记忆卡制造商生产的是具有300TB的安全数字卡,则令其除了在所述预定字段标示出基本容量的相应信息,另在卡特定数据CSD的其他闲置字段标示出一额外的容量信息,因此,将来要连接至所述安全数字卡的用卡主机只要参照所述两者数据就可得知所述安全数字卡具有300TB的最大容量。
在第一实施例,当于工厂量产安全数字卡100时,记忆卡制造商的开卡设备可以于安全数字卡100的所述卡特定数据中标示出用以计算闪存110的最大容量的一乘数参数。在控制器120回报寄存器115所储存的卡特定数据CSD至主机105之后,主机105的处理器1053可以由所述卡特定数据得到记忆卡制造商所标示的基本容量的相应信息及额外的容量信息,计算得到目前这张安全数字卡100(即闪存110)的最大容量,使得闪存回报主机的容量上限可以尽量扩充而不受限于例如2TB的现有闪存最大容量。
以卡特定数据为例,卡特定数据信息例如具有128个比特的数据结构[127:0],其中2个比特(例如[127:126])用来记录这张闪存的版本信息,22个比特(例如C_size字段[69:48])用来记录一张闪存的容量,C_size字段于本实施例当作一基本容量,所述基本容量的最大值对应于32比特长度逻辑地址空间的最大容量上限。
然而,22个比特仅能够表示出最大容量为2TB,无法表示超过2TB的容量,因此不合于目前使用,为了解决这个问题,本案的作法系于卡特定数据信息中另外采用了N个比特来表示闪存最大容量的乘数参数,例如2的N次方的乘数,N例如是5,所述N个比特可利用卡特定数据信息中的5个原本作为保留比特(例如[75:71])的闲置比特来标示闪存最大容量参数,此后可称为容量标示比特或是第一比特。5个比特可以表示从0至31的数值范围,因此是从2的0次方至2的31次方的乘数范围。所述5个比特例如变动范围从“00000”至“11111”以表示0到32的值,当表示为32的值时,搭配C_size字段至多所表示出的基本容量2TB,可以表示支持64比特长度地址寻址的容量空间大小。此外在其他实施例,也可以是取6个闲置比特例如[75:70]来作为容量标示比特,所述6个比特的变动范围例如从“000000”至“100000”以表示0到32的值,当表示为32的值时,搭配C_size字段所表示出的容量2TB,也可以表示支持64比特长度地址寻址的容量空间大小。应注意的是,本案并不限定N的个数,也并不限定乘数参数为2的N次方,在其他实施变型,乘数参数也可以是其他数值的N次方,例如4的N次方等等。
请参照图2,图2所绘示为主机105与安全数字卡100进行最大容量的沟通时于所述特定通信接口上的数据范例示意图。如图2所示,主机105发送要求命令CMD9至安全数字卡100,接着安全数字卡100回报所述卡特定数据CSD至主机105,其中2个比特为卡特定数据CSD的版本,此外,上述的5个容量标示比特可以是设置于C_size字段之前的5个比特,然此并非是本案的限制。
记忆卡制造商的开卡设备可依据闪存110的最大容量是否超过一特定容量(例如32比特地址空间所对应的最大容量2TB)来设定卡特定数据CSD的版本信息,例如,如果闪存110本身的最大容量就不超过2TB,则记忆卡制造商的开卡设备会设定卡特定数据CSD的版本信息为旧的版本,以表示出目前这张闪存最多仅支持2TB容量,兼容于现有的旧装置,因此即便是具有新版本功能的安全数字卡亦可以被设定为旧版本而兼容于仅具有旧版本驱动程序的主机;此外,旧版本驱动程序的主机也可以被更新为新版本。而如果闪存110的最大容量超过了2TB,则记忆卡制造商的开卡设备会设定卡特定数据CSD的版本信息为新的版本,以表示出目前这张闪存可支持超过2TB容量。
因此,主机105的处理器1053于接收到控制器120所回报的卡特定数据CSD时可经过检查所述版本信息来初步判断目前这张闪存的最大容量是否超过例如32比特地址空间所对应的最大容量2TB,如果是旧版本,则处理器1053根据原先C_size字段的22比特的值来判断这张闪存的最大容量,而如果是新版本,则处理器1053除了参考C_size字段的22比特的外另外会基于上述5个特定的容量标示比特所指出的乘数参数来计算其最大容量。
如上所述,当主机105接收到卡特定数据CSD时,处理器1053可参照C_size字段的22个比特所代表的值以及上述5个容量标示比特所表示的值(乘数参数),来计算得到这张闪存110的最大容量,换言的,本案的安全数字卡100并非直接将最大容量告知主机105,而是通过于卡特定数据信息的数据结构中标示出一闪存容量的乘数,令处理器1053自行计算得出闪存110的最大容量。举例来说,请参考以下的表格,以下的表格为本案的卡特定数据CSD的几种可能实施方式:
如上所述,C_size的字段所表示的是一基本的闪存容量信息,例如其值可用于表示最多2TB大小的容量,于第一例子中,为了表示出所述张闪存具有1.5TB的最大容量,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于1.5TB,并且设定N个容量标示比特所代表的值为0,即容量的乘数参数为20=1,因此,主机的处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为1.5TB。
于一实施例中,为了表示出所述张闪存具有3TB的最大容量,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于1.5TB,并且设定N个比特所代表的值为1,即容量的乘数参数为21=2,因此,主机的处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为3TB。
于一实施例中,为了表示出所述张闪存具有2TB的最大容量,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于2TB,并且设定N个容量标示比特所代表的值为0,即容量的乘数参数为20=1,因此,主机的处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为2TB。
此外,其他实施例,记忆卡制造商的开卡设备也可以设定C_size字段的比特所代表的值以对应于1TB,并且设定N个比特所代表的值为1,即容量的乘数参数为21=2,因此,处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为2TB。也就是说,记忆卡制造商的开卡设备可以采用多种不同的设定方式来表达出相同的容量大小。
于一实施例中,为了表示出所述张闪存具有4TB的最大容量,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于2TB,并且设定N个比特所代表的值为1,即容量的乘数参数为21=2,因此,处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为4TB。
于一实施例中,为了表示出所述张闪存具有16EB的最大容量,记忆卡制造商的开卡设备可以设定C_size的字段的比特所代表的值以对应于2TB,并且设定N个比特所代表的值为23,即容量乘数参数为223。因此,处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为16EB。
此外,为了表示出所述张闪存具有2.5TB的最大容量大小,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于1.25TB,并且设定N个比特所代表的值为1,即容量乘数参数为21,因此,处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为2.5TB。
其他例子中,为了表示出所述张闪存具有3TB的最大容量大小,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于1.5TB,并且设定N个比特所代表的值为1,即容量乘数参数为21,因此,处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为3TB。
另外,为了表示出所述张闪存具有30TB的最大容量大小,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于1.875TB,并且设定N个比特所代表的值为4,即容量乘数参数为24。因此,处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为30TB。
另外,为了表示出所述张闪存具有300TB的最大容量大小,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于1.171875TB,并且设定N个比特所代表的值为8,即容量乘数参数为28,因此,处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为300TB。
另外,为了表示出所述张闪存具有3000TB的最大容量大小,记忆卡制造商的开卡设备可以设定C_size字段的比特所代表的值以对应于1.46484375TB,并且设定N个比特所代表的值为11,即容量乘数参数为211,因此,处理器1053在接收到所述卡特定数据后可以计算得到闪存110的最大容量为3000TB。
本案通过于卡特定数据中采用并设定N个容量标示比特的字段来设定出一2的N次方的容量乘数参数,可以大幅扩展了闪存的最大容量空间上限,相较于现有技术系采用C_size字段来直接表示闪存的最大容量,目前现有技术仅能够表示出2TB的最大容量空间上限,而本案除了可以扩展了闪存的最大容量空间上限,同时采用了某一数值的次方的乘数参数以避免采用过多的容量标示比特来实现,例如采用了5个容量标示比特,并搭配原本C_size的22个比特的字段,即可以标示表达出支持16EB的最大容量空间上限。
再者,当主机105的处理器1053在接收到所述卡特定数据并计算得到闪存110的最大容量之后,可以将计算的结果显示于显示器1052上,令使用者得知闪存110的最大容量。请参照图3,图3是本发明实施例主机的处理器1053将闪存110的最大容量的计算结果显示于显示器1052的示意图,显示器1052可显示出目前这张闪存110的最大容量为465TB(超过2TB)、已使用空间为103TB以及可用的空间为362TB;需注意的是,上述数值及显示的内容仅为一种可能的实施例,并非本案的限制。
再者,在本案的其他实施例,当主机105计算得知闪存110的最大容量后,处理器1053会根据其最大容量而控制安全数字卡驱动电路1051发送不同比特长度的逻辑地址并依序通过所述至少一第二外部信号端口、所述至少一第一外部信号端口而至安全数字卡100的控制器120,令安全数字卡100的控制器120将所述逻辑地址转换为实体地址后再根据实体地址并通过所述内部总线来对闪存110进行对应的处理操作。例如在本实施例,如果最大容量不超过2TB,则主机105会由安全数字卡驱动电路1051发送32比特的逻辑地址并依序通过所述至少一第二外部信号端口、所述至少一第一外部信号端口而至安全数字卡100的控制器120,其中32比特长度的逻辑地址空间可以涵盖2TB的数据容量大小,而如果最大容量超过2TB,则主机105会发送较长比特的逻辑地址(例如38比特的逻辑地址或64比特的逻辑地址等,依闪存110的最大容量而定)至安全数字卡100,以涵盖超过2TB的数据容量大小。
对于32比特长度逻辑地址空间及较长比特长度逻辑地址空间(例如38比特或64比特)的寻址兼容性而言,本案不需要另外实现额外的接脚或端口,可采用旧有32比特长度逻辑地址空间的接脚或端口即可实现较长比特长度逻辑地址空间的寻址,也就是,主机105可以通过旧有32比特长度逻辑地址空间的接脚或端口(亦即所述至少一第二外部信号端口、所述至少一第一外部信号端口)来发送带有较长比特长度逻辑地址的多种不同的命令至安全数字卡100。
以下实施例,主机105的驱动电路1051系发送第一命令并传入第一部份地址参数(最多可带有32比特长度的地址参数),接着发送第二命令并传入第二部份地址参数(最多可带有32比特长度的地址参数),令安全数字卡100的控制器120的处理电路1201于接收到第一部份地址参数及第二部份地址参数后可以组合而得出较长比特长度的地址参数(比32比特长度长的地址),例如从两个32比特的部份地址参数可以组合得到完整的64比特的地址参数,并根据第二命令的命令类型来进行命令序列的任务指派、数据单元写入或读取、抹除等操作。应注意的是,第一命令例如可采用原先安全数字卡规格中所制定为保留命令(reserved command)的命令来实现,例如CMD22、CMD31、CMD39、CMD41及CMD51等,此外,第一部份地址参数与第二部份地址参数并不限定必然等于32比特的比特长度,主机105的处理器1053可根据闪存110的实际最大容量来决定第一部份地址参数与第二部份地址参数的总比特长度,例如128TB的最大容量空间,则总比特长度会设定为38比特长度,其中例如第一部份地址参数指示出6比特长度,而第二部份地址参数指示出32比特长度,然此并非本案的限制。本案的第一部份地址参数与第二部份地址参数均是可变的。此外,本案所述的一个数据单元所指的可以是一个储存页的数据或一个区块的数据,并无限制。
请参照图4,其所绘示为本案一实施例的主机105发送不同命令至安全数字卡100以进行不同比特长度逻辑地址的数据单元写入的示意图,如图4所示,对于发送带有32比特长度逻辑地址的写入命令至安全数字卡100,主机105例如由安全数字卡驱动电路1051发送命令CMD24同时并传入32比特的地址参数(例如一个数据单元的逻辑地址)依序通过所述至少一第二外部信号端口、所述至少一第一外部信号端口而至安全数字卡100的控制器120,接着通过上述相同路径发送一个数据单元的数据至安全数字卡100的控制器120,使得控制器120接收到所述写入命令及所述数据单元之后通过所述内部总线而写入一个对应32比特长度逻辑地址的数据单元至闪存110。而对于发送带有较长比特长度例如64比特长度逻辑地址的写入命令至安全数字卡100,主机105例如由安全数字卡驱动电路1051先发送一个特定命令(例如第一命令CMD22,但非限定)同时并传入第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特(32most significant bits),视为是第一32比特长度逻辑地址)依序通过所述至少一第二外部信号端口、所述至少一第一外部信号端口而至安全数字卡100的控制器120,接着再发送命令CMD24至安全数字卡100同时并传入第二部份地址参数(例如64比特长度逻辑地址中较低的32个比特(32least significant bits),视为是第二32比特长度逻辑地址)依序通过所述至少一第二外部信号端口、所述至少一第一外部信号端口而至安全数字卡100的控制器120,接着通过上述相同路径再发送一个数据单元的数据至安全数字卡100的控制器120,使得控制器120接收到上述两个命令及所述数据单元的数据之后通过所述内部总线而写入一个对应64比特长度逻辑地址的数据单元至闪存110。再者,在另一实施例,主机105也可以在发送命令CMD22之前通过相同信号路径先发送命令CMD20至安全数字卡100,指示出影片速度等级(video speed class)的数据写入。应注意,以下实施例所述从主机105发送一命令至安全数字卡100的控制器120的信号路径均相同于上述的信号路径,反的,从控制器120发送数据至主机105的信号路径系依序通过所述至少一第一外部信号端口、所述至少一第二外部信号端口;均不再重述。
对于多数据单元的写入来说,当发送带有32比特长度逻辑地址的多数据单元写入命令至安全数字卡100,主机105例如通过安全数字卡驱动电路1051发送命令CMD25至安全数字卡100并传入32比特的地址参数(例如一个数据单元的逻辑地址)至安全数字卡100,接着发送多个数据单元的数据至安全数字卡100,以写入多个均对应于32比特长度逻辑地址的数据单元数据,其中所述32比特的地址参数可以是多个数据单元中的写入起始逻辑地址。另外,当发送带有64比特长度逻辑地址的多数据单元写入命令至安全数字卡100,主机105例如通过安全数字卡驱动电路1051先发送特定命令(例如第一命令CMD22)并传入第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特),接着再发送命令CMD25至安全数字卡100并传入第二部份地址参数(例如64比特长度逻辑地址中较低的32个比特),接着再发送多个数据单元的数据至安全数字卡100,以写入多个均对应于64比特长度逻辑地址的数据单元,其中所述第一部份地址参数与所述第二部份地址参数所组合而成的64比特的地址参数可以是上述多个数据单元中的写入起始逻辑地址。
因此,当控制器120的处理电路1201接收到所述特定命令例如CMD22时,可先得到第一部份地址参数,接着再收到命令CMD24或CMD25时可得到第二部份地址参数,组合所述第一部份地址参数与所述第二部份地址参数,可得到64比特长度的地址参数,而根据命令CMD24或CMD25的命令类型,可得知是一个数据单元的写入或是多个数据单元的写入,因此可进行64比特的逻辑地址的一或多个数据单元的写入操作。反的,如果控制器120的处理电路1201仅接收到命令CMD24或命令CMD25所对应传入的第二部份地址参数,而并未接收到特定命令CMD22及所对应的第一部份地址参数,则控制器120的处理电路1201默认所述第一部份地址参数的值为0,并判断目前主机105是要写入一或多个具有32比特长度逻辑地址的数据单元。
请参照图5,其所绘示为本案一实施例的主机105发送不同命令至安全数字卡100以进行不同比特长度的逻辑地址的数据单元读取的示意图,如图5所示,对于发送带有32比特长度逻辑地址的读取命令至安全数字卡100,主机105例如通过安全数字卡驱动电路1051发送命令CMD17至安全数字卡100并传入32比特的地址参数(例如一个数据单元的逻辑地址)至安全数字卡100,接着从安全数字卡100读回一个数据单元的数据。而对于发送带有64比特长度逻辑地址的读取命令至安全数字卡100,主机105例如通过安全数字卡驱动电路1051先发送一个特定命令(例如第一命令CMD22)并传入第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特),接着再发送命令CMD17至安全数字卡100并传入第二部份地址参数(例如64比特长度逻辑地址中较低的32个比特),接着则从安全数字卡100读回一个对应64比特长度逻辑地址的数据单元。
对于多数据单元的读取来说,当发送带有32比特长度逻辑地址的多数据单元读取命令至安全数字卡100,主机105例如通过安全数字卡驱动电路1051发送命令CMD18至安全数字卡100并传入32比特的地址参数(例如一个数据单元的逻辑地址)至安全数字卡100,接着从安全数字卡100读回多个数据单元的数据,其中所述32比特的地址参数可以是多个数据单元中的读取起始逻辑地址。另外,当发送带有64比特长度逻辑地址的多数据单元读取命令至安全数字卡100,主机105例如通过安全数字卡驱动电路1051先发送特定命令(例如第一命令CMD22)并传入第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特),接着再发送命令CMD18至安全数字卡100并传入第二部份地址参数(例如64比特长度逻辑地址中较低的32个比特),接着则从安全数字卡100读回多个数据单元的数据,其中所述第一部份地址参数与所述第二部份地址参数所组合而成的64比特的地址参数可以是上述多个数据单元中的读取起始逻辑地址。
因此,当控制器120的处理电路1201接收到所述特定命令例如CMD22时,可先得到第一部份地址参数,接着再收到命令CMD17或CMD18时可得到第二部份地址参数,组合所述第一部份地址参数与所述第二部份地址参数,可得到64比特长度的地址参数,而根据命令CMD17或CMD18的命令类型,可得知是一个数据单元的读取或是多个数据单元的读取,因此可进行64比特的逻辑地址的一或多个数据单元的读取操作。反的,如果控制器120的处理电路1201仅接收到命令CMD17或命令CMD18所对应传入的第二部份地址参数,而并未接收到特定命令CMD22及所对应的第一部份地址参数,则控制器120的处理电路1201默认所述第一部份地址参数的值为0,并判断目前主机105是要读取一或多个具有32比特长度逻辑地址的数据单元。
另外,主机105亦可以于命令CMD22之前发送一命令CMD23以指示出数据写入或读取的长度,请参照图6,其所绘示为本案一实施例的主机105发送不同命令至安全数字卡100以进行指定数据长度的数据单元的写入及读取的示意图,如图6所示,主机105例如通过安全数字卡驱动电路1051先发送命令CMD23至安全数字卡100并传入一个指定的数据长度参数,接着发送命令CMD25至安全数字卡100并传入32比特的地址参数(例如一个数据单元的逻辑地址)至安全数字卡100,接着发送对应于所述指定的数据长度参数的多个数据单元的数据至安全数字卡100,以写入对应32比特长度逻辑地址的指定的数据长度参数的多个数据单元,其中所述32比特的地址参数系为指定的数据长度参数的多个数据单元的起始地址。
另外,主机105例如也可以通过安全数字卡驱动电路1051先发送命令CMD23至安全数字卡100并传入一个指定的数据长度参数,接着发送一个特定命令(例如第一命令CMD22,但非限定)并传入第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特),接着发送命令CMD25至安全数字卡100并第二部份地址参数(例如64比特长度逻辑地址中较低的32个比特)至安全数字卡100,接着才发送对应于所述指定的数据长度参数的多个数据单元的数据至安全数字卡100,以写入对应64比特长度逻辑地址的指定的数据长度参数的多个数据单元,其中所述64比特的地址参数系为指定的数据长度参数的多个数据单元的起始地址,并可由第一部份地址参数与第二部份地址参数所组合得到。
另外,对于数据的读取,主机105例如通过安全数字卡驱动电路1051先发送指示命令CMD23至安全数字卡100并传入一个指定读取的数据长度参数,接着发送命令CMD18至安全数字卡100并传入32比特的地址参数(例如一个数据单元的逻辑地址)至安全数字卡100,接着从安全数字卡100读回对应于所述指定读取的数据长度参数的多个数据单元的数据,其中所述32比特的地址参数系为指定读取的数据长度参数的多个数据单元的起始地址。另外,主机105例如也可以通过安全数字卡驱动电路1051先发送命令CMD23至安全数字卡100并传入一个指定读取的数据长度参数,接着发送一个特定命令(例如第一命令CMD22,但非限定)并传入第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特),接着发送命令CMD25至安全数字卡100并第二部份地址参数(例如64比特长度逻辑地址中较低的32个比特)至安全数字卡100,接着才从安全数字卡100读回对应于所述指定读取的数据长度参数的多个数据单元的数据,其中所述64比特的地址参数系为指定读取的数据长度参数的多个数据单元的起始地址,并可由第一部份地址参数与第二部份地址参数所组合得到。
再者,上述亦适用于区块抹除及区块转移的命令队列任务指派(Command QueueTask Assignment)的实施例。请参照图7,其所绘示为本案一实施例的主机105发送不同命令至安全数字卡100以进行区块抹除及命令队列任务指派的实施例示意图,如图7所示,主机105例如通过安全数字卡驱动电路1051先发送命令CMD32至安全数字卡100并传入32比特的指定抹除起始地址参数,接着发送命令CMD33至安全数字卡100并传入32比特的指定抹除结束地址参数至安全数字卡100,接着发送命令CMD38至安全数字卡100,以进行区块抹除。因此,当控制器120的处理电路1201依序接收到命令CMD32及32比特的指定抹除起始地址参数、命令CMD33及32比特的指定抹除结束地址参数、命令CMD38时,控制器120的处理电路1201可据此对指定要抹除的32比特地址区段所对应的区块内容进行抹除。
另外,主机105例如通过安全数字卡驱动电路1051先发送一个特定命令(例如第一命令CMD22,但非限定)并传入第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特),接着发送命令CMD32至安全数字卡100并传入第二部份地址参数(例如64比特长度逻辑地址中较低的32个比特)至安全数字卡100,其中上述第一部份地址参数与第二部份地址参数系可组合得到64比特的指定抹除起始地址参数。接着,主机105通过安全数字卡驱动电路1051发送特定命令CMD22并传入另一个第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特),接着发送命令CMD33至安全数字卡100并传入另一个第二部份地址参数(例如64比特长度逻辑地址中较低的32个比特)至安全数字卡100,其中上述另一个第一部份地址参数与另一个第二部份地址参数系可组合得到64比特的指定抹除结束地址参数,最后再接着发送命令CMD38至安全数字卡100,以进行区块抹除。因此,当控制器120的处理电路1201依序接收到上述命令与对应的参数值时,控制器120的处理电路1201可组合得到64比特的指定抹除起始地址参数与64比特的指定抹除结束地址参数,并据此对指定要抹除的64比特地址区段所对应的区块内容进行抹除。
另外,对于数据单元转移的命令队列任务指派,主机105例如通过安全数字卡驱动电路1051先发送第一移转命令CMD44至安全数字卡100并传入数据方向、优先权、任务ID及数据单元总数等移转参数,接着发送第二移转命令CMD45至安全数字卡100并传入所述任务ID所对应的32比特的指定数据单元起始地址参数至安全数字卡100,因此,当控制器120的处理电路1201依序接收到上述命令及参数时,控制器120的处理电路1201可据此从32比特起始地址进行数据单元转移。另外,对于64比特地址的数据单元转移,主机105例如通过安全数字卡驱动电路1051先发送命令CMD44至安全数字卡100并传入数据方向、优先权、任务ID及数据单元总数等参数,接着发送一个特定命令(例如第一命令CMD22,但非限定)并传入所述任务ID所对应的第一部份地址参数(例如64比特长度逻辑地址中较高的32个比特),接着再发送第二移转命令CMD45至安全数字卡100并传入所述任务ID所对应的第二部份地址参数(例如较低的32比特长度逻辑地址)至安全数字卡100,因此,当控制器120的处理电路1201依序接收到上述命令及参数时,控制器120的处理电路1201可据此组合得到64比特起始地址,并从所述64比特起始地址进行数据单元转移。
因此,综合上述实施例,本案的控制器120的处理电路1201于接收到第一部份地址参数及第二部份地址参数后可以组合而得出较长比特长度的地址参数,例如从两个32比特的部份地址参数组合得到完整的64比特的地址参数,并根据对应到的命令类型进行命令序列的任务指派、数据单元写入或读取、抹除等操作。换言的,本案是通过发送第一命令并传入第一部份地址参数至安全数字卡以及发送第二命令并传入第二部份地址参数至安全数字卡,令安全数字卡的控制器120的处理电路1201可以参考第一、第二部份地址参数来组合得到较长比特的地址参数,例如64比特的地址参数,据此进行对应的任务指派、数据单元写入或读取的操作。再者,所述第一部份地址参数可以是较高比特地址参数而所述第二部份地址参数可以是较低比特地址参数,此外,所述第一部份地址参数也可以是较低比特地址参数而所述第二部份地址参数可以是较高比特地址参数,凡此设计变型均符合本案的精神。再者,上述的特定命令可以是利用原本作为一保留命令(reserved command)的闲置命令来实现大于32比特的地址延伸命令,且不限定于命令CMD22,也可以采用其他的保留命令例如CMD31、CMD39、CMD41或CMD51等来实现,所述些保留命令在本发明中赋予了新的意义,亦可称为第一命令。
另外,本案不需要另外实现额外的接脚或端口,并且在最低的变动的下,即可采用旧有32比特长度逻辑地址空间的接脚或端口即可实现较长比特长度逻辑地址空间的寻址,以下表格列举了一特定安全数字卡范例的SD模式的接脚编号及对应的名称、类型、描述说明:
其中S表示电源供给,I表示输入,O表示采用推拉驱动的输出,PP表示采用推拉驱动的输入输出。上述命令均是通过CMD接脚所传输,而所要传输的数据则通过接脚DAT0、DAT1、DAT2及CD/DAT3所传输。
请参照图8,图8是一安全数字卡的一命令的传输格式的范例示意图,如图8所示,上述多个命令的每一个命令例如均以所述传输格式于CMD接脚上进行传输,例如,一第一命令、读取命令或是写入命令等等的每一命令,从主机105的驱动电路1051通过第二信号端口及第一信号端口而传送至安全数字卡100时,依序例如包括有起始比特“0”、传输比特“1”、命令内容、CRC校验码以及结束比特“1”,其中命令内容依序包括有多个比特所组成的一命令类型(第一、读取或写入等等)、地址信息或参数例如(前述的一个32比特的部份地址参数),CRC校验码例如是由7个比特所组成的CRC校验和(checksum),所述命令的传输格式的总长度例如是48个比特。因此,当通过内部汇排流而于第一信号端口的CMD接脚上依序收到起始比特“0”及传输比特“1”时,控制器120即可侦测到主机105目前正传送一个命令至安全数字卡100,并且依照所述命令的传输格式,可依序得到命令类型的信息及地址信息或参数(例如32比特的部份地址参数),以及通过CRC校验和可检查所传输的命令的比特信息是否有错,最后当侦测到结束比特“1”时,即可知道命令的结尾位置。
请参照图9,图9是本发明实施例的主机105发送命令CMD22及写入命令CMD24以写入一数据至安全数字卡100的命令传输格式的范例示意图。举例来说,如图9所示,主机105进行一64比特地址(例如0x0505_0505_0A0A_0A0A(但不限定))的数据写入时,主机105会发送命令CMD22时,依序传送起始比特“0”、传输比特“1”、CMD22的命令内容、CMD22的CRC校验码及结束比特“1”,接着传送起始比特“0”、传输比特“1”、CMD24的命令内容、CMD24的CRC校验码及结束比特“1”,接着再传送所述被写入的数据,其中CMD22的命令内容带有CMD22的命令类型的信息(例如0x16)以及所述64比特地址的较高32个比特(例如0x0505_0505),而CMD24的命令内容带有CMD24的命令类型的信息(例如0x18)以及所述64比特地址的较低32个比特(例如0x0A0A_0A0A),当控制器120的处理电路1201接收到所述两命令的命令类型的信息及地址信息或参数后可组合得出所述64比特地址以及得知主机105要进行的是写入命令的操作。应注意的是,图9所示的CMD22及CMD24仅是用来更清楚说明命令类型的信息及地址信息的范例,并非是本案的限制。
此外,熟悉此项技艺者在本发明的教导的下,亦得理解在另一实施例中,得令主机105进行一64比特地址(例如0x0A0A_0A0A 0505_0505_但不限定))的数据写入时,CMD22命令内容中所夹带的地址信息(例如0x0505 0505)代表64比特地址中的较低的32个比特,而令写入命令CMD24所夹带的地址信息(例如0x0A0A_0A0A)代表64比特地址中的较高的32个比特。换言的,在主机发送CMD22与CMD24顺序不变的情况的下,令CMD22与CMD24分别传递64比特地址的其中一部分,而内存控制器120在接收到CMD22与CMD24所分别传递64比特地址的其中一部分时,亦得依与主机的间的协议,正确的组合出完整的64比特地址,此亦为本发明的涵盖范围。
图10是本发明实施例的安全数字卡100的操作状态改变的状态示意图。如图10所示,假设状态图开始于状态1200,状态1200为一准备传送数据状态(transfer state),安全数字卡100此时还没有接收到任一存取命令,也就是说,安全数字卡100还没有接收到任一上述的64比特长度逻辑地址中较高的32个比特以及64比特长度逻辑地址中较低的32个比特。
如果在状态1200接收到命令CMD17、CMD18、CMD24或CMD25,则表示安全数字卡100只接收到了32个比特的地址参数,也就是接收到命令CMD17、CMD18、CMD24或CMD25所带有的一64比特长度逻辑地址中较低的32个比特,接着进入到状态1204,状态1204为一得到较低比特的地址参数的状态,接着安全数字卡100会从状态1204进入到状态1250,状态1250为执行或拒绝(execution or rejection),例如在状态1250时如果安全数字卡100只接收到CMD17、CMD18、CMD24或CMD25所带有的一64比特长度逻辑地址中较低的32个比特,所述较低的32个比特会被视为是要执行操作的一32比特的逻辑地址,此时,安全数字卡100内的控制器120会对闪存110进行32比特的逻辑地址的读取/或写入,而如果一命令是无法执行的,例如所述命令对应的地址超出范围,或是命令是写入命令但是所决定的地址是只允许读取的区域(read-only area)而无法被写入,则安全数字卡100会拒绝所述命令所要执行的操作。之后会从状态1250回到状态1200。
而如果在状态1200接收到命令CMD22,则表示安全数字卡100先接收到了一64比特长度逻辑地址中较高的32个比特,也就是接收到命令CMD22所带有的一64比特长度逻辑地址中较高的32个比特,接着进入到状态1202,状态1202为一得到较高比特的地址参数的状态,在状态1202中,如果再次接收到一命令CMD22,则安全数字卡100会根据最后一次所接收到的命令CMD22来更新所接收到的64比特长度逻辑地址中较高的32个比特,在状态1202中如果安全数字卡100接收到CMD17、CMD18、CMD24或CMD25,则接着进入状态1204,表示安全数字卡100接收到CMD17、CMD18、CMD24或CMD25所带有的一64比特长度逻辑地址中较低的32个比特,在这个情况中,当进入状态1250,安全数字卡100内的控制器120会对闪存110进行64比特的逻辑地址的读取/或写入。如果是在状态1202中接收到CMD32,则安全数字卡100会进入状态1212。
而如果是在状态1202中接收到并非是CMD22、CMD17、CMD18、CMD24、CMD25或CMD32的其他命令,则安全数字卡100会进入到状态1260,当进入状态1260时会回到准备传送数据的状态1200。
如果在状态1200接收到命令CMD23,则表示安全数字卡100接收到了一指示出数据写入或读取的长度的命令,安全数字卡100会进入到状态1222,所述状态1222为得到较高比特地址为零的状态,亦即尚未得到64比特长度逻辑地址中较高的32个比特,在所述状态1222中如果重复接收到命令CMD23,则会维持于状态1222中。而如果在状态1222中接收到命令CMD22,则表示安全数字卡100目前接收到了命令CMD22所带有的64比特长度逻辑地址中较高的32个比特,此时安全数字卡100进入状态1223。
在所述状态1223为一得到较高比特的地址参数的状态,在所述状态1223中如果又接收到命令CMD23,表示前一个所接收到的命令CMD22失效,安全数字卡100会从状态1223切换至状态1222。如果在所述状态1223中接收到其他命令,则安全数字卡100会进入到状态1260,当进入状态1260时会回到准备传送数据的状态1200。如果在状态1223中接收到命令CMD18/25,则表示安全数字卡100目前接收到了命令CMD18/25所带有的64比特长度逻辑地址中较低的32个比特,此时安全数字卡100会切换至状态1224,状态1224为一得到较低比特的地址参数的状态,接着安全数字卡100会从状态1224进入到状态1250。如果安全数字卡100接收到了64比特长度逻辑地址中较高的32个比特及较低的32个比特,则状态1250中控制器120会对闪存110进行64比特长度逻辑地址的指定长度的读/写。
如果安全数字卡100是在状态1222中接收到命令CMD18/25,则表示安全数字卡100只接收到32个比特的地址,目前会进入到状态1224,之后安全数字卡100会从状态1224进入到状态1250,在状态1250中控制器120会对闪存110进行32比特长度逻辑地址的指定长度的读/写。
在状态1200中如果接收到命令CMD32,则表示安全数字卡100接收到命令CMD32所带有的32个比特(所述32个比特可能是一32比特长度的逻辑起始地址或是一64比特长度的逻辑起始地址的较低32个比特),此时会进入状态1212,状态1212为得到逻辑起始地址的32个比特的状态,接着进入到状态1214,状态1214为一等候地址的状态。
如果在状态1214接收到命令CMD33,则表示安全数字卡100接收到命令CMD33所带有的32个比特(所述32个比特可能是一32比特长度的逻辑结束地址或是一64比特长度的逻辑结束地址的较低32个比特),此时会进入状态1216,状态1216为得到逻辑结束地址的32个比特的状态,接着如果接收到命令CMD38,则进入到状态1218,状态1218为得到执行命令的状态。因此,如果安全数字卡100是依序从状态1212、1214、1216至1218,则控制器120会根据32比特逻辑起始地址及32比特逻辑结束地址来对闪存110进行抹除操作。
如果在状态1214接收到命令CMD22,则表示安全数字卡100接收到命令CMD22所带有的32个比特,此时因为先前是从状态1212切换至状态1214,所以控制器120可判断目前状态1214所接收到命令CMD22带有的是一64比特长度的逻辑结束地址的较高的32个比特,接着进入状态1215,状态1215为得到逻辑结束地址的较高的32个比特的状态,而如果在状态1215中又接收到命令CMD22,则表示主机105更新了64比特长度的逻辑结束地址的较高的32个比特,安全数字卡100于接收到新的命令CMD22后更新64比特长度的逻辑结束地址的较高的32个比特。
在状态1215中如果接收到命令CMD33,则表示安全数字卡100接收到命令CMD33所带有的32个比特(所述32个比特是一64比特长度的逻辑结束地址的较低32个比特),此时会进入状态1216,状态1216为得到逻辑结束地址的32个比特的状态,接着如果接收到命令CMD38,则进入到状态1218,状态1218为得到执行命令的状态。因此,如果安全数字卡100是依序从状态1200、1202、1212、1214、1215、1216至1218,则控制器120会根据64比特逻辑起始地址及64比特逻辑结束地址来对闪存110进行抹除操作。
应注意的是,在状态1202、1222、1223、1214、1215以及状态1216中,如果接收到一个未被预期的命令(亦即一个并未被描述于上述流程状态切换中的其他命令),则安全数字卡100均会至状态1260,然后回到准备传送数据状态1200。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种用于安全数字卡的闪存控制器,所述闪存控制器系用以通过所述安全数字卡的内部总线耦接于所述安全数字卡内的闪存,以及所述闪存控制器系用以通过所述闪存控制器的第一外部信号端口与主机的第二外部信号端口而连接于所述主机的安全数字卡驱动电路,以及所述闪存控制器包含:
一处理电路,用以接收所述主机由所述安全数字卡驱动电路所发送的第一命令及所传入的第一部份地址参数,所述第一命令及所传入的所述第一部份地址参数是依序通过所述第二外部信号端口与所述闪存控制器的所述第一外部信号端口的SD模式的CMD接脚,所述处理电路用以接收所述主机由所述安全数字卡驱动电路所发送的第二命令及所传入的第二部份地址参数,所述第二命令及所传入的所述第二部份地址参数是依序通过所述第二外部信号端口与所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚,以及所述处理电路用以根据所述第一部份地址参数及所述第二部份地址参数来组合得到完整的地址参数,并根据所述完整的地址参数及所述第二命令的命令类型,通过所述内部总线来对所述安全数字卡的所述闪存进行所述命令类型所对应的操作处理;
其中所述第一命令是命令CMD22、CMD31、CMD39、CMD41及CMD51的其中一个,所述第二命令的所述命令类型包含单一数据单元读取CMD17、单一数据单元写入CMD24、多数据单元读取CMD18、多数据单元写入CMD25、命令序列任务指派CMD44或CMD45以及区块抹除CMD32、CMD33或CMD38;所述第一部份地址参数为所述完整的地址参数的多个较高比特,以及所述第二部份地址参数为所述完整的地址参数的多个较低比特;当由所述第一外部信号端口的SD模式的CMD接脚上接收到起始比特“0”及传输比特“1”时,所述处理电路判断所述主机正由所述安全数字卡驱动电路发送特定命令的命令内容至所述安全数字卡,并于所述传输比特“1”之后接收所述特定命令的所述命令内容的多个比特所组成的命令类型及地址参数的信息。
2.如权利要求1所述的闪存控制器,其特征在于,所述处理电路是用以:
接收所述主机由所述安全数字卡驱动电路所发送的所述第一命令及所传入的第一32比特长度逻辑地址,所述第一命令及所传入的所述第一32比特长度逻辑地址是依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
接收所述主机由所述安全数字卡驱动电路所发送的写入命令CMD24或CMD25及所传入的第二32比特长度逻辑地址,所述写入命令CMD24或CMD25及所传入的所述第二32比特长度逻辑地址依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
接收所述主机由所述安全数字卡驱动电路所发送的对应于64比特长度逻辑地址的数据单元,所述数据单元依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的多个数据线接脚;
根据所述第一32比特长度逻辑地址及所述第二32比特长度逻辑地址来组合得到所述64比特长度逻辑地址;以及
根据所述64比特长度逻辑地址以及所述写入命令,通过所述内部总线将所述数据单元写入至所述闪存。
3.如权利要求2所述的闪存控制器,其特征在于,在接收所述主机由所述安全数字卡驱动电路所发送并通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚的所述第一命令及所传入的所述第一32比特长度逻辑地址之前,所述处理电路先接收到所述主机由所述安全数字卡驱动电路所发送的指示命令及所传入的指定写入的数据长度参数,所述指示命令及所传入的所述指定写入的数据长度参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚。
4.如权利要求1所述的闪存控制器,其特征在于,所述处理电路用以:
接收所述主机由所述安全数字卡驱动电路所发送的所述第一命令及所传入的第一32比特长度逻辑地址,所述第一命令及所传入的所述第一32比特长度逻辑地址依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
接收所述主机由所述安全数字卡驱动电路所发送的读取命令CMD17或CMD18及所传入的第二32比特长度逻辑地址,所述读取命令及所传入的所述第二32比特长度逻辑地址依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;以及
根据所述第一32比特长度逻辑地址及所述第二32比特长度逻辑地址来组合得到所述64比特长度逻辑地址;
其中所述处理电路根据所述64比特长度逻辑地址以及所述读取命令CMD17或CMD18,通过所述内部总线得到从所述闪存所传送的数据,并传送所述数据至所述主机,所述数据依序通过所述第一外部信号端口的所述SD模式的多个数据线接脚与所述第二外部信号端口至所述安全数字卡驱动电路。
5.如权利要求4所述的闪存控制器,其特征在于,在接收所述主机由所述安全数字卡驱动电路所发送并通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚的所述第一命令及所传入的所述第一32比特长度逻辑地址之前,所述处理电路先接收到所述主机由所述安全数字卡驱动电路所发送的指示命令及所传入的指定读取的数据长度参数,所述指示命令及所传入的所述指定读取的数据长度参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚至所述处理电路。
6.如权利要求1所述的闪存控制器,其特征在于,所述处理电路用以:
接收所述主机由所述安全数字卡驱动电路所发送的所述第一命令及所传入的第一32比特长度逻辑地址,所述第一命令及所传入的所述第一32比特长度逻辑地址依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
接收所述主机由所述安全数字卡驱动电路所发送的抹除命令CMD32或CMD33及所传入的第二32比特长度逻辑地址,所述抹除命令及所传入的所述第二32比特长度逻辑地址依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
接收所述主机由所述安全数字卡驱动电路所发送的抹除命令CMD38;
根据所述第一32比特长度逻辑地址及所述第二32比特长度逻辑地址来组合得到64比特长度逻辑地址的指定抹除起始地址参数;以及
根据所述64比特长度逻辑地址以及所述抹除命令CMD32或CMD33及CMD38,通过所述内部总线来对所述闪存中指定要抹除的64比特地址区段所对应的区块进行抹除。
7.如权利要求1所述的闪存控制器,其特征在于,所述处理电路用以:
接收所述主机由所述安全数字卡驱动电路所发送的第一移转命令CMD44及所传入的移转参数,所述第一移转命令CMD44及所传入的所述移转参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
接收所述主机由所述安全数字卡驱动电路所发送的所述第一命令及所传入的第一32比特长度逻辑地址,所述第一命令及所传入的所述第一32比特长度逻辑地址依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
接收所述主机由所述安全数字卡驱动电路所发送的第二移转命令CMD45及所传入的第二32比特长度逻辑地址,所述第二移转命令CMD45及所传入的所述第二32比特长度逻辑地址依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
根据所述第一32比特长度逻辑地址及所述第二32比特长度逻辑地址来组合得到64比特长度逻辑地址的指定移转起始地址参数;以及
根据所述64比特长度逻辑地址以及所述移转参数,通过所述内部总线从所述指定移转起始地址参数开始对所述闪存的对应数据进行转移。
8.一种安全数字卡,包含:
一闪存;以及
如权利要求1所述的闪存控制器。
9.一种用于安全数字卡的闪存控制器的方法,所述闪存控制器系用以通过所述安全数字卡的内部总线耦接于所述安全数字卡内的闪存,以及所述闪存控制器系用以通过所述闪存控制器的第一外部信号端口与主机的第二外部信号端口而连接于所述主机的安全数字卡驱动电路,以及所述方法包含:
接收所述主机由所述安全数字卡驱动电路所发送的第一命令及所传入的第一部份地址参数,所述第一命令及所传入的所述第一部份地址参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的SD模式的CMD接脚;
接收所述主机由所述安全数字卡驱动电路所发送的第二命令及所传入的第二部份地址参数,所述第二命令及所传入的所述第二部份地址参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
根据所述第一部份地址参数及所述第二部份地址参数来组合得到完整的地址参数;以及
根据所述完整的地址参数及所述第二命令的命令类型,通过所述内部总线来对所述安全数字卡的所述闪存进行所述命令类型所对应的操作处理;
其中所述第一命令是命令CMD22、CMD31、CMD39、CMD41及CMD51的其中一个,所述第二命令的所述命令类型包含单一数据单元读取CMD17、单一数据单元写入CMD24、多数据单元读取CMD18、多数据单元写入CMD25、命令序列任务指派CMD44或CMD45以及区块抹除CMD32、CMD33或CMD38;所述第一部份地址参数为所述完整的地址参数的多个较高比特,以及所述第二部份地址参数为所述完整的地址参数的多个较低比特;以及所述方法另包括:
当由所述第一外部信号端口的SD模式的CMD接脚上接收到起始比特“0”及传输比特“1”时,判断所述主机正由所述安全数字卡驱动电路发送特定命令的命令内容至所述安全数字卡;以及
于所述传输比特“1”之后接收所述特定命令的所述命令内容的多个比特所组成的命令类型及地址参数的信息。
10.如权利要求9所述的方法,其特征在于,第一部份地址参数是第一32比特长度逻辑地址,所述第二命令是写入命令CMD24或CMD25,所述第二部份地址参数是第二32比特长度逻辑地址,以及所述方法另包含:
接收所述主机由所述安全数字卡驱动电路所发送的对应于64比特长度逻辑地址的数据单元,所述数据单元依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的多个数据线接脚;
根据所述第一32比特长度逻辑地址及所述第二32比特长度逻辑地址来组合得到所述64比特长度逻辑地址;以及
根据所述64比特长度逻辑地址以及所述写入命令CMD24或CMD25,通过所述内部总线将所述数据单元写入至所述闪存。
11.如权利要求10所述的方法,其特征在于,该方法另包含:
在接收所述主机由所述安全数字卡驱动电路所发送并通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚的所述第一命令及所传入的所述第一32比特长度逻辑地址之前,先接收到所述主机由所述安全数字卡驱动电路所发送的指示命令及所传入的指定写入的数据长度参数,所述指示命令及所传入的所述指定写入的数据长度参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚。
12.如权利要求9所述的方法,其特征在于,所述第一部份地址参数是第一32比特长度逻辑地址,所述第二命令是读取命令CMD17或CMD18,所述第二部份地址参数是第二32比特长度逻辑地址,以及所述方法另包含:
根据所述第一32比特长度逻辑地址及所述第二32比特长度逻辑地址来组合得到所述64比特长度逻辑地址;
根据所传送的所述64比特长度逻辑地址以及所述读取命令CMD17或CMD18,通过所述内部总线得到从所述闪存所传送的数据单元;以及
传送所述数据单元至后所述主机,所述数据单元依序通过所述第一外部信号端口的所述SD模式的多个数据线接脚、所述第二外部信号端口至所述安全数字卡驱动电路。
13.如权利要求12所述的方法,其特征在于,该方法另包括:
在接收所述主机由所述安全数字卡驱动电路所发送并通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚的所述第一命令及所传入的所述第一32比特长度逻辑地址之前,先接收到所述主机由所述安全数字卡驱动电路所发送的指示命令及所传入的指定读取的数据长度参数,所述指示命令及所传入的所述指定读取的数据长度参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚至所述处理电路。
14.如权利要求9所述的方法,其特征在于,所述第一部份地址参数是第一32比特长度逻辑地址,所述第二命令是抹除命令CMD32、CMD33或CMD38,所述第二部份地址参数是第二32比特长度逻辑地址,以及所述方法另包含:
根据所述第一32比特长度逻辑地址及所述第二32比特长度逻辑地址来组合得到64比特长度逻辑地址的指定抹除起始地址参数;以及
根据所述64比特长度逻辑地址以及所述抹除命令CMD32、CMD33或CMD38,通过所述内部总线来对所述闪存中指定要抹除的64比特地址区段所对应的区块进行抹除。
15.如权利要求9所述的闪存控制器,其特征在于,所述第一部份地址参数是第一32比特长度逻辑地址,所述第二命令是第二移转命令CMD45,所述第二部份地址参数是第二32比特长度逻辑地址,以及所述方法另包含:
接收所述主机由所述安全数字卡驱动电路所发送的第一移转命令CMD44及所传入的移转参数,所述第一移转命令CMD44及所传入的所述移转参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚;
根据所述第一32比特长度逻辑地址及所述第二32比特长度逻辑地址来组合得到64比特长度逻辑地址的指定移转起始地址参数;以及
根据所述64比特长度逻辑地址以及所述移转参数,通过所述内部总线从所述指定移转起始地址参数开始对所述闪存的对应数据进行转移。
16.一种用于存取安全数字卡的主机,所述主机用以通过所述主机的安全数字卡驱动电路、所述主机的第二外部信号端口、所述安全数字卡的第一外部信号端口、所述安全数字卡的内部总线而耦接于所述安全数字卡内的闪存与闪存控制器,所述主机包含:
所述安全数字卡驱动电路;
一处理器,耦接至所述安全数字卡驱动电路,用以控制所述安全数字卡驱动电路发送第一命令及第一部份地址参数至所述安全数字卡,所述第一命令及所述第一部份地址参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的SD模式的CMD接脚至所述闪存控制器,用以控制所述安全数字卡驱动电路发送第二命令及第二部份地址参数至所述安全数字卡,所述第二命令及所述第二部份地址参数依序通过所述第二外部信号端口、所述闪存控制器的所述第一外部信号端口的所述SD模式的CMD接脚至所述闪存控制器,所述处理器控制所述安全数字卡驱动电路发送所述第一部份地址参数与所述第二部份地址参数,令所述闪存控制器根据所述第一部份地址参数及所述第二部份地址参数来组合得到完整的地址参数,并据此根据所述完整的地址参数及所述第二命令的命令类型,通过所述内部总线来对所述闪存进行所述命令类型所对应的操作处理;
其中所述第一命令是命令CMD22、CMD31、CMD39、CMD41及CMD51的其中一个,所述第二命令的所述命令类型包含单一数据单元读取CMD17、单一数据单元写入CMD24、多数据单元读取CMD18、多数据单元写入CMD25、命令序列任务指派CMD44或CMD45以及数据单元抹除CMD32、CMD33或CMD38;所述第一部份地址参数为所述完整的地址参数的多个较高比特,以及所述第二部份地址参数为所述完整的地址参数的多个较低比特;所述安全数字卡驱动电路于所述第一外部信号端口的所述SD模式的CMD接脚上依序发送起始比特“0”及传输比特“1”至所述安全数字卡,令所述闪存控制可由所述第一外部信号端口的所述SD模式的CMD接脚上及所述内部总线接收到所述起始比特“0”及所述传输比特“1”,以判断所述主机正由所述安全数字卡驱动电路发送特定命令的命令内容至所述安全数字卡,并令所述闪存控制器于所述传输比特“1”之后接收所述特定命令的所述命令内容的多个比特所组成的命令类型及地址参数的信息。
CN201811586133.6A 2017-12-28 2018-12-25 闪存控制器、安全数字卡、方法以及电子装置 Active CN110032336B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762610937P 2017-12-28 2017-12-28
US62/610,937 2017-12-28
US201862619930P 2018-01-22 2018-01-22
US62/619,930 2018-01-22

Publications (2)

Publication Number Publication Date
CN110032336A true CN110032336A (zh) 2019-07-19
CN110032336B CN110032336B (zh) 2023-04-07

Family

ID=67058286

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811583363.7A Active CN110046104B (zh) 2017-12-28 2018-12-24 记忆卡控制器、记忆卡、方法以及电子装置
CN201811586133.6A Active CN110032336B (zh) 2017-12-28 2018-12-25 闪存控制器、安全数字卡、方法以及电子装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811583363.7A Active CN110046104B (zh) 2017-12-28 2018-12-24 记忆卡控制器、记忆卡、方法以及电子装置

Country Status (7)

Country Link
US (5) US10691589B2 (zh)
EP (1) EP3732575A4 (zh)
JP (1) JP2021508878A (zh)
KR (1) KR20200095526A (zh)
CN (2) CN110046104B (zh)
TW (5) TWI792073B (zh)
WO (2) WO2019129193A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392470B2 (en) * 2019-05-15 2022-07-19 Dell Products L.P. Information handling system to allow system boot when an amount of installed memory exceeds processor limit
US11500901B2 (en) * 2019-06-28 2022-11-15 Nxp B.V. Apparatuses and methods involving synchronization using data in the data/address field of a communications protocol
CN111309482B (zh) * 2020-02-20 2023-08-15 浙江亿邦通信科技有限公司 基于哈希算法的区块链任务分配系统、装置及可存储介质
US11249847B2 (en) * 2020-04-09 2022-02-15 Micron Technology, Inc. Targeted command/address parity low lift

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324867A (zh) * 2007-06-16 2008-12-17 深圳市硅格半导体有限公司 基于半导体存储介质的数据管理装置及管理方法
CN102023927A (zh) * 2009-09-22 2011-04-20 点序科技股份有限公司 闪存控制装置及其存取方法
US20110128809A1 (en) * 2009-11-27 2011-06-02 Macronix International Co., Ltd. Method and Apparatus of Addressing A Memory Integrated Circuit
CN104798063A (zh) * 2012-10-30 2015-07-22 株式会社东芝 存储设备和主机设备
US20170364277A1 (en) * 2016-06-21 2017-12-21 Silicon Motion, Inc. Data storage device and data maintenance method thereof

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112251A (ja) * 1990-08-31 1992-04-14 Nec Ic Microcomput Syst Ltd マイクロコンピュータ
JP3711422B2 (ja) * 1995-12-20 2005-11-02 セイコーエプソン株式会社 情報処理回路
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US6914550B2 (en) * 2003-10-09 2005-07-05 Texas Instruments Incorporated Differential pipelined analog to digital converter with successive approximation register subconverter stages using thermometer coding
TWM253045U (en) * 2003-12-16 2004-12-11 I O Interconnect Inc Removable flash memory portable storage device task
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
JP4515793B2 (ja) * 2004-03-11 2010-08-04 株式会社東芝 メモリカード装置およびメモリカード制御方法
US7814377B2 (en) 2004-07-09 2010-10-12 Sandisk Corporation Non-volatile memory system with self test capability
US7565469B2 (en) * 2004-11-17 2009-07-21 Nokia Corporation Multimedia card interface method, computer program product and apparatus
US20070119931A1 (en) * 2005-11-25 2007-05-31 C-Media Electronics Inc. Apparatus for reading/writing storage devices
WO2007097439A1 (ja) * 2006-02-21 2007-08-30 Nec Corporation プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
KR100783988B1 (ko) 2006-10-31 2007-12-07 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작방법
JP4956143B2 (ja) 2006-11-02 2012-06-20 株式会社東芝 半導体メモリカード、ホスト装置、及びデータ転送方法
US7694099B2 (en) 2007-01-16 2010-04-06 Advanced Risc Mach Ltd Memory controller having an interface for providing a connection to a plurality of memory devices
US7916557B2 (en) * 2007-04-25 2011-03-29 Micron Technology, Inc. NAND interface
CN103226679B (zh) * 2007-05-09 2016-06-08 金士顿科技股份有限公司 安全且可扩充的固态磁盘系统
JP2009086988A (ja) * 2007-09-28 2009-04-23 Toshiba Corp メモリカード
JP2009104729A (ja) * 2007-10-24 2009-05-14 Toshiba Corp 不揮発性半導体記憶装置
KR100979744B1 (ko) * 2008-06-26 2010-09-02 에스디씨마이크로 주식회사 메모리 주소 확장 기능을 가지는 씨피유 메모리 결합어셈블리
CN101782870B (zh) 2009-01-16 2011-12-14 旺宏电子股份有限公司 存储器装置与其控制方法
CN101650690B (zh) 2009-09-21 2011-03-02 中兴通讯股份有限公司 大容量存储卡的应用方法及移动终端
JP5150591B2 (ja) 2009-09-24 2013-02-20 株式会社東芝 半導体装置及びホスト機器
JP2011107851A (ja) * 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
CN102214482B (zh) 2010-04-07 2013-05-01 中国科学院电子学研究所 高速大容量固态电子记录器
US8713242B2 (en) * 2010-12-30 2014-04-29 Solid State System Co., Ltd. Control method and allocation structure for flash memory device
JP2012204880A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリ装置及びその制御方法
JP2012212396A (ja) * 2011-03-31 2012-11-01 Toshiba Corp メモリカード及びホスト機器
TWI471862B (zh) 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
JP2013191169A (ja) * 2012-03-15 2013-09-26 Toshiba Corp ホスト機器、メモリコントローラ、及びメモリ装置
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
KR101988260B1 (ko) 2012-09-14 2019-06-12 삼성전자주식회사 임베디드 멀티미디어 카드, 및 이의 동작 방법
CN103268775A (zh) 2013-05-17 2013-08-28 深圳市江波龙电子有限公司 存储芯片、存储设备及存储芯片使用方法
KR102210961B1 (ko) * 2013-06-12 2021-02-03 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동적 접근 방법
CN103488436B (zh) 2013-09-25 2017-04-26 华为技术有限公司 内存扩展系统及方法
CN104679592A (zh) 2013-12-02 2015-06-03 北京兆易创新科技股份有限公司 一种微控制单元mcu中资源动态分配的方法和系统
CN103809920B (zh) 2014-02-13 2017-05-17 杭州电子科技大学 一种超大容量固态硬盘的实现方法
US9454310B2 (en) * 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
US9606738B2 (en) * 2014-03-10 2017-03-28 Kabushiki Kaisha Toshiba Memory system with a bridge part provided between a memory and a controller
JP2016029556A (ja) * 2014-07-15 2016-03-03 株式会社東芝 ホスト機器および拡張性デバイス
US10194809B2 (en) * 2015-08-24 2019-02-05 Verily Life Sciences Llc Integrated electronics for photoplethysmography and electrocardiography
US9418731B1 (en) * 2015-11-06 2016-08-16 Phison Electronics Corp. Memory management method, memory storage device and memory control circuit unit
US9837135B2 (en) * 2016-03-03 2017-12-05 Samsung Electronics Co., Ltd. Methods for addressing high capacity SDRAM-like memory without increasing pin cost
TWI599880B (zh) * 2016-03-22 2017-09-21 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
TWI637264B (zh) 2016-05-20 2018-10-01 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
US10303384B1 (en) 2017-11-28 2019-05-28 Western Digital Technologies, Inc. Task readiness for queued storage tasks
US10866746B2 (en) * 2017-12-28 2020-12-15 Silicon Motion Inc. Memory addressing methods and associated controller, memory device and host
US10705997B2 (en) * 2018-05-16 2020-07-07 Mixd Media Llc. MIXDTAPE—cassette tape replica record/playback device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324867A (zh) * 2007-06-16 2008-12-17 深圳市硅格半导体有限公司 基于半导体存储介质的数据管理装置及管理方法
CN102023927A (zh) * 2009-09-22 2011-04-20 点序科技股份有限公司 闪存控制装置及其存取方法
US20110128809A1 (en) * 2009-11-27 2011-06-02 Macronix International Co., Ltd. Method and Apparatus of Addressing A Memory Integrated Circuit
CN104798063A (zh) * 2012-10-30 2015-07-22 株式会社东芝 存储设备和主机设备
US20170364277A1 (en) * 2016-06-21 2017-12-21 Silicon Motion, Inc. Data storage device and data maintenance method thereof

Also Published As

Publication number Publication date
TWI692689B (zh) 2020-05-01
TW202030612A (zh) 2020-08-16
US10691589B2 (en) 2020-06-23
EP3732575A4 (en) 2021-10-27
US20220147445A1 (en) 2022-05-12
TWI714487B (zh) 2020-12-21
US10853239B2 (en) 2020-12-01
US11249893B2 (en) 2022-02-15
US20190205068A1 (en) 2019-07-04
TW202314512A (zh) 2023-04-01
TWI709858B (zh) 2020-11-11
TWI792073B (zh) 2023-02-11
KR20200095526A (ko) 2020-08-10
EP3732575A1 (en) 2020-11-04
CN110046104B (zh) 2022-11-15
TW202117545A (zh) 2021-05-01
US20240045798A1 (en) 2024-02-08
CN110032336B (zh) 2023-04-07
CN110046104A (zh) 2019-07-23
TW201931127A (zh) 2019-08-01
JP2021508878A (ja) 2021-03-11
US20200293440A1 (en) 2020-09-17
WO2019129194A1 (en) 2019-07-04
US11829289B2 (en) 2023-11-28
TW201931125A (zh) 2019-08-01
WO2019129193A1 (en) 2019-07-04
US20190205248A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
CN110032336A (zh) 闪存控制器、安全数字卡、方法以及电子装置
CN104809075B (zh) 一种存取实时并行处理的固态记录装置及方法
CN106575517B (zh) 用于提供比较访问功能的存储器设备
CN1595381B (zh) 桥控制器、桥和操作该桥的方法
CN103366801B (zh) 存储器装置及其操作方法
CN102422271B (zh) 用于非易失性存储器系统的多页准备命令
US20140149607A1 (en) Storage device, computing system including the same and data transferring method thereof
CN108304141A (zh) 存储器系统及其操作方法
CN102414666A (zh) 用于受管理的非易失性存储器的低等待时间读取操作
CN106843983A (zh) 远程升级现场可编程门阵列的系统及方法
CN1918554A (zh) 具有存储器元件的存储器卡及其卡控制器
CN101814058A (zh) 通用存储装置
CN103544994B (zh) 快闪存储器控制器、快闪存储器侦错方法
CN110473582A (zh) 存储器系统及其操作方法
CN110308867A (zh) 存储器系统及其操作方法
CN107391322A (zh) 基于二进制向量的测试设备
CN108447513A (zh) 存储器系统及其操作方法
CN108694970A (zh) 控制器及其操作方法
CN106293505A (zh) 存储系统和操作其的方法
CN108536622A (zh) 存储装置、数据处理系统以及操作存储装置的方法
CN107102818A (zh) 一种基于sd卡的高速数据存储方法
CN116149570A (zh) 一种存储系统、存储系统的控制方法及相关组件
US9152348B2 (en) Data transmitting method, memory controller and data transmitting system
CN106681653B (zh) 存储器抹除方法、存储器控制电路单元及存储器存储装置
CN101833063B (zh) 对spi控制芯片进行测试的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant