[go: up one dir, main page]

CN110046104A - 记忆卡控制器、记忆卡、方法以及电子装置 - Google Patents

记忆卡控制器、记忆卡、方法以及电子装置 Download PDF

Info

Publication number
CN110046104A
CN110046104A CN201811583363.7A CN201811583363A CN110046104A CN 110046104 A CN110046104 A CN 110046104A CN 201811583363 A CN201811583363 A CN 201811583363A CN 110046104 A CN110046104 A CN 110046104A
Authority
CN
China
Prior art keywords
card
memory card
specific data
capacity
host
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
CN201811583363.7A
Other languages
English (en)
Other versions
CN110046104B (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 CN110046104A publication Critical patent/CN110046104A/zh
Application granted granted Critical
Publication of CN110046104B publication Critical patent/CN110046104B/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比特长度的逻辑地址空间的寻址能力。
根据本发明的实施例,其公开一种记忆卡控制器,用以通过一外部信号端口耦接至一主机,以及用以通过一记忆卡的一内部连接而耦接于一闪存,以及所述记忆卡控制器包含一处理电路,所述处理电路,用以从所述闪存中读出一卡特定资以储存所述卡特定数据于一寄存器中,所述卡特定数据中有标示一乘数参数及一基本容量,以及,如果所述处理电路接收到所述主机的一处理器通过一记忆卡驱动电路所发送的一要求命令CMD9,则所述处理电路系通过所述外部信号端口以及所述记忆卡驱动电路发送所述卡特定数据至所述主机的所述处理器,令所述主机的所述处理器可根据所述卡特定数据中所标示的所述乘数参数及所述基本容量来计算得到所述记忆卡的一最大容量;其中所标示的所述基本容量系采用所述卡特定数据中具有22个比特的C_size字段来表示,以及所标示的所述乘数参数系采用所述卡特定数据中N个容量标示比特来表示0至M的数值范围,以表示2的0次方至2的M次方的乘数范围,M为大于1的正整数。
根据本发明的实施例,另公开一种记忆卡,记忆卡包含上述的记忆卡控制器以及一闪存。
根据本发明的实施例,另公开一种使用于一记忆卡控制器的方法,所述记忆卡控制器通过一外部信号端口耦接至一主机,以及所述记忆卡控制器通过一记忆卡的一内部连接而耦接于一闪存,所述方法包含:从所述闪存中读出一卡特定资以储存所述卡特定数据于所述记忆卡控制器的一寄存器中,所述卡特定数据中有标示一乘数参数及一基本容量;以及如果所述记忆卡控制器接收到所述主机的一处理器通过一记忆卡驱动电路及所述外部端口所发送的一要求命令CMD9,则通过所述外部信号端口以及所述记忆卡驱动电路发送所述卡特定数据至所述主机的所述处理器,令所述主机的所述处理器可根据所述卡特定数据中所标示的所述乘数参数及所述基本容量来计算得到所述记忆卡的一最大容量;其中所标示的所述基本容量系采用所述卡特定数据中具有22个比特的C_size字段来表示,以及所标示的所述乘数参数系采用所述卡特定数据中N个容量标示比特来表示0至M的数值范围,以表示2的0次方至2的M次方的乘数范围,M为大于1的正整数。
根据本发明的实施例,另公开一种电子装置,电子装置用以通过一外部信号端口连接至一记忆卡,以及所述电子装置包含一记忆卡驱动电路及一处理器,记忆卡驱动电路用以驱动所述记忆卡;处理器耦接至所述记忆卡驱动电路,用以通过所述记忆卡驱动电路发送一要求命令CMD9至所述记忆卡的一记忆卡控制器,接收所述记忆卡的所述记忆卡控制器因应于所述要求命令CMD9所发送的一卡特定数据、分析读出所述卡特定数据中所标示的一乘数参数及一基本容量、以及根据所述卡特定数据中所标示的所述乘数参数及所述基本容量来计算得到所述记忆卡的一最大容量;其中所标示的所述基本容量系采用所述卡特定数据中具有22个比特的C_size字段来表示,以及所标示的所述乘数参数系采用所述卡特定数据中N个容量标示比特来表示0至M的数值范围,以表示2的0次方至2的M次方的乘数范围,M为大于1的正整数。
根据本发明的实施例,另公开一种使用于一电子装置的方法,所述电子装置用以通过一外部信号端口连接至一记忆卡,所述电子装置具有一记忆卡驱动电路以驱动所述记忆卡以及一处理器,以及所述方法包含:使用所述记忆卡驱动电路以驱动所述记忆卡;通过所述记忆卡驱动电路发送一要求命令CMD9至所述记忆卡的一记忆卡控制器;接收所述记忆卡的所述记忆卡控制器因应于所述要求命令CMD9所发送的一卡特定数据;分析读出所述卡特定数据中所标示的一乘数参数及一基本容量;以及根据所述卡特定数据中所标示的所述乘数参数及所述基本容量来计算得到所述记忆卡的一最大容量;其中所标示的所述基本容量系采用所述卡特定数据中具有22个比特的C_size字段来表示,以及所标示的所述乘数参数系采用所述卡特定数据中N个容量标示比特来表示0至M的数值范围,以表示2的0次方至2的M次方的乘数范围,M为大于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 (24)

1.一种记忆卡控制器,用以通过外部信号端口耦接至主机,以及用以通过记忆卡的内部连接而耦接于闪存,以及,其特征在于,所述记忆卡控制器包含:
一处理电路,用以从所述闪存中读出卡特定资以储存所述卡特定数据于寄存器中,所述卡特定数据中有标示乘数参数及基本容量,以及,如果所述处理电路接收到所述主机的处理器通过记忆卡驱动电路所发送的要求命令CMD9,则所述处理电路系通过所述外部信号端口以及所述记忆卡驱动电路发送所述卡特定数据至所述主机的所述处理器,令所述主机的所述处理器可根据所述卡特定数据中所标示的所述乘数参数及所述基本容量来计算得到所述记忆卡的最大容量;
其中所标示的所述基本容量系采用所述卡特定数据中具有22个比特的C_size字段来表示,以及所标示的所述乘数参数系采用所述卡特定数据中N个容量标示比特来表示0至M的数值范围,以表示2的0次方至2的M次方的乘数范围,M为大于1的正整数。
2.如权利要求1所述的记忆卡控制器,其特征在于,所述主机系将所述乘数参数乘上所述基本容量来计算得到所述记忆卡的所述最大容量。
3.如权利要求1所述的记忆卡控制器,其特征在于,所述基本容量的最大值系对应于32比特逻辑地址空间的最大容量上限。
4.如权利要求1所述的记忆卡控制器,其特征在于,所述处理电路所发送的所述卡特定数据标示有版本信息,令所述主机根据所述版本信息来初步判断所述记忆卡的所述最大容量是否超过特定比特长度地址空间所对应的最大容量。
5.如权利要求1所述的记忆卡控制器,其特征在于,所述处理电路所发送的所述卡特定数据标示有版本信息,令所述主机根据所述版本信息来判断是否参考所述卡特定数据中所标示的所述乘数参数来计算所述记忆卡的所述最大容量。
6.如权利要求5所述的记忆卡控制器,其特征在于,当所述版本信息符合所述主机的驱动电路的版本信息时,所述主机会参考所述卡特定数据中所标示的所述乘数参数来计算所述记忆卡的所述最大容量。
7.一种记忆卡,其特征在于,包含:
如权利要求1所述的记忆卡控制器;以及
一闪存。
8.一种使用于记忆卡控制器的方法,所述记忆卡控制器系用以通过外部信号端口耦接至主机,以及所述记忆卡控制器系用以通过记忆卡的内部连接而耦接于闪存,其特征在于,所述方法包含:
从所述闪存中读出卡特定资以储存所述卡特定数据于所述记忆卡控制器的寄存器中,所述卡特定数据中有标示乘数参数及基本容量;以及
如果所述记忆卡控制器接收到所述主机的处理器通过记忆卡驱动电路及所述外部端口所发送的要求命令CMD9,则通过所述外部信号端口以及所述记忆卡驱动电路发送所述卡特定数据至所述主机的所述处理器,令所述主机的所述处理器可根据所述卡特定数据中所标示的所述乘数参数及所述基本容量来计算得到所述记忆卡的最大容量;
其中所标示的所述基本容量系采用所述卡特定数据中具有22个比特的C_size字段来表示,以及所标示的所述乘数参数系采用所述卡特定数据中N个容量标示比特来表示0至M的数值范围,以表示2的0次方至2的M次方的乘数范围,M为大于1的正整数。
9.如权利要求8所述的方法,其特征在于,所述乘数参数乘上所述基本容量而计算得到所述记忆卡的所述最大容量。
10.如权利要求8所述的方法,其特征在于,该方法另包含:
于所发送的所述卡特定数据标示出版本信息,令所述主机根据所述版本信息来初步判断所述记忆卡的所述最大容量是否超过特定比特长度地址空间所对应的最大容量。
11.如权利要求10所述的方法,其特征在于,该方法另包含:
于所发送的所述卡特定数据标示出版本信息,令所述主机根据所述版本信息来判断是否参考所述卡特定数据中所标示的所述乘数参数来计算所述记忆卡的所述最大容量。
12.如权利要求11所述的方法,其特征在于,当所述版本信息符合所述主机的驱动电路的版本信息时,所述主机会参考所述卡特定数据中所标示的所述乘数参数来计算所述记忆卡的所述最大容量。
13.一种电子装置,用以通过外部信号端口连接至记忆卡,其特征在于,所述电子装置包含:
一记忆卡驱动电路,用以驱动所述记忆卡;
一处理器,耦接至所述记忆卡驱动电路,用以通过所述记忆卡驱动电路发送要求命令CMD9至所述记忆卡的记忆卡控制器,接收所述记忆卡的所述记忆卡控制器因应于所述要求命令CMD9所发送的卡特定数据、分析读出所述卡特定数据中所标示的乘数参数及基本容量、以及根据所述卡特定数据中所标示的所述乘数参数及所述基本容量来计算得到所述记忆卡的最大容量;
其中所标示的所述基本容量系采用所述卡特定数据中具有22个比特的C_size字段来表示,以及所标示的所述乘数参数系采用所述卡特定数据中N个容量标示比特来表示0至M的数值范围,以表示2的0次方至2的M次方的乘数范围,M为大于1的正整数。
14.如权利要求13所述的电子装置,其特征在于,所述处理器系将所述乘数参数乘上所述基本容量来计算得到所述记忆卡的所述最大容量。
15.如权利要求13所述的电子装置,其特征在于,所述基本容量的最大值系对应于32比特逻辑地址空间的最大容量上限。
16.如权利要求13所述的电子装置,其特征在于,所述卡特定数据标示有版本信息,以及所述处理器系根据所述版本信息来初步判断所述记忆卡的所述最大容量是否超过特定比特长度地址空间所对应的最大容量。
17.如权利要求13所述的电子装置,其特征在于,所述卡特定数据标示有版本信息,以及所述处理器系根据所述版本信息来判断是否参考所述卡特定数据中所标示的所述乘数参数来计算所述记忆卡的所述最大容量。
18.如权利要求13所述的电子装置,其特征在于,该电子装置另包含:
一显示器,耦接至所述处理器;
其中所述处理器系将所计算的所述记忆卡的所述最大容量显示于所述显示器的画面上。
19.一种使用于电子装置的方法,所述电子装置用以通过外部信号端口连接至记忆卡,所述电子装置具有记忆卡驱动电路以驱动所述记忆卡以及处理器,以及,其特征在于,所述方法包含:
使用所述记忆卡驱动电路以驱动所述记忆卡;
通过所述记忆卡驱动电路发送要求命令CMD9至所述记忆卡的记忆卡控制器;
接收所述记忆卡的所述记忆卡控制器因应于所述要求命令CMD9所发送的卡特定数据;
分析读出所述卡特定数据中所标示的乘数参数及基本容量;以及
根据所述卡特定数据中所标示的所述乘数参数及所述基本容量来计算得到所述记忆卡的最大容量;
其中所标示的所述基本容量系采用所述卡特定数据中具有22个比特的C_size字段来表示,以及所标示的所述乘数参数系采用所述卡特定数据中N个容量标示比特来表示0至M的数值范围,以表示2的0次方至2的M次方的乘数范围,M为大于1的正整数。
20.如权利要求19所述的方法,其特征在于,计算得到所述记忆卡的所述最大容量的步骤包含:
将所述乘数参数乘上所述基本容量来计算得到所述记忆卡的所述最大容量。
21.如权利要求19所述的方法,其特征在于,所述基本容量的最大值系对应于32比特逻辑地址空间的最大容量上限。
22.如权利要求19所述的方法,其特征在于,所述卡特定数据标示有版本信息,以及所述方法另包含:
根据所述版本信息来初步判断所述记忆卡的所述最大容量是否超过特定比特长度地址空间所对应的最大容量。
23.如权利要求19所述的方法,其特征在于,所述卡特定数据标示有版本信息,以及所述方法另包含:
根据所述版本信息来判断是否参考所述卡特定数据中所标示的所述乘数参数来计算所述记忆卡的所述最大容量。
24.如权利要求19所述的方法,其特征在于,该方法另包含:
将所计算的所述记忆卡的所述最大容量显示于所述电子装置的显示器的画面上。
CN201811583363.7A 2017-12-28 2018-12-24 记忆卡控制器、记忆卡、方法以及电子装置 Active CN110046104B (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
CN110046104A true CN110046104A (zh) 2019-07-23
CN110046104B CN110046104B (zh) 2022-11-15

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 After (1)

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

Country Status (7)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309482A (zh) * 2020-02-20 2020-06-19 浙江亿邦通信科技有限公司 矿机控制器任务分配系统、装置及其可存储介质

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
US11249847B2 (en) * 2020-04-09 2022-02-15 Micron Technology, Inc. Targeted command/address parity low lift
US12067233B2 (en) * 2022-07-14 2024-08-20 Samsung Electronics Co., Ltd. Method and system for tuning a memory device for high-speed transitions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
US20070119931A1 (en) * 2005-11-25 2007-05-31 C-Media Electronics Inc. Apparatus for reading/writing storage devices
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US20120173791A1 (en) * 2010-12-30 2012-07-05 Solid State System Co., Ltd. Control method and allocation structure for flash memory device

Family Cites Families (52)

* 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 セイコーエプソン株式会社 情報処理回路
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
JP3923715B2 (ja) 2000-09-29 2007-06-06 株式会社東芝 メモリカード
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
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
JP5190800B2 (ja) * 2006-02-21 2013-04-24 日本電気株式会社 プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
US7728692B2 (en) 2006-06-09 2010-06-01 Accell Systems, Inc. Reduction of noise in a metallic conductor signal pair using controlled line balancing and common mode impedance reduction
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
CN103226678B (zh) * 2007-05-09 2016-12-28 金士顿科技股份有限公司 安全且可扩充的固态磁盘系统
CN101324867B (zh) * 2007-06-16 2011-07-20 深圳市硅格半导体有限公司 基于半导体存储介质的数据管理装置及管理方法
JP2009026296A (ja) 2007-06-21 2009-02-05 Toshiba Corp 電子デバイス、メモリデバイス、ホスト装置
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 中兴通讯股份有限公司 大容量存储卡的应用方法及移动终端
CN102023927A (zh) * 2009-09-22 2011-04-20 点序科技股份有限公司 闪存控制装置及其存取方法
JP5150591B2 (ja) * 2009-09-24 2013-02-20 株式会社東芝 半導体装置及びホスト機器
JP2011107851A (ja) 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
TWI421871B (zh) * 2009-11-27 2014-01-01 Macronix Int Co Ltd 定址一記憶積體電路之方法與裝置
CN102214482B (zh) 2010-04-07 2013-05-01 中国科学院电子学研究所 高速大容量固态电子记录器
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 삼성전자주식회사 임베디드 멀티미디어 카드, 및 이의 동작 방법
JP5976608B2 (ja) * 2012-10-30 2016-08-23 株式会社東芝 メモリデバイス
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 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
TWI592864B (zh) * 2016-06-21 2017-07-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US20070119931A1 (en) * 2005-11-25 2007-05-31 C-Media Electronics Inc. Apparatus for reading/writing storage devices
US20120173791A1 (en) * 2010-12-30 2012-07-05 Solid State System Co., Ltd. Control method and allocation structure for flash memory device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309482A (zh) * 2020-02-20 2020-06-19 浙江亿邦通信科技有限公司 矿机控制器任务分配系统、装置及其可存储介质
CN111309482B (zh) * 2020-02-20 2023-08-15 浙江亿邦通信科技有限公司 基于哈希算法的区块链任务分配系统、装置及可存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110046104B (zh) 记忆卡控制器、记忆卡、方法以及电子装置
US6859856B2 (en) Method and system for a compact flash memory controller
US7007127B2 (en) Method and related apparatus for controlling transmission interface between an external device and a computer system
US11630791B2 (en) Data storage system and method for multiple communication protocols and memory access
US20070005829A1 (en) Memory card having memory element and card controller thereof
JP5443998B2 (ja) 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム
CN111159055B (zh) 用来进行主装置与记忆装置之间的存取控制的方法及设备
KR20100101517A (ko) 데이터 파일 삭제 명령에 응답하는 시스템 및 방법
US6230216B1 (en) Method for eliminating dual address cycles in a peripheral component interconnect environment
US7437503B2 (en) Method and apparatus for handling data transfers
CN112988038A (zh) 非易失性存储器的数据写入方法、终端和可读存储介质
CN118192875A (zh) NVMe命令生成的方法及其相关产品

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