CN100524273C - 存储卡控制器、存储卡驱动设备、以及计算机程序 - Google Patents
存储卡控制器、存储卡驱动设备、以及计算机程序 Download PDFInfo
- Publication number
- CN100524273C CN100524273C CNB2005800414985A CN200580041498A CN100524273C CN 100524273 C CN100524273 C CN 100524273C CN B2005800414985 A CNB2005800414985 A CN B2005800414985A CN 200580041498 A CN200580041498 A CN 200580041498A CN 100524273 C CN100524273 C CN 100524273C
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- card
- memory card
- storage card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004590 computer program Methods 0.000 title description 15
- 230000005540 biological transmission Effects 0.000 claims description 158
- 238000003860 storage Methods 0.000 claims description 128
- 230000004044 response Effects 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 26
- 238000011084 recovery Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 abstract description 35
- 238000012545 processing Methods 0.000 description 42
- 238000006243 chemical reaction Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000000977 initiatory effect Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000002203 pretreatment Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 230000002411 adverse Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 102220008138 rs12252 Human genes 0.000 description 2
- 102220103881 rs201490575 Human genes 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 102220042815 rs376686657 Human genes 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种用于控制主设备和存储卡之间的数据传输的存储卡控制器,所述主设备通过发出指定数据量的命令来请求数据传输,所述存储卡从接收到传输开始指令开始执行传输操作直到接收到传输结束指令。所述存储卡控制器配备有时钟开始/结束控制单元10,当作为传输操作的结果从存储卡传输的数据量达到了从主设备接收到的第n个命令所指定的数据量时,所述时钟开始/结束控制单元暂停向存储卡提供时钟信号,并且如果在向SD卡提供时钟信号处于暂停状态的情况下,接收到的下一个命令将与第n个命令请求的数据传输的结束地址相连续的地址指定为开始地址,那么所述时钟开始/结束控制单元恢复向存储卡提供时钟信号。
Description
技术领域
本发明涉及存储卡驱动设备,其控制主设备和一个或多个存储卡之间的数据传输,并尤其涉及改进控制大规模数据传输的技术。
背景技术
在专业视频设备领域中,要处理大量的高质量运动图像(movingpicture)数据。有鉴于此,在存储卡被用作专业视频设备的记录介质的情况下,推荐使用能够容纳多个存储卡的存储卡驱动设备。日本专利申请公开No.2002-189992记载了关于通过安装多个存储卡来构造存储卡阵列的常规技术。
下列描述涉及采用SD存储卡(下文中称为“SD卡”)作为存储卡的PC卡型存储卡驱动设备。
为了使用PC卡型存储卡驱动设备,该存储卡驱动设备经由卡总线而连接到视频设备(“主设备”),并且由主设备使用ATA命令利用与访问普通PC卡相同的过程来请求读取和写入数据(下文中,统称为“数据传输”)。通常,使用ATA命令的控制指示了从中开始数据传输的头逻辑地址和要传输的扇区数量。
另一方面,当向与数据传输有关的SD卡发指令时,需要使用SD命令。通过使用SD命令进行控制,从发出开始数据传输的SD命令(下文中称为“传输开始命令”)开始直到发出结束数据传输的SD命令(下文中称为“传输结束命令”)为止,其间连续地执行数据传输。
设备接口的这种差异要求存储卡驱动设备以图8所示的方式控制SD卡的操作。
图8是示出PC卡型存储卡驱动设备从存储卡读取数据的示例性操作的时序图。在层(a)示出的定时A[1]、A[2]、A[3]和A[4],主设备向存储卡驱动设备发出ATA命令。作为响应,如层(c)所示,在定时S[1]、S[2]、S[3]和S[4],存储卡驱动设备解释ATA命令,并向SD卡声明(assert)传输开始命令和从中开始读操作的逻辑地址。
一接收到传输开始命令,在层(e)所示的定时(加黑部分),SD卡将头逻辑地址转换为物理地址,之后,在层(f)所示的定时,从所转换的物理地址读取记录在内部非易失性存储器中的数据并传输所读取的数据。
当从SD卡传输了由ATA命令所请求的数据量时,在层(c)的定时(加黑部分),存储卡驱动设备向SD卡发出传输结束命令以便终止SD卡的读操作,并且如层(b)所示向主设备发出传输结束中断。因而能够执行主设备和SD卡之间的同步数据传输。
作为每当从主设备发出了请求进行数据传输的ATA命令时存储卡驱动设备通过在合适的定时发出传输开始和结束命令(SD命令)来控制SD卡的操作的结果,可以与安装在存储卡驱动设备中的多个SD卡执行数据传输,其中主设备将所述多个SD卡视为一个PC卡。
发明内容
本发明解决的问题
然而,因为每当发出ATA命令时,都要求存储卡驱动设备进行处理以将ATA命令转换为SD命令以及存储卡进行处理以将逻辑地址转换为物理地址,所以与直接从SD卡读取数据相比引起了额外开销,其降低了传输速率。
附带地,高质量运动图像数据的大小可能从几百兆字节到几十亿字节。实质上,通过使用SD命令进行控制,当读取写入到存储卡的连续区域中的大规模数据时,存储卡驱动设备只需发出指定头地址的传输开始命令,而当读取到数据的结尾时,只需发出传输结束命令。
然而,通过使用ATA命令进行控制,在任何一次可传输的数据被限制为最大64千字节。因而,在从SD卡读取大规模数据(诸如高质量运动图像数据)时,主设备竟要重复发出即使不上千也是成百的ATA命令。即使多个ATA命令请求的数据传输涉及存储卡的一个连续区域,为了同步主设备和存储卡的读操作,每当读取了64干字节的数据时,就要求存储卡驱动设备终止存储卡中的数据传输操作。
结果,与直接从SD卡读取数据相比,当读取大规模数据时额外开销对传输速率的影响是很显著的。尤其在多个存储卡被排成阵列并且并行地执行数据读取的情况下,随着被排成阵列的存储卡数量的增加,响应于单个ATA命令而从每个存储卡读取的数据长度进一步减小,加剧了额外开销对传输速率的影响。
本发明的目的是提供一种存储卡控制器、一种存储卡驱动设备和一种计算机程序,其能够在主设备使用具有短的可读数据长度的命令来指示读取大规模数据的情况下,抑制额外开销对读取传输速率的影响,同时同步主设备和一个或多个存储卡。
解决问题的手段
为了达到上述目的,属于本发明的一种存储卡控制器控制主设备和存储卡之间的数据传输,所述主设备通过发出指定数据量的命令来请求数据传输,所述存储卡从接收到传输开始指令开始执行传输操作直到接收到传输结束指令。所述存储卡控制器包括:接收单元,用于从主设备顺序地接收命令;暂停单元,用于当作为传输操作的结果所传输的数据量达到了由第n个请求数据传输的命令所指定的数据量时,使存储卡暂停传输操作;以及恢复单元,用于当传输操作处于暂停状态时如果接收到的第n个命令的下一个命令请求关于与第n个命令所请求的数据传输的结束地址连续的地址的数据传输,则使存储卡恢复暂停的传输操作。
本发明的效果
根据该结构,由于在连续地从主设备发出请求关于存储卡的连续区域的数据传输的命令的情况下,不需要每当接收到命令就发出传输开始指令,因此属于本发明的存储卡控制器能够减小代表额外开销的处理的量,这种处理诸如由存储卡控制器来转换命令和由存储卡来转换地址。另一方面,从响应于一个命令的数据传输完成开始直到主设备发出下一个命令为止,存储卡的数据传输被暂停,这一事实意味着主设备和存储卡之间的数据传输的同步没有丢失。
换句话说,可以抑制代表额外开销的处理对传输速率的影响,同时同步主设备和存储卡。
这里,数据传输可以是从存储卡读取数据,并且存储卡的传输操作可以是数据读操作。
由于当从存储卡读取数据时发给存储卡的传输开始指令的数量被减少了,该结构能够抑制额外开销对传输速率的影响,同时同步主设备和存储卡。
这里,数据读操作的暂停和恢复可以分别通过暂停和恢复向存储卡提供时钟信号来控制。
该结构允许存储卡的读操作被迅速暂停和恢复。因此能够抑制暂停和恢复读操作的处理对传输速率的不利影响。
这里,该存储卡控制器还可以包括指令发出单元,其用于分别通过向存储卡发出传输开始指令和传输结束指令来控制数据读操作的开始和结束。如果在数据读操作处于暂停状态的情况下经过了预定时间段,则恢复单元通过恢复提供时钟信号来使存储卡取消暂停状态,并且指令发出单元可以通过发出传输结束指令来使存储卡终止数据读操作。
假设当读取记录在存储卡的连续区域中的大规模数据时,将频繁地从主设备发出命令。这种情况是,假定如果出现了在读取大规模数据完成后的预定时间段或更长时间内没有命令从主设备发出的情况,则因此存储卡控制器使存储卡终止暂停的读操作。假设读操作已经被终止,那么随后发出的命令(其不大可能与第n个命令有连续性)可被迅速地处理。由于读操作没有被暂停比预定时间段更长的时间,因此也稳定了存储卡操作。
这里,如果随后的命令不需要访问存储卡,则暂停单元可以维持数据读操作的暂停状态。
如果在其之后的下一个命令请求关于与响应于第n个命令所执行的数据传输的结束地址相连续的地址的数据传输,那么该结构使得发给存储卡的传输开始指令减少,从而能够抑制额外开销对传输速率的影响。
这里,该存储卡控制器还可以包括指令发出单元,其用于分别通过向存储卡发出传输开始指令和传输结束指令来控制数据读操作的开始和结束。如果下一个命令请求数据写入和数据读取之一以便从与第n个命令所请求的数据读取的结束地址不连续的地址读取数据,则恢复单元可以通过恢复提供时钟信号来使存储卡取消数据读操作的暂停状态,并且指令发出单元可以在通过发出传输结束指令而使存储卡终止数据读操作之后,响应于该下一个命令而发出传输开始指令。
通过即使在随后并未发出请求关于与响应于第n个命令所执行的数据传输的结束地址相连续的地址的数据传输的命令的情况下也仅发出传输结束指令,该结构防止了传输速率的极大减小。
这里,数据传输可以是将数据写入到存储卡,并且存储卡的传输操作可以是数据写操作。
该结构使得当向存储卡写入数据时发给存储卡的传输开始指令被减少,同时还能同步主设备和存储卡,从而能够抑制额外开销对写传输速率的影响。
这里,数据写操作的暂停和恢复可以分别通过暂停和恢复对存储卡提供写数据来控制。
该结构允许迅速地暂停和恢复存储卡的写操作。由此可以抑制暂停和恢复写操作的处理对传输速率的不利影响。
这里,该存储卡控制器还可以包括指令发出单元,其用于如果在数据写操作处于暂停状态的情况下经过了预定时间段,则通过发出传输结束指令来使存储卡终止该数据写操作。
假设当向存储卡的连续区域写入大规模数据时,从主设备频繁地发出命令。这种情况是,假定如果出现了在写入大规模数据完成后的预定时间段或更长时间内没有命令从主设备发出的情况,则因此存储卡控制器使存储卡终止暂停的写操作。假设写操作已经被终止,那么随后发出的命令(其不大可能与第n个命令有连续性)可被迅速地处理。由于写操作没有被暂停比预定时间段更长的时间,因此也稳定了存储卡操作。
这里,如果随后的命令不需要访问存储卡,则暂停单元可以维持数据读操作的暂停状态。
如果在其之后的下一个命令请求关于与响应于第n个命令所执行的数据传输的结束地址相连续的地址的数据传输,那么该结构使得发给存储卡的传输开始指令减少,从而能够抑制额外开销对传输速率的影响。
这里,该存储卡控制器还可以包括指令发出单元,其用于如果下一个命令请求数据读取和数据写入之一以便将数据写入到与第n个命令所请求的数据写入的结束地址不连续的地址,则在通过发出传输结束指令而使存储卡终止数据写操作之后,响应于该下一个命令而向存储卡发出传输开始指令。
通过即使在随后并未发出请求关于与响应于第n个命令所执行的数据传输的结束地址相连续的地址的数据传输的命令的情况下也仅发出传输结束指令,该结构防止了传输速率的极大减小。
为了达到上述目的,属于本发明的一种存储卡驱动设备包括:如上所述的存储卡控制器、用于连接到主设备的第一接口、以及用于容纳一个或多个存储卡的第二接口。这里,该存储卡控制器基于从第一接口输入的命令来访问安装在第二接口中的一个或多个存储卡。
根据该结构,由于在连续地从主设备发出请求关于存储卡的连续区域的数据传输的命令的情况下,不需要每当接收到命令就发出传输开始指令,因此属于本发明的存储卡驱动设备能够减小代表额外开销的处理的量,这种处理诸如由存储卡控制器来转换命令和由存储卡来转换地址。另一方面,从响应于一个命令的数据传输完成开始直到主设备发出下一个命令为止,存储卡的数据传输被暂停,这一事实意味着主设备和存储卡之间的数据传输的同步没有丢失。
换句话说,可以抑制代表额外开销的处理对传输速率的影响,同时同步主设备和存储卡。
为了达到上述目的,属于本发明的一种计算机程序是用于存储卡控制器的,该存储卡控制器控制主设备和存储卡之间的数据传输,该主设备通过发出指定数据量的命令来请求数据传输,该存储卡从接收到传输开始指令时开始执行传输操作直到接收到传输结束指令。该计算机程序控制存储卡控制器的处理器来执行以下步骤:当作为传输操作的结果所传输的数据量达到了由第n个请求数据传输的命令所指定的数据量时,使存储卡暂停传输操作;以及如果当传输操作处于暂停状态时接收到的第n个命令的下一个命令请求关于与第n个命令所请求的数据传输的结束地址连续的地址的数据传输,则使存储卡恢复所暂停的传输操作。
根据该结构,在连续地从主设备发出请求关于存储卡的连续区域的数据传输的命令的情况下,属于本发明的计算机程序能够实现控制以减小代表额外开销的处理的量,这种处理诸如由存储卡控制器来转换命令和由存储卡来转换地址。另一方面,从响应于一个命令的数据传输完成开始直到主设备发出下一个命令为止,该计算机程序实现控制以暂停存储卡的数据传输,这一事实意味着主设备和存储卡之间的数据传输的同步没有丢失。
换句话说,可以抑制代表额外开销的处理对传输速率的影响,同时同步主设备和存储卡。
附图说明
图1示出了使用属于本发明的存储卡驱动设备的视频/播放系统;
图2示出了组成属于本发明的视频/播放系统的设备的内部结构;
图3示出了存储卡驱动器200的详细结构;
图4是示出属于本实施例的存储卡控制器的处理过程的流程图;
图5示出了存储卡驱动器200的处理序列;
图6是示出属于本实施例的存储卡控制器的示例性读操作的时序图;
图7是示出属于本实施例的变型的存储卡控制器控制数据传输的处理过程的流程图;以及
图8是示出传统的存储卡控制器的示例性操作的时序图。
具体实施方式
下面描述了属于本发明的存储卡驱动设备的一个实施例。首先,先描述了使用属于本发明的存储卡驱动设备的视频/播放系统。图1示出了使用属于本发明的存储卡驱动设备的视频/播放系统。图1所示的视频/播放系统以等同于数字录像带的视频和音频质量将视频和音频拍摄记录在存储卡上作为运动图像数据,并且播放所记录的运动图像数据。
诸如具有PCMCIA卡槽的个人计算机或摄像机这样的视频设备可以被用作主设备,其用于记录视频和显示运动图像数据。SD卡被用作存储卡。
在图1中,属于本发明的存储卡驱动设备是存储卡驱动器200。存储卡驱动器200配备有4个能容纳SD卡的SD卡槽。其中安装有SD卡300a到300d的存储卡驱动器200被插入到主设备100a或主设备100b的PCMCIA卡槽中以便使用。
图2示出了涉及组成属于本发明的视频/播放系统的设备的数据传输的内部结构。主设备100a配备有视频信号输入/输出(IO)单元101、信号处理单元102、和驱动器控制单元103。这些组成的组件被用来请求存储卡驱动器200执行数据传输,诸如写入和读取运动图像数据。虽然这里示出了主设备100a的内部结构,但是主设备100b也具有相同的结构。
响应于诸如记录和播放这样的操作状态,视频信号IO单元101控制向包括在主设备中的摄像机模块和显示模块进行的视频信号输入和从该摄像机模块和显示模块进行的视频信号输出。信号处理单元102是一个编解码器,其用于编码从视频信号IO单元101输入的视频信号以便生成运动图像数据、并且解码从SD卡读取的运动图像数据以便生成视频信号。驱动器控制单元103用于通过发出ATA命令来控制存储卡驱动器200,并且使用卡总线标准将数据发送到存储卡驱动器200的外部接口1以及从其接收数据。通常,请求数据传输的ATA命令包括指定诸如读取或写入这样的操作的命令部分、数据传输所针对的头扇区的逻辑地址、和将要传输的扇区数量。这里,主设备100a和100b将排列在存储卡驱动器200中的4个SD卡识别一个虚拟驱动器,并在使用虚拟驱动器上的逻辑地址确定数据传输所针对的头扇区的逻辑地址和要传输的扇区数量之后发出ATA命令。这里所称的扇区与SD卡上的记录块一一对应。ATA命令最初被设计用于磁盘介质,这也是为什么主设备100a和100b使用扇区来指定数据传输目的地等的原因。
存储卡驱动器200配备有外部接口1和存储卡控制器2。
外部接口1用于使用卡总线标准将数据传输到主设备中的驱动器控制单元103,以及从其接收数据。
存储卡控制器2用于响应从主设备接收的ATA命令,控制安装在SD卡槽中的SD卡300a到300d。SD命令被用于由存储卡控制器2对SD卡300a到300d进行控制。为了开始数据传输,存储卡控制器2将ATA命令示出的逻辑地址转换为SD卡中的逻辑地址,并将指示开始数据传输(例如写入或读取)并带有所转换的逻辑地址的SD命令发给SD卡。如果SD命令指示开始写入,那么写数据就顺序地被传输到SD卡。为了结束数据传输,存储卡控制器2将指示结束数据传输的停止(STOP)命令发给SD卡,并向主设备声明一个传输结束中断,以示出数据传输的完成。
存储卡控制器2用于控制向SD卡提供时钟信号。存储卡控制器2能够通过暂停提供时钟信号来中断SD卡的操作,并通过恢复提供时钟信号来恢复所中断的操作。
通过在并行工作的SD卡300a到300d上将数据条带化(striping),存储卡控制器2以25Mbps的带宽来传输数据。这里,“条带化”是指将分成记录块的数据并行写入多个存储卡。由于在本实施例中排列了四个SD卡,因此将要写入的数据分成四份。
特别地,存储卡控制器2通过分配卡号0到3来管理SD卡300a到300d。当写入数据时,存储卡控制器2使用把要被写入的每个扇区的扇区号除以4所得的余数作为写卡号,并将数据写入到使用该写卡号管理的SD卡中。当读取数据时,存储卡控制器2使用把要从中读取数据的每个扇区的扇区号除以4所得的余数作为读卡号,并且从使用该读卡号管理的SD卡中读取数据。作为条带化的结果,SD卡300a到300d组成了一个虚拟驱动器。如果要传输的扇区数量大于或等于排成阵列的存储卡的数量,则利用条带化增加了数据传输效率。
SD卡300a到300d是具有内建的可重写非易失性存储器的存储卡,其与时钟信号同步地将数据记录到该非易失性存储器中和播放其中的数据。通过从存储卡驱动器200发出的SD命令来控制SD卡300a到300d的操作。
当从存储卡控制器2发出写开始命令时,SD卡300a到300d读取示出非易失性存储器中逻辑地址和物理地址之间的对应关系的相关性表,将与SD命令一起声明的逻辑地址转换为物理地址,并从所转换的物理地址开始写入经由存储卡控制器2传输的数据。当在写操作期间从存储卡控制器2发出停止命令时,SD卡300a到300d终止该数据写操作,并根据写入的结果该更新相关性表。
当从存储卡控制器2发出读开始命令时,SD卡300a到300d读取示出非易失性存储器中逻辑地址和物理地址之间的对应关系的相关性表,将与SD命令一起声明的逻辑地址转换为物理地址,从所转换的物理地址开始读取该非易失性存储器中记录的数据,并将所读取的数据传输到存储卡控制器2。当在读操作期间从存储卡控制器2发出停止命令时,SD卡300a到300d终止该数据读操作。这完成了对使用属于本发明的存储卡控制器的视频/播放系统的说明。
接下来给出对属于本发明的存储卡驱动器200的详细内部结构的说明。图3示出了存储卡驱动器200的详细结构。
外部接口1内部配备有PCI目标(target)3和PCI总线主控(busmaster)4。PCI目标3负责将ATA命令发送到主设备100a和100b以及从其接收ATA命令。PCI总线主控4使用直接存储器访问(DMA)传输来将数据发送到主设备100a和100b以及从其接收数据。这里,使用DMA传输是为了获得高传输速率,尽管其它传输技术也可以用于发送和接收数据。
存储卡控制器2配备有命令分析单元5、命令存储单元6、命令转换单元7和数据存储器11。
命令分析单元5分析PCI目标3接收的ATA命令,并从命令中分离出头扇区的逻辑地址和将要传输的扇区数量。命令存储单元6存储和临时保存先前接收的ATA命令。数据存储器11是PCI总线主控4和SD卡之间的缓冲存储器。
命令转换单元7在内部配备有连续性检查单元8、命令开始/结束控制单元9、和时钟开始/结束控制单元10。命令转换单元7通过控制SD命令的发出和给SD卡提供时钟这二者来控制SD卡300a的操作,其中所述SD命令与命令分析单元5所分析的ATA命令对应。注意,虽然在图3中只描述了属于与SD卡300a的接口的结构以便避免使该图复杂化,但是在存储卡控制器2中给每个SD卡300a到300d都提供了一个与命令转换单元7相似的结构。正是这些单元实现了条带化控制。
连续性检查单元8判断随后发出的ATA命令是否请求关于连续扇区的数据读取,并取决于判断结果,使命令开始/结束控制单元9和时钟开始/结束控制单元10执行处理来控制SD卡300a的操作。
命令开始/结束控制单元9通过根据ATA命令的类型发出SD命令使SD卡300a开始和终止写或读操作。
时钟开始/结束控制单元10通过分别在读操作期间暂停或恢复给SD卡300a提供时钟信号来使SD卡300a暂停或恢复该读操作。这里,时钟开始/结束控制单元10从前一个ATA命令所请求的数据已被读取时暂停提供时钟信号直到接收到后一个命令。这完成了对属于本发明的存储卡驱动器200的详细内部结构的说明。
下面是参照图4对上述存储卡控制器2进行的详细处理的说明。图4是示出存储卡控制器2的处理过程的流程图。
加电之后,存储卡控制器2在由步骤S1和S16组成的循环中等待PCI目标3接收ATA命令,并一旦接收到ATA命令(步骤S1=是),就执行从步骤S2向前的处理。
在步骤S2,命令分析单元5分析所接收的ATA命令,并获取数据传输所针对的头扇区的逻辑地址和要传输的扇区数量。以下,X[I]被用于表示从加电之后所接收的第I(I是自然数)个ATA命令的分析所获得的传输目的地逻辑地址,并且Y[I]被用于表示要被传输的扇区数量。
在步骤S3,连续性检查单元8判断是否正在给SD卡提供时钟信号。
如果在步骤S3判定时钟信号正在被提供给SD卡(步骤S3=否),那么命令开始/结束控制单元9取决于ATA命令的请求,发出SD命令给SD卡,指示从逻辑地址X[I]开始写入或读取(步骤S4)。
如果在步骤S4发出的SD命令是写开始命令(步骤S5=否),那么响应于该命令,SD卡开始写操作,并且通过步骤S6到S8,存储卡控制器2控制SD卡中的写操作。
在步骤S6到S8,命令开始/结束控制单元9监控在写操作期间提供给SD卡的数据量,并且当所提供的数据量达到了从ATA命令所获得的扇区数量Y[I]时(步骤S6=是),命令开始/结束控制单元9发出SD命令给SD卡以便停止写操作(步骤S7)。一旦SD卡响应于停止命令已经终止了写操作并更新了示出逻辑地址和物理地址之间的对应关系的相关性表,那么存储卡控制器2向主设备声明一个中断,示出命令执行的完成(步骤S8)。在步骤S6到S8执行之后,处理返回到步骤S1和S16的循环。
如果在步骤S4发出的SD命令是读开始命令(步骤S5=是),那么响应于该命令,SD卡开始读操作,并且通过步骤S9到S11,存储卡控制器2控制SD卡中的读操作。
在步骤S9到S11,时钟开始/结束控制单元10监控在读操作期间从SD卡读取和传输的数据量,并且当所读取的数据量达到了从ATA命令所获得的扇区数量Y[I]时(步骤S9=是),时钟开始/结束控制单元10停止给SD卡提供时钟信号,对传输目的地的逻辑地址X[I]和扇区数量Y[I]进行求和,并将所计算的值记录在命令存储单元6作为连续开始地址Z(步骤S10)。这里,连续开始地址Z的值被保存在命令存储单元6直到步骤S10的处理下一次执行并被通知新的值。注意将连续开始地址Z记录到命令存储单元6的处理可以在SD卡的读操作期间执行,即,在所读取的数据量达到扇区数量Y[I]之前。这使得连续开始地址Z的计算和记录在不影响传输速率的情况下执行。
一旦暂停提供时钟信号并且SD卡暂停读操作的执行,存储卡控制器2向主设备声明中断,示出命令执行的完成(步骤S11)。在步骤S6到S8执行之后,处理返回到步骤S1和S16的循环。
如果在步骤S6到S8执行之后接收到新的ATA命令(步骤S1=是),假设在步骤S10暂停给SD卡提供时钟信号,那么在步骤S3的判断之后执行步骤S12到S15。
在步骤S12,为了判断作为当前处理的一部分所接收到的新ATA命令是否是请求数据的读命令,其中所述数据是如果SD卡中所暂停的读操作被恢复就将被读取的数据,连续性检查单元8判断是否下面条件(1)和(2)都满足。
(1)作为当前ATA命令处理的一部分所接收的新ATA命令请求读操作。
(2)在处理前一个ATA命令过程中当步骤S10被执行时记录到命令存储单元6的连续开始地址Z与基于作为当前处理的一部分所接收的新ATA命令在步骤S2所获取的传输目的地的逻辑地址X[I]相匹配。
如果连续性检查单元8通知上述条件(1)和(2)都满足(步骤S12=是),那么时钟开始/结束控制单元10恢复给SD卡提供时钟信号(步骤S13)。一旦恢复时钟信号的提供,在SD卡中暂停的读操作就被恢复。作为响应,存储卡控制器2通过步骤S9到S11控制SD卡中的读操作。
如果上述条件(1)和(2)中的一个或两个不满足(步骤S12=否),即,如果作为当前处理的一部分而接收到的新ATA命令不是请求数据的读操作,其中所述数据是如果SD卡中所暂停的读操作被恢复就将被读取的数据,那么连续性检查单元8判断下面条件(3)是否满足(步骤S14)。
(3)作为当前处理的一部分所接收到的ATA命令请求要求对SD卡进行存储器访问。
如果连续性检查单元8通知上述条件(3)满足(步骤S14=是),那么时钟开始/结束控制单元10恢复给SD卡提供时钟信号,并且命令开始/结束控制单元9发出SD命令给SD卡,以便停止所述读操作(步骤S15)。一旦响应于步骤S15的执行,SD卡终止所暂停的读操作,那么存储卡控制器2按照顺序执行从步骤S4开始的处理。
如果上述条件(3)不满足(步骤S14=否),那么存储卡控制器2首先执行ATA命令所请求的处理(即,不导致对SD卡进行存储器访问的处理)而不恢复给SD卡提供时钟信号,然后在步骤S11向主设备声明一个中断,示出命令执行的完成,之后,在步骤S1和S16的循环中等待下一个ATA命令。
注意,特别地,不需要对SD卡进行存储器存取的ATA命令包括诸如识别设备(IDENTIFY DEVICE)命令这样的命令。
在上述处理流程中,在步骤S11向主设备声明示出命令执行完成的中断之后,处理移动到步骤S1和S16的循环,同时对SD卡的时钟信号提供处于暂停状态。如果在对SD卡的时钟信号提供处于暂停状态的情况下没有在预定时间段内(例如,1秒)接收到下一个ATA命令(步骤S16=是),那么时钟开始/结束控制单元10恢复给SD卡提供时钟信号并且命令开始/结束控制单元9向SD卡发出停止读操作的命令,使得在SD卡中所暂停的读操作被终止(步骤S17)。
这完成了对存储卡控制器2中执行的详细处理的说明。存储卡控制器2进行的上述处理过程可以通过实现专用的硬件、或通过使微处理器执行以描述性计算机语言描述的该处理过程来实现。
接下来参照图5和6给出了如上所述构成的存储卡驱动器200的操作实例。图5示出了存储卡驱动器200的处理序列,而图6是示出详细的读操作的时序图。
在图5和6中,A[k](k是自然数)示出了加电之后存储卡驱动器200所接收的第k个ATA命令,DAT[k]示出了与第k个ATA命令同步的数据传输,并且S[k]示出了与第k个ATA命令相对应的发给SD卡的SD命令。
在图6中,层(a)示出了在主设备中发出ATA命令的处理的定时,层(b)示出了出现中断的定时,所述中断示出了与ATA命令对应的数据传输的完成,层(c)示出了在存储卡驱动器200中发出SD命令的处理的定时,层(d)示出了给SD卡提供时钟信号,层(e)示出了在SD卡中诸如从逻辑地址到物理地址的转换这样的处理的定时,而层(f)示出了数据传输的定时。
尽管四个ATA命令A[1]到A[4]都请求数据读取,但是A[1]到A[3]所请求的数据形成了一连串运动图像数据,这些数据记录在具有连续逻辑地址的SD卡记录区域中。因而,利用ATA命令A[2]和A[3],读开始扇区的扇区号与前一个ATA命令(即分别是A[1]和A[2])进行的读取的结束扇区的扇区号连续。另一方面,ATA命令A[4]请求读取与A[1]到A[3]不相关的数据,并因而A[4]的读开始扇区的扇区号与A[3]进行的读取的结束扇区的扇区号不连续。
首先描述了响应于主设备发出的ATA命令A[1]的一连串操作。A[1]由读命令、开始地址和要读取的扇区数量组成。一旦接收到A[1],存储卡驱动器200分析A[1]并向SD卡发出由读开始命令和开始地址组成的S[1]。一旦接收到S[1],SD卡在执行内部处理(例如,逻辑地址到物理地址的转换)之后执行DAT[I]。一旦开始了DAT[I],存储卡驱动器200使用时钟开始/结束控制单元10监控所传输的数据量,并且一旦DAT[I]所传输的数据量达到了从A[1]获取的要读取的扇区数量,那么存储卡驱动器200暂停给SD卡提供时钟信号并向主设备声明一个中断。此时,时钟开始/结束控制单元10也计算A[1]的开始扇区的扇区号和所读取的扇区数量之和,并将结果记录在命令存储单元6。上述一连串序列执行的结果,在主设备中完成了响应于A[1]的数据读取,并且由于继续暂停时钟提供,因此保持SD卡中读操作的暂停状态,防止进一步读取数据。因此能够维持主设备和SD卡之间数据传输的同步。
作为中断的结果,主设备检测到响应于A[1]的DAT[1]的传输结束,然后,该主设备发出A[2]。接收到A[2]的存储卡驱动器200在命令分析单元5和连续性检查单元8中分析A[2]以检查A[1]和A[2]之间的连续性。这里,连续性检查确定了A[2]是读命令并且A[2]的开始扇区号等于记录在命令存储单元6中的A[1]的开始扇区号和所读取的扇区数量之和。存储卡驱动器200在确定了A[1]和A[2]的连续性之后,使用时钟开始/结束控制单元10恢复给SD卡提供时钟信号。一旦恢复了提供时钟信号,SD卡中所暂停的读操作就被恢复,导致与A[2]对应的DAT[2]被执行。一旦开始了DAT[2],存储卡驱动器200使用时钟开始/结束控制单元10监控所传输的数据量,并且当所传输的数据量达到从A[2]获取的要读取的扇区数量时,存储卡驱动器200暂停给SD卡提供时钟信号并且向主设备声明一个中断。此时,时钟开始/结束控制单元10记录A[2]的开始地址和读取的扇区数量之和。作为上述一连串序列的结果,在主设备中完成了响应于A[2]的数据读取,并且再次暂停了SD卡中的读操作,防止进一步读取数据。
主设备检测到响应于A[2]的DAT[2]的传输处理的完成,然后该主设备发出A[3],之后,主设备、存储卡驱动器200和SD卡处理与响应与A[2]的序列相似的序列。结果,A[3]的开始地址和读取的扇区数量之和被记录在命令存储单元6,SD卡中的读操作被暂停,并且向主设备声明响应于A[3]的中断。
作为以上述状态的处理所声明的中断的结果,检测到响应于A[3]的DAT[3]的完成之后,主设备发出A[4]。接收到A[4]的存储卡驱动器200在命令分析单元5和连续性检查单元8中分析A[4]以检查A[3]和A[4]之间的连续性。然而,由于A[4]的开始扇区号不等于记录在命令存储单元6中的A[3]的开始扇区号和读取的扇区数量之和,因此尽管A[4]是读操作,但是A[3]和A[4]的连续性未被确定。有鉴于此,存储卡驱动器200发出停止命令给SD卡,同时恢复提供时钟信号。这导致SD卡中暂停的读操作被终止。存储卡驱动器200然后向SD卡发出由读开始命令和开始地址组成的S[4]。接收到S[4]的SD卡在执行诸如逻辑地址到物理地址的转换这样的内部处理之后执行DAT[4]。一旦开始了DAT[4],存储卡驱动器200使用时钟开始/结束控制单元10监控所传输的数据量,并且当DAT[4]所传输的数据量达到从A[4]获取的要读取的扇区数量时,存储卡驱动器200暂停给SD卡提供时钟信号并且向主设备声明一个中断。此时,时钟开始/结束控制单元10也计算A[4]的开始扇区号和读取的扇区数量之和,并更新命令存储单元6中的记录。作为上述一连串序列的结果,在主设备中完成了响应于A[4]的数据读取,并且暂停了SD卡中的读操作,防止进一步读取数据。
在本实例中,在A[4]之后主设备不发出任何新ATA命令。存储卡驱动器200测量从暂停给SD卡提供时钟开始所经过的时间。由于没有接收到更多ATA命令,当预定时间段过去时,存储卡驱动器200向SD卡发出停止命令,同时恢复给SD卡提供时钟信号。这导致了SD卡中暂停的读操作被终止。作为该序列的结果,SD卡等待SD命令,同时被提供着时钟信号。这完成了对存储卡驱动器200的示例性操作的说明。
在上述实例中,代表数据传输额外开销的处理(诸如存储卡驱动器200发出SD命令和SD卡中的地址转换)出现在响应于A[1]和A[4]执行的一连串序列中。然而,代表这些额外开销的处理没有出现在响应于A[2]和A[3]执行的一连串序列中。
这里,从发出A[1]直到声明与A[1]对应的中断之间的一连串处理操作所花费的时间是(u+t),其中u是存储卡驱动器200发出SD命令和在SD卡中转换地址需要的时间,t是DAT[1]到DAT[4]中的每个所表示的数据传输所需要的时间。相比之下,使用A[2]和A[3]时,从发出各个命令直到声明对应的中断的一连串处理操作花费的时间只有t。
因而与图8所示的传统操作相比,对应于A[1]和A[3]的一连串处理操作被缩短了2u。
尤其是,在如图1所示安装了多个SD卡的情况下,由于因条带化导致由一个ATA命令从一个SD卡读取的扇区数量与所安装SD卡的数量成反比而减少,因此数据传输所需要的时间t也将减少。结果是减少了u和t之间的差,其中u取常量值而不管安装的SD卡的数量,t与安装的SD卡的数量成反比而减少。这里,以安装的SD卡的数量t=u为例,根据图8所示的常规操作执行对应于A[1]-A[3]的一连串处理操作需要的时间段为6u,然而根据本实施例该处理在时间段4u内就完成了。在传输速率方面对这些结果进行比较得到了6u/4u,这示出属于本实施例的存储卡驱动器200在传输速率上达到了比现有技术50%的提高。
根据本实施例,其读开始扇区与前一个ATA命令的读结束扇区连续的ATA命令(如A[2]和A[3]的情况那样)的数量越大,在传输速率的改进上就会获得越大的功效。例如,在八个ATA命令具有与前一个ATA命令的读结束扇区相连续的读开始扇区的情况下,当安装的SD卡的数量t=u时,在传输速率上达到比现有技术78%的提高。
根据上述的本实施例,在读取记录在具有连续的逻辑地址的SD卡记录区域中的运动图像数据期间,当运动图像数据的大小超过响应于一个ATA命令可读的64千字节时,主设备请求进行由多个ATA命令分割的运动图像数据读取。然而,在SD卡中,由于存储卡控制器2控制给SD卡提供时钟信号,上述操作是作为一个连续的读操作来处理的。
结果,代表额外开销的处理对读取速率的不利影响是可以得到抑制的,因而可以提高读速率,其中所述额外开销诸如从ATA命令到SD命令的转换、以及从逻辑地址到物理地址的转换。
此外,根据本实施例,对记录在连续区域中的大规模数据的读取被主设备当作响应于多个ATA命令的多个读操作来处理了,而SD卡处理该数据,将其作为由一对传输开始和停止命令控制的连续读操作。然而,由于在主设备不能处理数据传输期间SD卡中的读操作被暂停,因此没有丢失主设备和SD卡之间的读操作的同步。
注意虽然本实施例中的说明涉及提高在SD卡的读操作期间的传输速率的结构,但是本发明同样地可以应用于控制SD卡的写操作。
下面描述了提高读取和写入的传输速率的变型。图7是示出属于本实施例的变型的存储卡控制器控制数据传输的处理过程的流程图。与图4所述的流程图相比,图7所示的流程图包含步骤S18,而步骤S5到S8的处理过程被移除,并且步骤S12的判断被改为步骤S19的判断。
从而,即使在给SD卡提供时钟信号的同时接收到的ATA命令请求写入或读取,也会在首先在步骤S18中将该ATA命令的类型作为读请求或写请求之一记录在命令存储单元6后,通过步骤S9到S11控制数据传输。
当在对SD卡的时钟提供处于暂停状态的情况下接收到一个ATA命令时,在步骤S19判断的连续性的条件改为下面的(A)和(B),同时,如果这些条件都满足那么执行步骤S13。
(A)作为当前处理的一部分所接收到的新ATA命令的类型与记录在命令存储单元6中的前一个处理的ATA命令的类型匹配。
(B)当在处理前一个ATA命令的过程中执行了步骤S10时记录在命令存储单元6中的连续性开始地址Z与基于作为当前处理的一部分所接收到的新ATA命令而在步骤S2所获取的传输目的地的逻辑地址X[I]相匹配。
结果,即使是在请求了写入或读取的情况下,当连续发出关于连续扇区的相同类型的ATA命令时,该变型也能够提高写入和读取的传输速率。
其它变型
虽然已经基于上述实施例描述了本发明,但是本发明当然不局限于上述实施例。下面的情况也包含在本发明之内。
(1)本发明可以是上述示出的方法。这些方法可以是计算机实现的计算机程序,或由计算机程序组成的数字信号。
本发明也可以是记录了这些计算机程序或数字信号的计算机可读记录介质,其例子包括软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(B1u-ray Disc蓝光盘)和半导体存储器等。可替换地,本发明可以是记录在记录介质上的计算机程序或数字信号。
本发明可以是通过电信电路、无线或电缆通信电路或因特网所代表的网络来传送计算机程序或数字信号的介质。
本发明可以是配备有微处理器和存储器的计算机系统,其中存储器存储了计算机程序并且微处理器根据所述计算机程序来工作。
通过被记录在记录介质中并传输到另一个独立的计算机系统或者通过经由网络进行传输,所述计算机程序或数字信号可以在该另一个独立的计算机系统中实施。
(2)在上述实施例中,存储卡驱动设备被描述为使用SD卡作为存储卡。然而,不管使用什么类型的存储卡,倘若该存储卡需要其规格与主设备发出的那些命令不同的命令,本发明必然展现与上述实施例相似的效果。
(3)在上述实施例中,执行超时处理,存储卡驱动设备据此来测量从暂停给SD卡提供时钟信号时开始所经过的时间,并且一旦经过了预定时间段,就令存储卡终止数据传输操作。然而,可以在从接收到最后处理的ATA命令开始经过预定时间段之后执行超时处理。
(4)在上述实施例中,存储卡驱动设备经由卡总线连接到主设备,然而到主设备的连接可以经由PCI总线或SCSI等。
(5)在实施例的上述变型中,描述了这样的结构,其中存储卡驱动设备也通过暂停给SD卡提供时钟信号使SD卡暂停写操作。然而,写操作的暂停也可以通过暂停给SD卡提供写数据来执行。
(6)本发明可以是上述实施例和变型的任意组合。
工业实用性
例如,本发明可以应用于控制从/到SD卡的数据传输的PC卡型存储卡驱动设备。
Claims (13)
1、一种存储卡控制器,用于控制主设备和存储卡之间的数据传输,所述主设备通过发出指定数据量的命令来请求数据传输,所述存储卡从接收到传输开始指令时开始执行传输操作直到接收到传输结束指令,所述存储卡控制器包括:
接收单元,用于顺序地接收来自所述主设备的命令;
暂停单元,用于当作为所述传输操作的结果所传输的数据量达到了由用于请求数据传输的第n个命令所指定的数据量时,使所述存储卡暂停所述传输操作;以及
恢复单元,用于如果当所述传输操作处于暂停状态时接收到的所述第n个命令的下一个命令请求关于与所述第n个命令所请求的数据传输的结束地址连续的地址的数据传输,则使所述存储卡恢复所暂停的传输操作。
2、如权利要求1所述的存储卡控制器,其中,所述数据传输是从所述存储卡读取数据,并且所述存储卡的传输操作是数据读操作。
3、如权利要求2所述的存储卡控制器,其中,所述数据读操作的暂停和恢复分别通过暂停和恢复给所述存储卡提供时钟信号来控制。
4、如权利要求3所述的存储卡控制器,还包括指令发出单元,其用于分别通过向所述存储卡发出所述传输开始指令和所述传输结束指令来控制所述数据读操作的开始和结束,其中
如果在所述数据读操作处于所述暂停状态的情况下经过了预定时间段,则所述恢复单元通过恢复提供所述时钟信号来使所述存储卡取消所述暂停状态,并且所述指令发出单元通过发出所述传输结束指令来使所述存储卡终止所述数据读操作。
5、如权利要求3所述的存储卡控制器,其中,如果所述下一个命令不需要访问所述存储卡,则所述暂停单元保持所述数据读操作的暂停状态。
6、如权利要求3所述的存储卡控制器,还包括指令发出单元,其用于分别通过向所述存储卡发出所述传输开始指令和所述传输结束指令来控制所述数据读操作的开始和结束,其中
如果所述下一个命令请求数据写入和数据读取之一以便从与所述第n个命令所请求的数据读取的结束地址不连续的地址读取数据,则所述恢复单元通过恢复提供所述时钟信号来使所述存储卡取消所述数据读操作的暂停状态,并且所述指令发出单元在通过发出所述传输结束指令而使所述存储卡终止所述数据读操作之后,响应于所述下一个命令而发出所述传输开始指令。
7、如权利要求1所述的存储卡控制器,其中,所述数据传输是将数据写入到所述存储卡,并且所述存储卡的传输操作是数据写操作。
8、如权利要求7所述的存储卡控制器,其中,所述数据写操作的暂停和恢复分别通过暂停和恢复给所述存储卡提供写数据来控制。
9、如权利要求8所述的存储卡控制器,还包括指令发出单元,其用于如果在所述数据写操作处于所述暂停状态的情况下经过了预定时间段,则通过发出所述传输结束指令来使所述存储卡终止所述数据写操作。
10、如权利要求8所述的存储卡控制器,其中,如果所述下一个命令不需要访问所述存储卡,则所述暂停单元保持所述数据写操作的暂停状态。
11、如权利要求8所述的存储卡控制器,还包括指令发出单元,其用于如果所述下一个命令请求数据读取和数据写入之一以便将数据写入到与所述第n个命令所请求的数据写入的结束地址不连续的地址,则在通过发出所述传输结束指令而使所述存储卡终止所述数据写操作之后,响应于所述下一个命令而向所述存储卡发出所述传输开始指令。
12、一种存储卡驱动设备,包括:
如权利要求1所述的存储卡控制器;
第一接口,用于连接到主设备;以及
第二接口,用于容纳一个或多个存储卡,其中
所述存储卡控制器基于从所述第一接口输入的命令来访问安装在所述第二接口中的一个或多个存储卡。
13、一种用于存储卡控制器的控制方法,所述存储卡控制器控制主设备和存储卡之间的数据传输,所述主设备通过发出指定数据量的命令来请求数据传输,所述存储卡从接收到传输开始指令时开始执行传输操作直到接收到传输结束指令,所述控制方法包括:
当作为所述传输操作的结果所传输的数据量达到了由用于请求数据传输的第n个命令所指定的数据量时,使所述存储卡暂停所述传输操作;以及
如果当所述传输操作处于暂停状态时接收到的所述第n个命令的下一个命令请求关于与所述第n个命令所请求的数据传输的结束地址连续的地址的数据传输,则使所述存储卡恢复所暂停的传输操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP289751/2004 | 2004-10-01 | ||
JP2004289751 | 2004-10-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101069167A CN101069167A (zh) | 2007-11-07 |
CN100524273C true CN100524273C (zh) | 2009-08-05 |
Family
ID=35414960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800414985A Active CN100524273C (zh) | 2004-10-01 | 2005-09-29 | 存储卡控制器、存储卡驱动设备、以及计算机程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7657687B2 (zh) |
EP (1) | EP1794681B1 (zh) |
KR (1) | KR100897463B1 (zh) |
CN (1) | CN100524273C (zh) |
DE (1) | DE602005009845D1 (zh) |
WO (1) | WO2006038663A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8156272B2 (en) * | 2006-09-01 | 2012-04-10 | Spansion Llc | Multiple communication channels on MMC or SD CMD line |
ITMI20070997A1 (it) * | 2007-05-17 | 2008-11-18 | Incard Sa | Ic card con clock a bassa precisione |
JP2008287600A (ja) * | 2007-05-18 | 2008-11-27 | Seiko Epson Corp | ホスト装置、情報処理装置、電子機器、プログラム及びリード制御方法 |
KR101527185B1 (ko) * | 2008-02-29 | 2015-06-08 | 삼성전자 주식회사 | 수동 rfid의 대용량 데이터 전송 방법 및 시스템 |
US8019923B2 (en) * | 2008-12-01 | 2011-09-13 | Sandisk Il Ltd. | Memory card adapter |
US20110059628A1 (en) * | 2009-09-04 | 2011-03-10 | Solid State System Co., Ltd. | Secure digital card with two micro-sd cards in striping data access |
KR101447845B1 (ko) * | 2011-02-28 | 2014-10-13 | 미쓰비시덴키 가부시키가이샤 | 통신 장치 |
JP5887568B2 (ja) * | 2011-06-23 | 2016-03-16 | パナソニックIpマネジメント株式会社 | メモリカードコントローラ、メモリカードアダプタおよびメモリカードドライブ |
TWM427624U (en) * | 2011-08-26 | 2012-04-21 | Power Quotient Int Co Ltd | Storage device with communication function and expandable capacity |
US20130191569A1 (en) * | 2012-01-25 | 2013-07-25 | Qualcomm Incorporated | Multi-lane high-speed interfaces for high speed synchronous serial interface (hsi), and related systems and methods |
WO2014024350A1 (ja) * | 2012-08-07 | 2014-02-13 | パナソニック株式会社 | 記録装置、アクセス装置、記録システム、及び記録方法 |
KR102143522B1 (ko) | 2013-10-15 | 2020-08-11 | 삼성전자 주식회사 | 솔리드 스테이트 디바이스 카드 및 이를 포함하는 전자 시스템 |
CA3021671C (en) | 2014-05-16 | 2020-12-15 | Laird Technologies Inc. | Method, system and related devices for operating multiple cranes in unison. |
KR102482527B1 (ko) * | 2015-12-18 | 2022-12-29 | 삼성전자주식회사 | 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 |
CN107102818A (zh) * | 2017-03-16 | 2017-08-29 | 山东大学 | 一种基于sd卡的高速数据存储方法 |
JP6984499B2 (ja) * | 2018-03-12 | 2021-12-22 | オムロン株式会社 | FA(Factory Automation)システム、コントローラ、および制御方法 |
CN108268414B (zh) * | 2018-03-26 | 2023-07-21 | 福州大学 | 基于spi模式的sd卡驱动器及其控制方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09330178A (ja) * | 1996-06-12 | 1997-12-22 | Sony Corp | データ記録再生装置 |
US6029226A (en) * | 1996-09-30 | 2000-02-22 | Lsi Logic Corporation | Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command |
JP3275833B2 (ja) * | 1997-06-03 | 2002-04-22 | 日本電気株式会社 | 磁気ディスク処理装置 |
US6427184B1 (en) | 1997-06-03 | 2002-07-30 | Nec Corporation | Disk drive with prefetch and writeback algorithm for sequential and nearly sequential input/output streams |
US6678755B1 (en) * | 2000-06-30 | 2004-01-13 | Micron Technology, Inc. | Method and apparatus for appending memory commands during a direct memory access operation |
US6820148B1 (en) * | 2000-08-17 | 2004-11-16 | Sandisk Corporation | Multiple removable non-volatile memory cards serially communicating with a host |
JP3923715B2 (ja) * | 2000-09-29 | 2007-06-06 | 株式会社東芝 | メモリカード |
JP4759826B2 (ja) * | 2000-11-10 | 2011-08-31 | ソニー株式会社 | アダプタ装置及びメモリ装置 |
JP2002189992A (ja) * | 2000-12-20 | 2002-07-05 | Sony Corp | メモリカードドライブと携帯型メモリカードドライブ |
JP2003036145A (ja) | 2001-07-24 | 2003-02-07 | Sharp Corp | Fifoメモリのデータ転送制御装置 |
US6941405B2 (en) * | 2001-08-21 | 2005-09-06 | 02Micro International Limited | System and method capable of offloading converter/controller-specific tasks to a system microprocessor |
JP3552213B2 (ja) | 2001-08-31 | 2004-08-11 | 株式会社東芝 | Sdメモリカードホストコントローラ及びクロック制御方法 |
JP3577053B2 (ja) * | 2002-03-25 | 2004-10-13 | 株式会社東芝 | 電子回路 |
JP2004021938A (ja) * | 2002-06-20 | 2004-01-22 | Oki Electric Ind Co Ltd | データ転送制御回路 |
JP2004095036A (ja) | 2002-08-30 | 2004-03-25 | Sanyo Electric Co Ltd | 光ディスク再生装置及びその制御方法 |
JP3886460B2 (ja) | 2003-01-31 | 2007-02-28 | 富士通株式会社 | 複合型記憶装置及びそのカード用基板 |
JP4255711B2 (ja) * | 2003-02-13 | 2009-04-15 | パナソニック株式会社 | 小型カードアダプタおよび小型カードアダプタが装着される上位装置 |
WO2005004043A1 (ja) * | 2003-07-07 | 2005-01-13 | Matsushita Electric Industrial Co., Ltd. | Pcカード |
US6958757B2 (en) * | 2003-07-18 | 2005-10-25 | Microsoft Corporation | Systems and methods for efficiently displaying graphics on a display device regardless of physical orientation |
JP4184381B2 (ja) * | 2003-10-29 | 2008-11-19 | 松下電器産業株式会社 | ドライブ装置、プログラム |
US7512816B2 (en) * | 2003-11-28 | 2009-03-31 | Panasonic Corporation | Recording apparatus receiving current supply from an accessing apparatus |
JP4799417B2 (ja) * | 2004-09-28 | 2011-10-26 | dブロード株式会社 | ホストコントローラ |
-
2005
- 2005-09-29 EP EP05790144A patent/EP1794681B1/en active Active
- 2005-09-29 US US11/663,768 patent/US7657687B2/en active Active
- 2005-09-29 DE DE602005009845T patent/DE602005009845D1/de active Active
- 2005-09-29 WO PCT/JP2005/018481 patent/WO2006038663A1/en active IP Right Grant
- 2005-09-29 CN CNB2005800414985A patent/CN100524273C/zh active Active
- 2005-09-29 KR KR1020077006691A patent/KR100897463B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
SD CARD SPECIFICATION SIMPLIFIED VERSIONOFPARTE1. SECURE DIGITAL INPUT/OUTPUT(SDIO)Card SPECIFICATION. SD ASSOCIATION.SDIO CARD SPECIFICATION. 2001 |
SD CARD SPECIFICATION SIMPLIFIED VERSIONOFPARTE1. SECURE DIGITAL INPUT/OUTPUT(SDIO)Card SPECIFICATION. SD ASSOCIATION.SDIO CARD SPECIFICATION. 2001 * |
Also Published As
Publication number | Publication date |
---|---|
EP1794681B1 (en) | 2008-09-17 |
KR20070052325A (ko) | 2007-05-21 |
EP1794681A1 (en) | 2007-06-13 |
KR100897463B1 (ko) | 2009-05-14 |
US20070204077A1 (en) | 2007-08-30 |
US7657687B2 (en) | 2010-02-02 |
DE602005009845D1 (de) | 2008-10-30 |
CN101069167A (zh) | 2007-11-07 |
WO2006038663A1 (en) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100524273C (zh) | 存储卡控制器、存储卡驱动设备、以及计算机程序 | |
US7085900B2 (en) | Backup technique for data stored on multiple storage devices | |
US7747144B2 (en) | Information processing apparatus, information processing method, recording medium, control | |
CN103226525B (zh) | 存储器装置、计算装置和数据传输方法 | |
JP5887568B2 (ja) | メモリカードコントローラ、メモリカードアダプタおよびメモリカードドライブ | |
JPH06110617A (ja) | ディスク制御方法 | |
JP4311288B2 (ja) | 記憶装置 | |
JP4323476B2 (ja) | メモリカードコントローラ、メモリカードドライブ装置、及びプログラム | |
WO2001020442A1 (fr) | Disque magnetique, acces a un dispositif de disque magnetique, et support d'enregistrement de programme de commande d'acces au disque pour dispositif de disque magnetique | |
JP4609522B2 (ja) | 記憶装置 | |
JPH04111113A (ja) | ハードディスクエミュレータ | |
JP2544039B2 (ja) | ディスクドライブ並列操作方法 | |
JP2748056B2 (ja) | ディスクコントローラ | |
JPH0143332B2 (zh) | ||
JPH11224165A (ja) | ディスク装置 | |
US7957229B2 (en) | Optical disc controller and optical disc drive system using error correction codes | |
JP2959544B2 (ja) | 磁気ディスク装置 | |
JPH09128291A (ja) | キャッシュメモリ管理方法 | |
JPH08263220A (ja) | データ入出力装置 | |
JPH02148321A (ja) | データ転送システムにおけるバス管理方法 | |
JPH07129326A (ja) | ディスクドライブ装置 | |
JP2003256145A (ja) | データ転送システムおよびデータ転送方法 | |
JPH04192157A (ja) | 情報再生装置 | |
JPH01133132A (ja) | ファイル装置の割込み方式 | |
JP2001134387A (ja) | 情報再生装置及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |