控制非易失性存儲(chǔ)卡的主機(jī)、包括主機(jī)的系統(tǒng)、操作方法
【專(zhuān)利摘要】提供一種控制非易失性存儲(chǔ)卡的主機(jī)、包括主機(jī)的系統(tǒng)、操作方法。通過(guò)時(shí)鐘總線(xiàn)、命令總線(xiàn)和一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)來(lái)操作與非易失性存儲(chǔ)卡連接的主機(jī)的方法包括:通過(guò)命令總線(xiàn)將第一命令發(fā)送到非易失性存儲(chǔ)卡;通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與第一命令相應(yīng)的第一數(shù)據(jù)發(fā)送到非易失性存儲(chǔ)卡,或通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)從非易失性存儲(chǔ)卡接收第一數(shù)據(jù);在第一數(shù)據(jù)的傳輸期間或之前,通過(guò)命令總線(xiàn)將第二命令發(fā)送到非易失性存儲(chǔ)卡至少一次。
【專(zhuān)利說(shuō)明】控制非易失性存儲(chǔ)卡的主機(jī)、包括主機(jī)的系統(tǒng)、操作方法
[0001]本申請(qǐng)要求于2012年9月14日提交的第10-2012-0102484號(hào)韓國(guó)專(zhuān)利申請(qǐng)的優(yōu)先權(quán),其公開(kāi)通過(guò)引用全部合并于此。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明構(gòu)思的示例實(shí)施例涉及一種用于控制非易失性存儲(chǔ)卡的主機(jī),更具體地,涉及一種用于提高非易失性存儲(chǔ)卡的讀取/寫(xiě)入性能的主機(jī)、包括所述主機(jī)的系統(tǒng)以及操作所述主機(jī)和所述系統(tǒng)的方法。
【背景技術(shù)】
[0003]多媒體卡(MMC)是非易失性存儲(chǔ)卡中具有代表性的一個(gè)。MMC是閃存卡標(biāo)準(zhǔn)。eMMC是由聯(lián)合電子設(shè)備工程會(huì)議(JEDEC)定義的嵌入式MMC標(biāo)準(zhǔn)。使用eMMC,通信是基于10信號(hào)總線(xiàn)的。eMMC可被嵌入在如智能電話(huà)的移動(dòng)通信裝置中。
【發(fā)明內(nèi)容】
[0004]根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例,提供一種通過(guò)時(shí)鐘總線(xiàn)、命令總線(xiàn)和一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)來(lái)操作與非易失性存儲(chǔ)卡連接的主機(jī)的方法。所述方法包括:通過(guò)命令總線(xiàn)將第一命令發(fā)送到非易失性存儲(chǔ)卡;通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與第一命令相應(yīng)的第一數(shù)據(jù)發(fā)送到非易失性存儲(chǔ)卡,或通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)從非易失性存儲(chǔ)卡接收第一數(shù)據(jù);在第一數(shù)據(jù)的傳輸期間或之前,通過(guò)命令總線(xiàn)將第二命令發(fā)送到非易失性存儲(chǔ)卡至少一次。
[0005]當(dāng)非易失性存儲(chǔ)卡處于忙碌狀態(tài)時(shí),可發(fā)送第二命令。
[0006]可由所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)中的一個(gè)來(lái)指示非易失性存儲(chǔ)卡的忙碌狀態(tài)。
[0007]所述方法可還包括:操作用于管理命令總線(xiàn)的狀態(tài)的命令總線(xiàn)狀態(tài)機(jī),并操作獨(dú)立于命令總線(xiàn)狀態(tài)機(jī)的用于管理所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)的數(shù)據(jù)總線(xiàn)狀態(tài)機(jī)。所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)可包括空閑狀態(tài)、數(shù)據(jù)傳輸狀態(tài)和接收響應(yīng)狀態(tài)或等待狀態(tài)。當(dāng)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)是數(shù)據(jù)傳輸狀態(tài)或接收響應(yīng)狀態(tài)或等待狀態(tài)時(shí),可將第二命令發(fā)送到非易失性存儲(chǔ)卡。
[0008]第一命令可以是伴隨數(shù)據(jù)的命令,第二命令可以是不伴隨數(shù)據(jù)的命令。
[0009]所述方法可還包括:管理第二命令的發(fā)送次數(shù)。
[0010]根據(jù)本發(fā)明構(gòu)思的其它示例實(shí)施例,提供一種通過(guò)時(shí)鐘總線(xiàn)、命令總線(xiàn)和一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)來(lái)操作包括與非易失性存儲(chǔ)卡連接的主機(jī)的非易失性存儲(chǔ)卡系統(tǒng)的方法。所述方法包括:主機(jī)通過(guò)命令總線(xiàn)將第一命令發(fā)送到非易失性存儲(chǔ)卡;通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與第一命令相應(yīng)的第一數(shù)據(jù)在主機(jī)與非易失性存儲(chǔ)卡之間傳輸;在第一數(shù)據(jù)的傳輸期間,主機(jī)通過(guò)命令總線(xiàn)將第二命令發(fā)送到非易失性存儲(chǔ)卡。
[0011]所述方法可還包括:非易失性存儲(chǔ)卡依次接收多個(gè)第二命令,并且將它們存儲(chǔ)在命令寄存器中。將第二命令發(fā)送到非易失性存儲(chǔ)卡的步驟可包括:主機(jī)將相同類(lèi)型的多個(gè)第二命令發(fā)送到非易失性存儲(chǔ)卡。
[0012]第二命令中的每一個(gè)可以是包括數(shù)據(jù)大小和開(kāi)始地址的準(zhǔn)備讀取命令,其中,數(shù)據(jù)大小指示將被讀取的數(shù)據(jù)的大小。數(shù)據(jù)大小和開(kāi)始地址可被存儲(chǔ)在命令寄存器中。
[0013]所述方法可還包括:響應(yīng)于每個(gè)第二命令,非易失性存儲(chǔ)卡從非易失性存儲(chǔ)器讀取數(shù)據(jù),并且將數(shù)據(jù)存儲(chǔ)在包括在非易失性存儲(chǔ)卡中的數(shù)據(jù)緩沖器中。
[0014]所述方法可還包括:主機(jī)將第三命令發(fā)送到非易失性存儲(chǔ)卡;響應(yīng)于第三命令,非易失性存儲(chǔ)卡將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)發(fā)送到主機(jī)。
[0015]所述方法可還包括:主機(jī)將用于具體地取消多個(gè)第二命令中的全部或一些的取消命令發(fā)送到非易失性存儲(chǔ)卡;響應(yīng)于取消命令,非易失性存儲(chǔ)卡使由取消命令指定的第二命令中的全部或一些、或與指定的第二命令中的全部或一些相應(yīng)的數(shù)據(jù)無(wú)效。
[0016]第二命令中的每一個(gè)可以是包括數(shù)據(jù)大小和開(kāi)始地址的準(zhǔn)備寫(xiě)入命令,其中,數(shù)據(jù)大小指示將被寫(xiě)入的數(shù)據(jù)的大小。
[0017]所述方法可還包括:主機(jī)通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與多個(gè)第二命令中的第一個(gè)第二命令相應(yīng)的第二數(shù)據(jù)發(fā)送到非易失性存儲(chǔ)卡;響應(yīng)于所述第一個(gè)第二命令,非易失性存儲(chǔ)卡接收第二數(shù)據(jù),并將第二數(shù)據(jù)編程到非易失性存儲(chǔ)器;在第二數(shù)據(jù)正通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)被發(fā)送的同時(shí),主機(jī)將所述多個(gè)第二命令中的第二個(gè)第二命令發(fā)送到非易失性存儲(chǔ)卡;在第二數(shù)據(jù)被完全發(fā)送之后,主機(jī)通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與所述第二個(gè)第二命令相應(yīng)的第三數(shù)據(jù)發(fā)送到非易失性存儲(chǔ)卡;響應(yīng)于所述第二個(gè)第二命令,非易失性存儲(chǔ)卡接收第三數(shù)據(jù),并將接收到的第三數(shù)據(jù)編程到非易失性存儲(chǔ)器。
[0018]根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例,提供一種通過(guò)時(shí)鐘總線(xiàn)、命令總線(xiàn)和一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)與非易失性存儲(chǔ)卡連接的主機(jī)。所述主機(jī)包括:處理器,被配置為控制主機(jī)的整體操作;主機(jī)控制器,被配置為與所述處理器電連接,并且與非易失性存儲(chǔ)卡進(jìn)行交互。
[0019]主機(jī)控制器可通過(guò)命令總線(xiàn)將第一命令發(fā)送到非易失性存儲(chǔ)卡,通過(guò)數(shù)據(jù)總線(xiàn)將與第一命令相應(yīng)的第一數(shù)據(jù)發(fā)送到非易失性存儲(chǔ)卡,或通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)從非易失性存儲(chǔ)卡接收第一數(shù)據(jù),并在第一數(shù)據(jù)的傳輸期間或之前,通過(guò)命令總線(xiàn)將第二命令發(fā)送到非易失性存儲(chǔ)卡。
[0020]根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例,一種操作連接到非易失性存儲(chǔ)卡的主機(jī)的方法包括:通過(guò)命令總線(xiàn)將第一命令從主機(jī)發(fā)送到非易失性存儲(chǔ)卡,所述第一命令指示第一數(shù)據(jù);通過(guò)執(zhí)行以下步驟中的至少一個(gè)來(lái)傳輸?shù)谝粩?shù)據(jù):通過(guò)一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將第一數(shù)據(jù)從主機(jī)發(fā)送到非易失性存儲(chǔ)卡,以及通過(guò)一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)在主機(jī)處從非易失性存儲(chǔ)卡接收第一數(shù)據(jù);在第一數(shù)據(jù)的傳輸期間或之前,通過(guò)命令總線(xiàn)將第二命令發(fā)送到非易失性存儲(chǔ)卡。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0021]通過(guò)參照附圖詳細(xì)描述示例實(shí)施例,示例實(shí)施例的上述和其它特征和優(yōu)點(diǎn)將變得更加清楚。附圖意圖描繪示例實(shí)施例,并且不應(yīng)被解釋為限制權(quán)利要求的意圖范圍。附圖不應(yīng)被認(rèn)為按照比例繪制,除非有明確注釋。
[0022]圖1是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的非易失性存儲(chǔ)卡系統(tǒng)的框圖;
[0023]圖2是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的在圖1中示出的主機(jī)控制器的框圖;[0024]圖3是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的嵌入式多媒體卡(eMMC)的框圖;
[0025]圖4A是在圖3中示出的裝置命令寄存器的示例的示圖;
[0026]圖4B是存儲(chǔ)在圖4A中示出的寄存器中的命令信息的示例的示圖;
[0027]圖5是在圖3中示出的裝置命令寄存器的另一示例的示圖;
[0028]圖6是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的命令總線(xiàn)狀態(tài)機(jī)的示圖;
[0029]圖7是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的數(shù)據(jù)總線(xiàn)狀態(tài)機(jī)的示圖;
[0030]圖8是操作根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的非易失性存儲(chǔ)卡系統(tǒng)的方法的流程圖;
[0031]圖9是用于eMMC的傳統(tǒng)讀取操作與根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的讀取操作之間的比較的示意性時(shí)序圖;
[0032]圖10是示出根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的非易失性存儲(chǔ)卡系統(tǒng)的操作的示意性時(shí)序圖;
[0033]圖11是用于eMMC的傳統(tǒng)讀取操作與根據(jù)本發(fā)明構(gòu)思的其它示例實(shí)施例的讀取操作之間的比較的示意性時(shí)序圖;
[0034]圖12是用于eMMC的傳統(tǒng)寫(xiě)入操作與根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的寫(xiě)入操作之間的比較的示意性時(shí)序圖;
[0035]圖13是根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的讀取操作的流程圖;
[0036]圖14是用于eMMC的傳統(tǒng)讀取操作與根據(jù)本發(fā)明構(gòu)思的其它示例實(shí)施例的讀取操作之間的比較的示意性時(shí)序圖;
[0037]圖15是根據(jù)本發(fā)明構(gòu)思的其它示例實(shí)施例的寫(xiě)入操作的流程圖;
[0038]圖16是用于eMMC的傳統(tǒng)寫(xiě)入操作與根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的寫(xiě)入操作之間的比較的示意性時(shí)序圖。
【具體實(shí)施方式】
[0039]現(xiàn)在將參照附圖在下文中更充分地描述本發(fā)明構(gòu)思的示例實(shí)施例,其中,本發(fā)明的實(shí)施例在附圖中示出。然而,可按照多種不同的形式實(shí)現(xiàn)本發(fā)明,并且本發(fā)明不應(yīng)該被解釋為受限于在此闡述的實(shí)施例。而是,提供這些實(shí)施例使得本公開(kāi)將是全面和完整的,并且這些實(shí)施例將對(duì)本領(lǐng)域技術(shù)人員充分地傳達(dá)本發(fā)明的范圍。在附圖中,為了清楚,層和區(qū)域的大小和相對(duì)大小可被夸大。相同的標(biāo)號(hào)始終指示相同的元件。
[0040]將理解,當(dāng)元件被稱(chēng)作“連接到”或“結(jié)合到”另一元件時(shí),該元件可直接連接或結(jié)合到另一元件,或者可以存在中間元件。相反,當(dāng)元件被稱(chēng)作“直接連接到”或“直接結(jié)合至IJ”另一元件時(shí),不存在中間元件。如在此所使用的,術(shù)語(yǔ)“和/或”包括一個(gè)或多個(gè)相關(guān)列出的項(xiàng)的任何組合以及全部組合,并可被簡(jiǎn)寫(xiě)為“/”。
[0041]將理解,盡管在這里可使用術(shù)語(yǔ)“第一”、“第二”等來(lái)描述各種元件,但是這些元件不應(yīng)被這些術(shù)語(yǔ)所限制。這些術(shù)語(yǔ)僅用于將一個(gè)元件與另一元件進(jìn)行區(qū)分。因此,在不脫離本公開(kāi)的教導(dǎo)的情況下,第一信號(hào)可被稱(chēng)為第二信號(hào),相似地,第二信號(hào)可被稱(chēng)為第一信號(hào)。
[0042]在這里使用的術(shù)語(yǔ)僅用于描述特定實(shí)施例的目的,而不是意圖限制本發(fā)明。如在此所使用的,單數(shù)形式也意圖包括復(fù)數(shù)形式,除非上下文另有清楚的指示。還將理解,當(dāng)在本說(shuō)明中使用術(shù)語(yǔ)“包括”和/或“包含”時(shí),術(shù)語(yǔ)“包括”和/或“包含”表示存在所敘述的特征、區(qū)域、整體、步驟、操作、元件和/或組件,但不排除存在或添加一個(gè)或多個(gè)其它特征、區(qū)域、整體、步驟、操作、元件、組件和/或它們的組。
[0043]除非另有定義,否則這里使用的全部術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ))具有與本發(fā)明所屬領(lǐng)域的普通技術(shù)人員通常理解的含義相同的含義。還將理解,除非這里確切地定義,否則術(shù)語(yǔ)(諸如在常用詞典中定義的那些術(shù)語(yǔ))應(yīng)被解釋為具有與所述術(shù)語(yǔ)在相關(guān)領(lǐng)域和/或本應(yīng)用的上下文中的含義一致的含義,而不應(yīng)被理想化或過(guò)于正式地解釋。
[0044]還應(yīng)注意,在一些可選擇的實(shí)現(xiàn)中,所指出的功能/動(dòng)作可不按照附圖中指出的順序發(fā)生。例如,取決于參與的功能/動(dòng)作,連續(xù)示出的兩個(gè)標(biāo)號(hào)實(shí)際上可基本同時(shí)執(zhí)行,或有時(shí)可按照相反的順序執(zhí)行。
[0045]嵌入式多媒體卡(eMMC)、由聯(lián)合電子設(shè)備工程會(huì)議(JEDEC) (http://www.jedec.0rg)在2012年6月發(fā)布的電氣標(biāo)準(zhǔn)(版本4.51) (B卩,JESD84-B451)通過(guò)引用結(jié)合于此。因此,除非另有定義,否則這里使用的術(shù)語(yǔ)和定義具有與在JESD84-B451中定義的含義相同的含義。
[0046]本發(fā)明構(gòu)思的各種示例實(shí)施例包括除現(xiàn)有10-線(xiàn)纜總線(xiàn)以外的線(xiàn)路(或通道),以增加抗噪性以及在主機(jī)和裝置之間傳輸?shù)臄?shù)據(jù)的傳輸速度。
[0047]在此,發(fā)送信號(hào)或電壓的通道可以是主機(jī)板、eMMC板、總線(xiàn)、線(xiàn)路、驅(qū)動(dòng)器(在一些實(shí)施例中包括差分放大器)、接收器(在一些實(shí)施例中包括差分放大器)或它們中的至少兩個(gè)的組合。將在下文中詳細(xì)描述線(xiàn)路和電路的功能以及用于產(chǎn)生通過(guò)線(xiàn)路發(fā)送的信號(hào)的方法。
[0048]除非另有具有特定意圖的明確描述,否則為了方便的目的,在描述中不考慮功能電路(諸如,總線(xiàn)、線(xiàn)纜、板(或管腳(pin))、驅(qū)動(dòng)器、接收器和/或差分放大器)的傳播延遲。
[0049]圖1是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的eMMC系統(tǒng)100的框圖。eMMC系統(tǒng)100包括主機(jī)200和裝置300。裝置300是非易失性存儲(chǔ)卡,諸如,安全數(shù)字(SD)卡、MMC或eMMC。然而,本發(fā)明構(gòu)思的示例實(shí)施例不限于此。
[0050]在本發(fā)明構(gòu)思的一些示例實(shí)施例中,裝置300是eMMC。
[0051]主機(jī)200可控制數(shù)據(jù)處理操作(諸如,數(shù)據(jù)讀取操作和數(shù)據(jù)寫(xiě)入操作)??砂凑諉螖?shù)據(jù)率(SDR)或雙數(shù)據(jù)率(DDR)執(zhí)行數(shù)據(jù)處理操作。
[0052]主機(jī)200可以是可對(duì)數(shù)據(jù)進(jìn)行處理的數(shù)據(jù)處理裝置,諸如,中央處理單元(CPU)、處理器、微處理器或應(yīng)用處理器。數(shù)據(jù)處理裝置可被嵌入或?qū)崿F(xiàn)在電子裝置中。電子裝置可被實(shí)現(xiàn)為個(gè)人計(jì)算機(jī)(PC)、膝上型計(jì)算機(jī)、移動(dòng)電話(huà)、智能電話(huà)、平板PC、個(gè)人數(shù)字助理(PDA)、企業(yè)數(shù)字助理(EDA)、數(shù)字靜態(tài)相機(jī)、數(shù)字視頻攝像機(jī)、音頻裝置、便攜式多媒體播放器(PMP)、個(gè)人導(dǎo)航裝置或便攜式導(dǎo)航裝置(PND)、MP3播放器、掌上游戲控制器或電子書(shū)。
[0053]eMMC300可通過(guò)連接工具(例如,板、管腳、總線(xiàn)或通信線(xiàn)路)與電子裝置進(jìn)行電連接來(lái)與主機(jī)200通信。
[0054]主機(jī)200可包括處理器215、存儲(chǔ)器220和主機(jī)控制器230??捎商幚砥?15驅(qū)動(dòng)操作系統(tǒng)(OS) /主機(jī)固件210。存儲(chǔ)器220可包括DRAM和SRAM。
[0055]主機(jī)200可還包括時(shí)鐘產(chǎn)生器(未示出)。時(shí)鐘產(chǎn)生器產(chǎn)生用在主機(jī)200和eMMC300中的時(shí)鐘信號(hào)CLK。時(shí)鐘產(chǎn)生器可通過(guò)鎖相環(huán)(PLL)來(lái)實(shí)現(xiàn)。[0056]處理器215可以是如下硬件,所述硬件控制命令CMD的產(chǎn)生、響應(yīng)RES的分析、存儲(chǔ)在擴(kuò)展卡具體數(shù)據(jù)(CSD)寄存器(或EXT_CSD寄存器)371中的數(shù)據(jù)的處理和/或其它數(shù)據(jù)的處理。處理器215可驅(qū)動(dòng)OS/主機(jī)固件210來(lái)執(zhí)行這些操作。
[0057]主機(jī)控制器230與eMMC300進(jìn)行交互。主機(jī)控制器230將命令CMD發(fā)送到eMMC300,接收對(duì)命令CMD做出的響應(yīng)RES,將寫(xiě)入數(shù)據(jù)發(fā)送到e麗C300,并從eMMC300接收讀取數(shù)據(jù)。
[0058]主機(jī)控制器230可包括用于存儲(chǔ)關(guān)于發(fā)送到eMMC300的命令的信息的主機(jī)命令寄存器235??稍谥鳈C(jī)200的內(nèi)部與存儲(chǔ)器(例如,220)分開(kāi)地設(shè)置主機(jī)命令寄存器235,或可在存儲(chǔ)器(例如,220)中設(shè)置主機(jī)命令寄存器235。
[0059]圖1中示出的eMMC總線(xiàn)可包括(例如,在eMMC4.51中定義的)10個(gè)常規(guī)總線(xiàn)101、102和103。然而,本發(fā)明構(gòu)思的示例實(shí)施例不限于此。例如,eMMC總線(xiàn)可還包括將返回時(shí)鐘信號(hào)(未示出)從eMMC300發(fā)送到主機(jī)200的單向返回時(shí)鐘總線(xiàn)(未示出)。
[0060]時(shí)鐘總線(xiàn)101發(fā)送時(shí)鐘信號(hào)CLK。雙向命令總線(xiàn)102將命令CMD發(fā)送到eMMC300,并且將對(duì)命令CMD的響應(yīng)RES發(fā)送到主機(jī)200。雙向數(shù)據(jù)總線(xiàn)103針對(duì)數(shù)據(jù)寫(xiě)入操作將寫(xiě)入數(shù)據(jù)DAT [7:0]發(fā)送到eMMC300,并針對(duì)數(shù)據(jù)讀取操作將讀取數(shù)據(jù)DAT [7:0]發(fā)送到主機(jī)200。
[0061]主機(jī)200可通過(guò)復(fù)位線(xiàn)(未示出)將硬件復(fù)位信號(hào)發(fā)送到eMMC300。主機(jī)200可產(chǎn)生eMMC300的操作所需要的操作電壓,并將它們發(fā)送到eMMC300。
[0062]圖2是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的在圖1中示出的主機(jī)控制器230的框圖。主機(jī)控制器230包括命令產(chǎn)生單元231、數(shù)據(jù)輸入/輸出(I/O)單元234、任務(wù)管理單元232和狀態(tài)控制單元233。任務(wù)管理單元232可管理任務(wù)的創(chuàng)建和終止。
[0063]命令產(chǎn)生單元231可應(yīng)任務(wù)的請(qǐng)求產(chǎn)生命令CMD,并且將命令CMD發(fā)送到eMMC300o它還可接收對(duì)命令CMD的響應(yīng)RES。
[0064]數(shù)據(jù)I/O單元234可在寫(xiě)入操作中通過(guò)雙向數(shù)據(jù)總線(xiàn)103將數(shù)據(jù)DAT[7:0]發(fā)送到eMMC300,并且可在讀取操作中通過(guò)雙向數(shù)據(jù)總線(xiàn)103從閃存370接收數(shù)據(jù)DAT[7:0]。
[0065]狀態(tài)控制單元233可獨(dú)立地控制用于管理命令總線(xiàn)102的狀態(tài)的命令總線(xiàn)狀態(tài)機(jī)和用于管理數(shù)據(jù)總線(xiàn)103的狀態(tài)的數(shù)據(jù)總線(xiàn)狀態(tài)機(jī)。稍后將參照?qǐng)D6和圖7描述狀態(tài)控制單元233的操作。
[0066]可在硬件、軟件或它們的組合中實(shí)現(xiàn)在圖2中示出的主機(jī)控制器230的元件。例如,可在固件中實(shí)現(xiàn)主機(jī)控制器230的元件中的一些或全部。
[0067]圖3是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的eMMC300的框圖。參照?qǐng)D3,eMMC300包括裝置控制器(例如,eMMC控制器)310和閃存370。
[0068]eMMC控制器310控制主機(jī)200和閃存370之間的數(shù)據(jù)通信。eMMC控制器310包括eMMC主機(jī)接口 320、CPU330、存儲(chǔ)器340、錯(cuò)誤校正碼(ECC)塊360和閃存接口 365。
[0069]eMMC主機(jī)接口 320從主機(jī)200接收時(shí)鐘信號(hào)CLK和命令CMD,對(duì)命令CMD進(jìn)行解釋?zhuān)鶕?jù)解釋結(jié)果產(chǎn)生響應(yīng)RES,并將響應(yīng)RES和基于響應(yīng)RES產(chǎn)生的數(shù)據(jù)發(fā)送到主機(jī)200。eMMC主機(jī)接口 320可包括用于存儲(chǔ)關(guān)于從主機(jī)200接收到的命令的信息的裝置命令寄存器325??稍谘b置控制器310內(nèi)與存儲(chǔ)器(例如,340)分開(kāi)地實(shí)現(xiàn)裝置命令寄存器325,或可使用存儲(chǔ)器來(lái)實(shí)現(xiàn)裝置命令寄存器325。
[0070]圖4A是在圖3中示出的裝置命令寄存器325的示例325A的示圖。裝置命令寄存器325A包括N個(gè)寄存器325-1至325-N,其中,N是至少為2的自然數(shù)并指示裝置命令寄存器325A的大小(即,包括在裝置命令寄存器325A中的寄存器的數(shù)量)。這里,N被定義為多隊(duì)列深度。因此,eMMC主機(jī)接口 320可從主機(jī)200接收多達(dá)與最大多隊(duì)列深度一樣多的命令,并分別將命令存儲(chǔ)在寄存器325-1至325-N中。
[0071]根據(jù)當(dāng)前實(shí)施例的命令是在主機(jī)200與eMMC300之間預(yù)定義的命令,用于允許從主機(jī)200接收到的命令被存儲(chǔ)在eMMC300中,使得在與當(dāng)前命令相應(yīng)的操作完成之前(例如,在從閃存370讀取的數(shù)據(jù)被發(fā)送到主機(jī)200之前或在從主機(jī)200接收到的數(shù)據(jù)被編程到閃存370之前),后續(xù)命令可被接收。
[0072]換句話(huà)說(shuō),為了即使處于忙碌狀態(tài)(例如,數(shù)據(jù)讀取操作或數(shù)據(jù)寫(xiě)入操作),也通過(guò)允許eMMC300接收另一命令來(lái)增加整體數(shù)據(jù)傳輸率,根據(jù)當(dāng)前實(shí)施例的命令不是在eMMC中傳統(tǒng)定義的命令,而是新定義的命令。
[0073]根據(jù)傳統(tǒng)eMMC協(xié)議,在數(shù)據(jù)傳輸期間或在eMMC處于忙碌狀態(tài)的同時(shí),主機(jī)不能將除停止或中止命令以及狀態(tài)檢查命令以外的命令(讀取命令和寫(xiě)入命令)發(fā)送到eMMC。停止或中止命令用于停止數(shù)據(jù)傳輸,狀態(tài)檢查命令用于檢查裝置的狀態(tài)。例如,根據(jù)傳統(tǒng)eMMC協(xié)議,在發(fā)送數(shù)據(jù)狀態(tài)下、接收數(shù)據(jù)狀態(tài)下和程序狀態(tài)下,不能發(fā)送命令,并且僅在操作完成之后的傳輸狀態(tài)下,可發(fā)送命令。因此,性能由于協(xié)議開(kāi)銷(xiāo)而降低。
[0074]根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例,即使在數(shù)據(jù)傳輸或eMMC300的忙碌狀態(tài)期間,主機(jī)200也可將命令發(fā)送到eMMC300,使得eMMC300準(zhǔn)備后續(xù)的數(shù)據(jù)傳輸,從而提高數(shù)據(jù)傳輸性能。根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的命令可以不是停止或中止命令或狀態(tài)檢查命令,但可以是用于準(zhǔn)備后續(xù)的數(shù)據(jù)傳輸?shù)臏?zhǔn)備命令、用于取消準(zhǔn)備命令的命令或用于讀取響應(yīng)于準(zhǔn)備命令而準(zhǔn)備的數(shù)據(jù)的命令。命令可被存儲(chǔ)在圖4A中示出的寄存器325-1至325-N中。
[0075]寄存器325-1至325-N存儲(chǔ)關(guān)于從主機(jī)200發(fā)出的命令的信息(在下文中,稱(chēng)為命令信息)。例如,eMMC主機(jī)接口 320可將關(guān)于第一命令的信息存儲(chǔ)在第一寄存器325-1中,并將關(guān)于第二命令的信息存儲(chǔ)在第二寄存器325-2中。按照這種方式,eMMC主機(jī)接口 320可將關(guān)于多達(dá)N個(gè)命令的命令信息存儲(chǔ)在寄存器325-1至325-N中。
[0076]圖4B是存儲(chǔ)在圖4A中示出的寄存器325 - N中的命令信息的示例的示圖。命令信息可包括命令類(lèi)型、地址和數(shù)據(jù)大小。然而,本發(fā)明構(gòu)思的示例實(shí)施例不限于當(dāng)前實(shí)施例。命令類(lèi)型、地址和數(shù)據(jù)大小可被包括在由主機(jī)200發(fā)出的命令中,并被傳輸?shù)絜MMC300。
[0077]命令類(lèi)型是指示命令的類(lèi)型的字段,并可包括準(zhǔn)備讀取命令和準(zhǔn)備寫(xiě)入命令。地址指示執(zhí)行命令的地址。數(shù)據(jù)大小指示被執(zhí)行命令的數(shù)據(jù)的大小。例如,當(dāng)命令是準(zhǔn)備讀取命令,地址是100,并且數(shù)據(jù)大小是1024時(shí),這可引導(dǎo)在地址100處讀取1024字節(jié)的數(shù)據(jù)。然而,數(shù)據(jù)大小的單位不限于字節(jié)??墒褂貌煌膯挝?,諸如預(yù)定大小的塊或頁(yè)的數(shù)量。
[0078]圖5是圖3中示出的裝置命令寄存器325的另一示例325B的示圖。裝置命令寄存器325B可包括分別存儲(chǔ)數(shù)據(jù)大小DSl至DSN的數(shù)據(jù)大小寄存器326-1至326-N和分別存儲(chǔ)開(kāi)始地址SAl至SAN的地址寄存器327-1至327-N。數(shù)據(jù)大小DSl至DSN和開(kāi)始地址SAl至SAN可以是包括在命令中的信息。
[0079]在本發(fā)明構(gòu)思的示例實(shí)施例中,命令可包括用于指定將被讀取或?qū)懭氲臄?shù)據(jù)的大小的命令(下文中,稱(chēng)為大小指定命令)和用于指定指示數(shù)據(jù)的位置的開(kāi)始地址的命令(下文中,稱(chēng)為地址指定命令)。[0080]大小指定命令可包括命令類(lèi)型和數(shù)據(jù)大小。命令類(lèi)型是指示命令的類(lèi)型的字段或參數(shù)。數(shù)據(jù)大小可以是塊計(jì)數(shù),但本發(fā)明構(gòu)思的示例實(shí)施例不限于此。塊是具有預(yù)定大小的數(shù)據(jù)單元,并可與例如閃存的頁(yè)相應(yīng)。然而,本發(fā)明構(gòu)思的示例實(shí)施例不限于此。大小指定命令的數(shù)據(jù)大小可被存儲(chǔ)在數(shù)據(jù)大小寄存器326-1至326-N中的相應(yīng)的一個(gè)數(shù)據(jù)大小寄存器中。
[0081]地址指定命令可包括命令類(lèi)型和開(kāi)始地址。地址指定命令中的開(kāi)始地址可被存儲(chǔ)在地址寄存器327-1至327-N中的相應(yīng)的一個(gè)地址寄存器中。
[0082]主機(jī)200的主機(jī)命令寄存器235可與圖4A或圖5中示出的裝置命令寄存器325A或325B類(lèi)似。
[0083]主機(jī)控制器230可包括主機(jī)命令寄存器235,其中,主機(jī)命令寄存器235管理發(fā)送到eMMC300的命令以存儲(chǔ)命令信息。
[0084]CPU330控制接口 320和接口 365的操作,并控制eMMC300的整體操作。存儲(chǔ)器340臨時(shí)存儲(chǔ)在接口 320和接口 365之間傳輸?shù)臄?shù)據(jù)。存儲(chǔ)器340可被實(shí)現(xiàn)為易失性存儲(chǔ)器。
[0085]閃存370存儲(chǔ)數(shù)據(jù)。當(dāng)閃存370被實(shí)現(xiàn)為NAND閃存時(shí),閃存接口 365可被實(shí)現(xiàn)為NAND閃存接口。閃存370包括存儲(chǔ)裝置性能和選擇的模式的EXT_CSD寄存器371。
[0086]閃存370可包括多個(gè)存儲(chǔ)器元件CEO至CE3。雖然在圖3中示出了四個(gè)存儲(chǔ)器元件CEO至CE3,但是本發(fā)明構(gòu)思的示例實(shí)施例不限于當(dāng)前實(shí)施例。閃存370可具有支持至少兩個(gè)通道的結(jié)構(gòu)。主機(jī)200可發(fā)出SEND_EXT_CSD (CMD8)來(lái)讀取EXT_CSD寄存器371。eMMC300將EXT_CSD寄存器371中的長(zhǎng)度為512個(gè)字節(jié)的數(shù)據(jù)作為數(shù)據(jù)塊發(fā)送到主機(jī)200。多隊(duì)列深度可被設(shè)置在EXT_CSD寄存器371的保留字段中??蛇x擇地,多隊(duì)列深度可被設(shè)置在可由主機(jī)200控制或設(shè)置的另一主機(jī)控制寄存器中。
[0087]圖6是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的命令總線(xiàn)狀態(tài)機(jī)的示圖。圖7是根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的數(shù)據(jù)總線(xiàn)狀態(tài)機(jī)的示圖。
[0088]參照?qǐng)D6,命令總線(xiàn)狀態(tài)可以是空閑狀態(tài)S10、發(fā)送命令狀態(tài)Sll或接收響應(yīng)狀態(tài)S13。然而,命令總線(xiàn)狀態(tài)不限于圖6中的這三種狀態(tài)。當(dāng)存在將被發(fā)送到eMMC300的命令時(shí),主機(jī)控制器230將命令總線(xiàn)狀態(tài)從空閑狀態(tài)SlO切換到發(fā)送命令狀態(tài)SI I,使得命令被發(fā)送到eMMC300。在命令被發(fā)送到eMMC300之后,當(dāng)命令期望響應(yīng)時(shí),命令總線(xiàn)狀態(tài)被切換到接收響應(yīng)狀態(tài)S13。當(dāng)從eMMC300接收到對(duì)命令做出的響應(yīng)時(shí),命令總線(xiàn)狀態(tài)被切換到空閑狀態(tài)S10。當(dāng)命令不期望響應(yīng)時(shí),命令總線(xiàn)狀態(tài)從發(fā)送命令狀態(tài)Sll被切換到空閑狀態(tài)S10。在預(yù)定數(shù)量的時(shí)鐘周期期間持續(xù)的待機(jī)狀態(tài)(未示出)可被插入在從接收響應(yīng)狀態(tài)S13到空閑狀態(tài)SlO的過(guò)渡中以及從發(fā)送命令狀態(tài)Sll到空閑狀態(tài)SlO的過(guò)渡中。
[0089]參照?qǐng)D7,數(shù)據(jù)總線(xiàn)狀態(tài)可以是空閑狀態(tài)S20、數(shù)據(jù)傳輸狀態(tài)S21或接收響應(yīng)或等待狀態(tài)(具體地,接收循環(huán)冗余校驗(yàn)(CRC)狀態(tài)或等待狀態(tài)S22)。然而,數(shù)據(jù)總線(xiàn)狀態(tài)不限于圖7中的這三種狀態(tài)。當(dāng)主機(jī)控制器230將伴隨數(shù)據(jù)傳輸?shù)拿?在下文中,稱(chēng)為數(shù)據(jù)傳輸命令)發(fā)送到eMMC300時(shí),數(shù)據(jù)總線(xiàn)狀態(tài)從空閑狀態(tài)S20被切換到數(shù)據(jù)傳輸狀態(tài)S21,使得與數(shù)據(jù)傳輸命令相應(yīng)的數(shù)據(jù)被發(fā)送到eMMC300??砂凑諌K為單位發(fā)送數(shù)據(jù)。比如,當(dāng)塊的數(shù)據(jù)的發(fā)送完成時(shí),數(shù)據(jù)總線(xiàn)狀態(tài)被切換到接收CRC狀態(tài)或等待狀態(tài)S22,并且主機(jī)控制器230待機(jī)直到接收到與所述塊相應(yīng)的CRC狀態(tài)響應(yīng)為止。
[0090]當(dāng)接收到CRC狀態(tài)響應(yīng)時(shí),主機(jī)控制器230切換到數(shù)據(jù)傳輸狀態(tài)S21,并且發(fā)送下一塊的數(shù)據(jù),并且隨后切換到接收CRC狀態(tài)或等待狀態(tài)S22。當(dāng)全部塊的數(shù)據(jù)的發(fā)送完成時(shí),主機(jī)控制器230切換到空閑狀態(tài)S20。
[0091]狀態(tài)控制單元233獨(dú)立地操作命令總線(xiàn)狀態(tài)機(jī)和數(shù)據(jù)總線(xiàn)狀態(tài)機(jī)。明顯地,命令總線(xiàn)狀態(tài)和數(shù)據(jù)總線(xiàn)狀態(tài)可彼此相關(guān)。然而,不是在單個(gè)狀態(tài)機(jī)上操作命令總線(xiàn)狀態(tài)和數(shù)據(jù)總線(xiàn)狀態(tài),而是分別在單獨(dú)的機(jī)上操作命令總線(xiàn)狀態(tài)和數(shù)據(jù)總線(xiàn)狀態(tài)。
[0092]例如,即使當(dāng)數(shù)據(jù)總線(xiàn)狀態(tài)不是空閑狀態(tài)時(shí)(也就是說(shuō),數(shù)據(jù)總線(xiàn)狀態(tài)是數(shù)據(jù)傳輸狀態(tài)或接收CRC狀態(tài)或等待狀態(tài)),主機(jī)200也可將命令(例如,不伴隨數(shù)據(jù)傳輸?shù)拿?、取消命令?發(fā)送到eMMC300。命令可被大致劃分為兩種類(lèi)型:一種是數(shù)據(jù)傳輸命令;另一種是不伴隨數(shù)據(jù)傳輸?shù)拿?在下文中,稱(chēng)為“非數(shù)據(jù)傳輸命令)。
[0093]圖8是操作根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的非易失性存儲(chǔ)卡系統(tǒng)的方法的流程圖??墒褂迷趫D1中示出的非易失性存儲(chǔ)卡系統(tǒng)100來(lái)執(zhí)行所述方法。
[0094]在操作S110,主機(jī)200將準(zhǔn)備讀取(PR)命令發(fā)送到裝置控制器310。在操作S115,裝置控制器310響應(yīng)于PR命令,可將Rl響應(yīng)發(fā)送到主機(jī)200,并且將PR命令信息存儲(chǔ)在命令寄存器中。
[0095]PR命令指示eMMC300準(zhǔn)備數(shù)據(jù)讀取操作,并且它是非數(shù)據(jù)傳輸命令。即使在數(shù)據(jù)正被發(fā)送或eMMC300處于忙碌狀態(tài)時(shí),PR命令也可被發(fā)送到裝置控制器310。另外,多個(gè)(例如,多隊(duì)列深度)PR命令可被發(fā)送。換句話(huà)說(shuō),操作SllO和操作S115可被重復(fù)多次。主機(jī)200可還包括命令計(jì)數(shù)器(未示出)來(lái)對(duì)發(fā)送的PR命令的數(shù)量進(jìn)行計(jì)數(shù)。
[0096]PR命令可包括指定將被讀取的數(shù)據(jù)的大小的數(shù)據(jù)大小和指定數(shù)據(jù)的開(kāi)始地址的開(kāi)始地址。數(shù)據(jù)大小和開(kāi)始地址可被存儲(chǔ)在如圖4A或圖5所示的命令寄存器325A或325B中。
[0097]裝置控制器310在操作S120根據(jù)存儲(chǔ)在命令寄存器325中的開(kāi)始地址和數(shù)據(jù)大小,將讀取命令發(fā)送到閃存370,并且在操作S125,從閃存370讀取數(shù)據(jù)。在操作S130,讀取的數(shù)據(jù)被存儲(chǔ)在數(shù)據(jù)緩沖器中。
[0098]提供數(shù)據(jù)緩沖器來(lái)根據(jù)PR命令存儲(chǔ)數(shù)據(jù)。圖3中示出的存儲(chǔ)器340可被用作數(shù)據(jù)緩沖器。
[0099]當(dāng)在操作S135先前的數(shù)據(jù)傳輸完成(即,是)時(shí),在操作S140,主機(jī)200將數(shù)據(jù)讀出(RO)命令發(fā)送到裝置控制器310。響應(yīng)于來(lái)自主機(jī)200的數(shù)據(jù)RO命令,在操作S145,裝置控制器310將Rl響應(yīng)發(fā)送到主機(jī)200,并且在操作S150,將數(shù)據(jù)緩沖器中的數(shù)據(jù)發(fā)送到主機(jī)200。
[0100]數(shù)據(jù)RO命令指示根據(jù)PR命令已被存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)將被發(fā)送到主機(jī)200。數(shù)據(jù)RO命令是數(shù)據(jù)傳輸命令。當(dāng)在先前的數(shù)據(jù)傳輸完成之后,數(shù)據(jù)總線(xiàn)狀態(tài)是空閑狀態(tài)時(shí),數(shù)據(jù)RO命令可被發(fā)送到eMMC300。
[0101]圖9是用于eMMC的傳統(tǒng)讀取操作與根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的讀取操作之間的比較的示意性時(shí)序圖。圖9中的部分(a)示出傳統(tǒng)讀取操作,并且圖9中的部分(b )示出根據(jù)本發(fā)明構(gòu)思的當(dāng)前示例實(shí)施例的讀取操作。
[0102]參照?qǐng)D9中的部分(a),當(dāng)主機(jī)通過(guò)命令總線(xiàn)將讀取-讀取(RD)命令911發(fā)送到eMMC時(shí),eMMC響應(yīng)于RD命令911從閃存讀取數(shù)據(jù)(912),并且通過(guò)數(shù)據(jù)總線(xiàn)DAT將所述數(shù)據(jù)發(fā)送到主機(jī)(913)。主機(jī)通過(guò)數(shù)據(jù)總線(xiàn)DAT接收讀取的數(shù)據(jù),并且將它存儲(chǔ)在主機(jī)存儲(chǔ)器中(914)。
[0103]僅在接收到與RD命令911相應(yīng)的數(shù)據(jù)(913)之后,主機(jī)可將下一 RD命令915發(fā)送到eMMC。因此,在發(fā)送RD命令911之后,主機(jī)被強(qiáng)制等待將被接收(913)的數(shù)據(jù)。
[0104]參照?qǐng)D9中的部分(b),主機(jī)200將第一 PR命令921發(fā)送到eMMC300。eMMC300響應(yīng)于第一 PR命令921從閃存讀取數(shù)據(jù),并將所述數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中(922)。
[0105]為了從數(shù)據(jù)緩沖器讀取數(shù)據(jù),主機(jī)200將數(shù)據(jù)RO命令923發(fā)送到eMMC300。eMMC300響應(yīng)于數(shù)據(jù)RO命令923,通過(guò)數(shù)據(jù)總線(xiàn)DAT將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)發(fā)送到主機(jī)200(924)。主機(jī)200通過(guò)數(shù)據(jù)總線(xiàn)DAT接收數(shù)據(jù),并將它存儲(chǔ)在主機(jī)存儲(chǔ)器中(925)。同時(shí),在數(shù)據(jù)傳輸924完成之前,也就是說(shuō),在數(shù)據(jù)正在被傳輸(924)時(shí),主機(jī)200將下一 PR命令926發(fā)送到eMMC300,使得eMMC300可準(zhǔn)備下一讀取操作。eMMC300響應(yīng)于PR命令926從閃存讀取數(shù)據(jù),并將讀取的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中(927)。
[0106]按照這種方式,即使在數(shù)據(jù)正被傳輸或eMMC300處于忙碌狀態(tài)時(shí),主機(jī)200也將PR命令發(fā)送到eMMC300,以允許eMMC300準(zhǔn)備用于下一讀取操作的數(shù)據(jù),從而提高數(shù)據(jù)讀取性能。換句話(huà)說(shuō),由于eMMC300預(yù)先接收PR命令并準(zhǔn)備下一讀取操作(例如,eMMC300從閃存讀取數(shù)據(jù),并將其存儲(chǔ)在數(shù)據(jù)緩沖器中),因此提高了讀取性能。
[0107]在圖9中的部分(b)中示出的實(shí)施例中,數(shù)據(jù)RO命令與PR命令一對(duì)一地相應(yīng),但是本發(fā)明構(gòu)思的示例實(shí)施例不限于當(dāng)前實(shí)施例。在其它實(shí)施例中,可在使用單個(gè)數(shù)據(jù)RO命令的時(shí)間將使用多個(gè)PR命令準(zhǔn)備的全部讀取數(shù)據(jù)發(fā)送到主機(jī)200。
[0108]圖10是示出根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的非易失性存儲(chǔ)卡系統(tǒng)100的操作的示意性時(shí)序圖。主機(jī)200將第一 PR命令951發(fā)送到eMMC300。eMMC300響應(yīng)于第一 PR命令951從閃存讀取數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中(952)。
[0109]為了從數(shù)據(jù)緩沖器讀取數(shù)據(jù),主機(jī)200將數(shù)據(jù)RO命令953發(fā)送到eMMC300。eMMC300響應(yīng)于數(shù)據(jù)RO命令953通過(guò)數(shù)據(jù)總線(xiàn)DAT將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)發(fā)送到主機(jī)200 (954)。主機(jī)200通過(guò)數(shù)據(jù)總線(xiàn)DAT接收數(shù)據(jù),并將其存儲(chǔ)在主機(jī)存儲(chǔ)器中(956)。
[0110]在數(shù)據(jù)傳輸(954)期間,主機(jī)200將第二 PR命令957和第三PR命令959連續(xù)發(fā)送到eMMC300。eMMC300響應(yīng)于第二 PR命令957從閃存讀取數(shù)據(jù)并將其存儲(chǔ)在數(shù)據(jù)緩沖器中(958),并且響應(yīng)于第三PR命令959從閃存讀取數(shù)據(jù)并將其存儲(chǔ)在數(shù)據(jù)緩沖器中(961)。主機(jī)200可在從數(shù)據(jù)緩沖器讀取數(shù)據(jù)之前取消第三PR命令959。
[0111]例如,主機(jī)200可將用于取消第三PR命令959的取消命令960發(fā)送到eMMC300。取消命令960可具體地取消部分或全部先前的PR命令。eMMC300響應(yīng)于取消命令960取消第三PR命令959。例如,當(dāng)在與第三PR命令959相應(yīng)的數(shù)據(jù)被從閃存讀取之前接收到取消命令960時(shí),可從命令寄存器移除第三PR命令959,而不執(zhí)行數(shù)據(jù)讀取操作。當(dāng)在數(shù)據(jù)響應(yīng)于第三PR命令959被讀取之后接收到取消命令960并且取消命令960被存儲(chǔ)在數(shù)據(jù)緩沖器中時(shí),數(shù)據(jù)緩沖器中的數(shù)據(jù)可被移除或無(wú)效。
[0112]為了從數(shù)據(jù)緩沖器讀取數(shù)據(jù),主機(jī)200將數(shù)據(jù)RO命令962發(fā)送到eMMC300。eMMC300響應(yīng)于數(shù)據(jù)RO命令962通過(guò)數(shù)據(jù)總線(xiàn)DAT將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)958發(fā)送到主機(jī)200 (963)。主機(jī)200通過(guò)數(shù)據(jù)總線(xiàn)DAT接收數(shù)據(jù),并將其存儲(chǔ)在主機(jī)存儲(chǔ)器中(964)。
[0113]圖11是用于eMMC的傳統(tǒng)讀取操作與根據(jù)本發(fā)明構(gòu)思的其它示例實(shí)施例的讀取操作之間的比較的示意性時(shí)序圖。圖11中的部分(a)示出傳統(tǒng)讀取操作,圖11中的部分(b)示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的讀取操作。
[0114]參照?qǐng)D11中的部分(a),當(dāng)主機(jī)通過(guò)命令總線(xiàn)將RD命令411發(fā)送到eMMC時(shí),eMMC通過(guò)命令總線(xiàn)將對(duì)RD命令411的Rl響應(yīng)412發(fā)送到主機(jī)。eMMC響應(yīng)于RD命令411準(zhǔn)備從閃存NAND讀取數(shù)據(jù)(431),從閃存單元讀取數(shù)據(jù)(432和433),并通過(guò)數(shù)據(jù)總線(xiàn)將數(shù)據(jù)發(fā)送到主機(jī)(421)。
[0115]主機(jī)可僅在接收到與RD命令411相應(yīng)的數(shù)據(jù)421之后,發(fā)送后續(xù)的RD命令414。因此,由于接收到對(duì)RD命令411的Rl響應(yīng)412,因此主機(jī)被強(qiáng)制待機(jī)(413)直到接收到數(shù)據(jù)421為止。
[0116]然而,參照?qǐng)D11中的部分(b),主機(jī)200將第一 PR命令441發(fā)送到eMMC300。eMMC300將對(duì)第一 PR命令441的Rl響應(yīng)442發(fā)送到主機(jī)200。另外,eMMC300響應(yīng)于第一PR命令441從閃存CEO讀取數(shù)據(jù)(461和462),并將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中(463)。
[0117]在從eMMC300接收到Rl響應(yīng)442時(shí),主機(jī)200將第二 PR命令443發(fā)送到eMMC300。換句話(huà)說(shuō),主機(jī)200可在尚未接收到與第一 PR命令441相應(yīng)的數(shù)據(jù)的狀態(tài)下,將用于讀取下一數(shù)據(jù)的第二 PR命令443發(fā)送到eMMC300。
[0118]eMMC300將對(duì)第二 PR命令443的Rl響應(yīng)444發(fā)送到主機(jī)200,并且還響應(yīng)于第二PR命令443從閃存CEl讀取數(shù)據(jù)(471和472),并將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中(473)。
[0119]按照這種方式,主機(jī)200可發(fā)送多達(dá)最大多隊(duì)列深度N的PR命令。例如,當(dāng)多隊(duì)列深度N是4時(shí),主機(jī)200可發(fā)送多達(dá)四個(gè)PR命令。多隊(duì)列深度N可被存儲(chǔ)在eMMC300的EXT_CSD寄存器371中。主機(jī)200可使用特定命令(例如,SEND_EXT_CSD)讀取EXT_CSD寄存器371,并且識(shí)別多隊(duì)列深度N。
[0120]eMMC300可使用并行操作從閃存370讀取數(shù)據(jù)。例如,eMMC300可使用多平面讀取操作并行執(zhí)行從閃存370的第一存儲(chǔ)器元件CEO讀取數(shù)據(jù)的操作(461至463)和從閃存370的第二存儲(chǔ)器元件CEl讀取數(shù)據(jù)的操作(471至473)。
[0121]為了讀出存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù),主機(jī)200將數(shù)據(jù)RO命令445發(fā)送到eMMC300。eMMC300發(fā)送對(duì)數(shù)據(jù)RO命令445的Rl響應(yīng)446,并且還通過(guò)數(shù)據(jù)總線(xiàn)將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)傳輸?shù)街鳈C(jī)200。此時(shí),傳輸?shù)臄?shù)據(jù)451可以是響應(yīng)于第一 PR命令441從閃存CEO讀取的數(shù)據(jù)463。數(shù)據(jù)RO命令445可以是用于根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的數(shù)據(jù)讀取操作的在主機(jī)200與eMMC300之間新定義的命令。
[0122]為了讀出存儲(chǔ)在數(shù)據(jù)緩沖器中的下一數(shù)據(jù),主機(jī)200將數(shù)據(jù)RO命令447發(fā)送到eMMC300。eMMC300發(fā)送對(duì)數(shù)據(jù)RO命令447的Rl響應(yīng),并還通過(guò)數(shù)據(jù)總線(xiàn)將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)傳輸?shù)街鳈C(jī)200。此時(shí),傳輸?shù)臄?shù)據(jù)452可以是響應(yīng)于第二 PR命令443從閃存CEl讀取的數(shù)據(jù)473。
[0123]如上所述,根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例,減少了命令之間的空閑時(shí)間,從而提高了讀取性能。換句話(huà)說(shuō),eMMC300預(yù)先接收PR命令,并且同時(shí)或并行地為讀取操作做準(zhǔn)備(例如,從閃存370讀取數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中的準(zhǔn)備),從而提高讀取性能。
[0124]圖12是用于eMMC的傳統(tǒng)寫(xiě)入操作與根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的寫(xiě)入操作之間的比較的示意性時(shí)序圖。圖12中的部分(a)示出傳統(tǒng)寫(xiě)入操作,圖12中的部分(b)示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的寫(xiě)入操作。[0125]參照?qǐng)D12中的部分(a),當(dāng)主機(jī)通過(guò)命令總線(xiàn)將寫(xiě)入(WR)命令511發(fā)送到eMMC時(shí),eMMC通過(guò)命令總線(xiàn)將對(duì)WR命令511的Rl響應(yīng)512發(fā)送到主機(jī)。在接收到Rl響應(yīng)512時(shí),主機(jī)通過(guò)數(shù)據(jù)總線(xiàn)將與WR命令511相關(guān)的數(shù)據(jù)傳輸?shù)絜MMC(521)。eMMC將從主機(jī)接收到的數(shù)據(jù)編程到閃存(525 )。在eMMC完成數(shù)據(jù)到閃存的編程之前,eMMC處于忙碌狀態(tài)。e麗C可通過(guò)數(shù)據(jù)總線(xiàn)中的一個(gè)(例如,DAT[0])向主機(jī)通知忙碌狀態(tài)。主機(jī)可僅在待機(jī)(513)之后直到寫(xiě)入閃存的數(shù)據(jù)完成為止,才將后續(xù)的WR命令514發(fā)送到eMMC。
[0126]然而,參照根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的圖12中的部分圖(b),主機(jī)200將第一 WR命令531發(fā)送到eMMC300。eMMC300將對(duì)第一 WR命令531的Rl響應(yīng)532發(fā)送到主機(jī)200。
[0127]在接收到Rl響應(yīng)532時(shí),主機(jī)200通過(guò)數(shù)據(jù)總線(xiàn)將與第一 WR命令531相關(guān)的數(shù)據(jù)傳輸?shù)絜MMC300 (541),并且還可在傳輸數(shù)據(jù)的同時(shí)將第二 WR命令533發(fā)送到eMMC300。eMMC300可從主機(jī)200接收第二 WR命令533,并在完全將與第一 WR命令531相關(guān)的數(shù)據(jù)541編程到閃存370 (545)之前將Rl響應(yīng)534發(fā)送到主機(jī)200。
[0128]按照這種方式,主機(jī)200可發(fā)送多達(dá)最大多隊(duì)列深度N的WR命令。例如,當(dāng)多隊(duì)列深度N是4時(shí),主機(jī)200可發(fā)送多達(dá)四個(gè)WR命令。
[0129]eMMC300可將數(shù)據(jù)依次寫(xiě)入閃存370中(545和546)。在其它實(shí)施例中,eMMC300可使用并行操作將數(shù)據(jù)寫(xiě)入閃存370中。例如,eMMC300可使用多平面編程操作并行執(zhí)行將數(shù)據(jù)編程到閃存370的第一存儲(chǔ)器元件CEO的操作和將數(shù)據(jù)編程到閃存370的第二存儲(chǔ)器元件CEl的操作。
[0130]圖13是根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的讀取操作的流程圖。在操作S510,主機(jī)200將用于指定將被讀取的數(shù)據(jù)的大小的大小指定命令CMD_ds發(fā)送到裝置控制器310。響應(yīng)于大小指定命令CMD_ds,在操作S515,裝置控制器310將Rl響應(yīng)發(fā)送到主機(jī)200,并將包括在大小指定命令CMD_ds中的數(shù)據(jù)大小存儲(chǔ)在裝置命令寄存器325中。
[0131]在從eMMC300接收到Rl響應(yīng)之后,在操作S520,主機(jī)200將地址指定命令CMD_sa發(fā)送到裝置控制器310。在操作S525,裝置控制器310響應(yīng)于地址指定命令CMD_sa將Rl響應(yīng)發(fā)送到主機(jī)200,并將開(kāi)始地址存儲(chǔ)在裝置命令寄存器325中。
[0132]可重復(fù)操作S510至操作S525多達(dá)最大多隊(duì)列深度N的次數(shù),甚至可在先前數(shù)據(jù)通過(guò)數(shù)據(jù)總線(xiàn)正被傳輸?shù)耐瑫r(shí)執(zhí)行操作S510至操作S525。
[0133]大小指定命令CMD_ds和地址指定命令CMD_sa可與上面已經(jīng)描述的PR命令相應(yīng)。換句話(huà)說(shuō),PR命令可被實(shí)現(xiàn)為包括至少兩個(gè)命令的命令集。
[0134]裝置控制器310在操作S530根據(jù)存儲(chǔ)在裝置命令寄存器325中的開(kāi)始地址和數(shù)據(jù)大小,將讀取命令發(fā)送到閃存370,并在操作S540,從閃存370讀取數(shù)據(jù)。在操作S545,裝置控制器310將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中。
[0135]當(dāng)在操作S550先前的數(shù)據(jù)傳輸完成(是)時(shí),在操作S555,主機(jī)200將數(shù)據(jù)讀出命令CMD_ro發(fā)送到裝置控制器310。響應(yīng)于數(shù)據(jù)讀出命令CMD_ro,在操作S560,裝置控制器310將Rl響應(yīng)發(fā)送到主機(jī)200。另外,在操作S565,裝置控制器310將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)發(fā)送到主機(jī)200。數(shù)據(jù)讀出命令CMD_ro可與上面描述的數(shù)據(jù)RO命令相同。
[0136]圖14是用于eMMC的傳統(tǒng)讀取操作與根據(jù)本發(fā)明構(gòu)思的其它示例實(shí)施例的讀取操作之間的比較的示意性時(shí)序圖。圖14中的部分(a)示出傳統(tǒng)讀取操作,圖14中的部分(b)示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的讀取操作。
[0137]參照?qǐng)D14中的部分(a),在當(dāng)前狀態(tài)是數(shù)據(jù)傳輸狀態(tài)時(shí)(S卩,在數(shù)據(jù)正通過(guò)數(shù)據(jù)總線(xiàn)被傳輸(610)時(shí)),除了特定命令(例如,用于停止先前命令的停止命令或中止命令)以外,主機(jī)不能發(fā)送用于從閃存讀取數(shù)據(jù)或?qū)?shù)據(jù)寫(xiě)入閃存的命令。僅在數(shù)據(jù)傳輸610完成之后,主機(jī)可將正常讀取命令620發(fā)送到eMMC。eMMC響應(yīng)于正常數(shù)據(jù)讀取命令621和623從閃存讀取數(shù)據(jù)(tR或625),并將數(shù)據(jù)發(fā)送到主機(jī)。在eMMC正從閃存讀取數(shù)據(jù)(625)并將數(shù)據(jù)發(fā)送到主機(jī)(627)的同時(shí),主機(jī)不能發(fā)送后續(xù)的讀取命令。因此,自發(fā)送讀取命令以后,主機(jī)需要等待數(shù)據(jù)被完全接收。
[0138]然而,參照?qǐng)D14中的部分(b),主機(jī)200即使在數(shù)據(jù)傳輸710期間也將PR命令720發(fā)送到eMMC300。詳細(xì)地,主機(jī)200將大小指定命令(即,CMD57721)發(fā)送到eMMC300,并且eMMC300將對(duì)CMD57721的Rl響應(yīng)722發(fā)送到主機(jī)200。接下來(lái),主機(jī)200將地址指定命令(BP, CMD58723)發(fā)送到eMMC300,并且eMMC300將對(duì)CMD58723的Rl響應(yīng)724發(fā)送到主機(jī)200。這里,CMD57721與圖13中示出的大小指定命令CMD_ds相應(yīng),并且CMD58723與圖13中示出的地址指定命令CMD_sa相應(yīng)。PR命令720被實(shí)現(xiàn)為包括CMD57721和CMD58723的命令集。主機(jī)200可將包括CMD57和CMD58的PR命令發(fā)送到eMMC300N次,其中,N是至少為I的整數(shù)。
[0139]eMMC300響應(yīng)于PR命令720從閃存370讀取數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中。同時(shí),正在傳輸?shù)臄?shù)據(jù)710可被存儲(chǔ)在與數(shù)據(jù)緩沖器分離的普通緩沖器中。
[0140]當(dāng)先前數(shù)據(jù)710的傳輸完成時(shí),為了從數(shù)據(jù)緩沖器讀出數(shù)據(jù)731至733,主機(jī)200將數(shù)據(jù)讀出命令(即,CMD59726)發(fā)送到eMMC300。eMMC300響應(yīng)于CMD59726將Rl響應(yīng)726發(fā)送到主機(jī)200,并且通過(guò)數(shù)據(jù)總線(xiàn)將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)731至733發(fā)送到主機(jī)200。
[0141]圖15是根據(jù)本發(fā)明構(gòu)思的其它示例實(shí)施例的寫(xiě)入操作的流程圖。在操作S610,主機(jī)200將用于指定將被寫(xiě)入的數(shù)據(jù)的大小的大小指定命令CMD_ds發(fā)送到裝置控制器310。在操作S615,裝置控制器310響應(yīng)于大小指定命令CMD_ds將Rl響應(yīng)發(fā)送到主機(jī)200,并將與大小指定命令CMD_ds相應(yīng)的數(shù)據(jù)大小存儲(chǔ)在裝置命令寄存器325中。
[0142]在從eMMC300接收到Rl響應(yīng)之后,在操作S620,主機(jī)200將地址指定命令CMD_sa發(fā)送到裝置控制器310。在操作S625,裝置控制器310響應(yīng)于地址指定命令CMD_sa將Rl響應(yīng)發(fā)送到主機(jī)200,并將開(kāi)始地址存儲(chǔ)在裝置命令寄存器325中。
[0143]操作S610至操作S625可被重復(fù)多達(dá)最大多隊(duì)列深度N的次數(shù),并且雖然未示出,但是即使在先前數(shù)據(jù)正通過(guò)數(shù)據(jù)總線(xiàn)被傳輸時(shí),也可執(zhí)行操作S610到操作S625。即使在裝置控制器310在操作S630將編程命令應(yīng)用到閃存370以對(duì)先前數(shù)據(jù)進(jìn)行編程并在操作S640將先前數(shù)據(jù)編程到閃存370時(shí),也可執(zhí)行操作S610至操作S625。此時(shí),正被傳輸或編程到閃存370的先前數(shù)據(jù)可被存儲(chǔ)在普通緩沖器中。
[0144]當(dāng)在操作S650先前數(shù)據(jù)的傳輸完成(即,是)時(shí),在操作S655,主機(jī)200將數(shù)據(jù)寫(xiě)入命令CMD_wr發(fā)送到裝置控制器310。響應(yīng)于來(lái)自主機(jī)200的數(shù)據(jù)寫(xiě)入命令CMD_wr,在操作S660,裝置控制器310將Rl響應(yīng)發(fā)送到主機(jī)200。隨后,在操作S665,主機(jī)200將寫(xiě)入數(shù)據(jù)傳輸?shù)絜MMC300。
[0145]在操作S670,eMMC300將寫(xiě)入數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中。裝置控制器310在操作S675將用于對(duì)存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù)進(jìn)行編程的編程命令應(yīng)用到閃存370,并在操作S680,將寫(xiě)入數(shù)據(jù)編程到閃存370。
[0146]在圖15中示出的實(shí)施例中,大小指定命令CMD_ds和地址指定命令CMD_sa可形成準(zhǔn)備寫(xiě)入命令,其中,所述準(zhǔn)備寫(xiě)入命令是一種不伴隨數(shù)據(jù)傳輸?shù)姆菙?shù)據(jù)傳輸命令。數(shù)據(jù)寫(xiě)入命令CMD_wr可以是伴隨寫(xiě)入數(shù)據(jù)的傳輸?shù)臄?shù)據(jù)傳輸命令。
[0147]圖16是用于eMMC的傳統(tǒng)寫(xiě)入操作與根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的寫(xiě)入操作之間的比較的示意性時(shí)序圖。圖16中的部分(a)示出傳統(tǒng)寫(xiě)入操作,圖16中的部分(b)示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的寫(xiě)入操作。
[0148]參照?qǐng)D16中的部分(a),在先前數(shù)據(jù)811的傳輸完成之后,主機(jī)發(fā)送eMMC數(shù)據(jù)812、寫(xiě)入命令821和與寫(xiě)入命令821相應(yīng)的數(shù)據(jù)DAT - a或812。eMMC將數(shù)據(jù)DAT_a或812編程到閃存(tPRGl)。僅當(dāng)數(shù)據(jù)DAT-a或812完全被編程到閃存時(shí),數(shù)據(jù)DAT_a或812的傳輸完成。因此,主機(jī)待機(jī)直到數(shù)據(jù)DAT-a的編程完成為止,并且直到那時(shí)才將另一寫(xiě)入命令822和與寫(xiě)入命令822相應(yīng)的數(shù)據(jù)DAT - b或813發(fā)送到eMMC。
[0149]然而,參照?qǐng)D16中的部分(b),即使在先前數(shù)據(jù)831的傳輸期間,主機(jī)200也將準(zhǔn)備寫(xiě)入命令CS或841至844發(fā)送到eMMC300。如圖15所示,準(zhǔn)備寫(xiě)入命令CS或841至844可包括大小指定命令CMD_ds和地址指定命令CMD_sa。
[0150]eMMC300依次接收準(zhǔn)備寫(xiě)入命令CS或841至844,并將其存儲(chǔ)在裝置命令寄存器325中。當(dāng)先前數(shù)據(jù)831的傳輸和編程(tPROG)完成時(shí),主機(jī)200將數(shù)據(jù)寫(xiě)入命令845和與數(shù)據(jù)寫(xiě)入命令845相應(yīng)的數(shù)據(jù)DAT-a、DAT - b、DAT - c和DAT - d發(fā)送到eMMC300。eMMC300將數(shù)據(jù)DAT-a、DAT - b、DAT - c和DAT - d存儲(chǔ)在數(shù)據(jù)緩沖器中,并將存儲(chǔ)在數(shù)據(jù)緩沖器中的數(shù)據(jù) DAT-a、DAT - b、DAT - c 和 DAT - d 編程到閃存 370。
[0151]在本發(fā)明構(gòu)思的示例實(shí)施例中,eMMC被解釋為示例。然而,本發(fā)明構(gòu)思的示例實(shí)施例不限于此,而是可被應(yīng)用于包括命令總線(xiàn)和數(shù)據(jù)總線(xiàn)的任何非易失性存儲(chǔ)卡以及控制所述卡的任何主機(jī)。
[0152]如上所述,根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例,在數(shù)據(jù)傳輸期間或在eMMC完成讀取/寫(xiě)入操作之前,主機(jī)可將命令發(fā)送到eMMC,使得即使在eMMC的讀取/寫(xiě)入操作期間,也執(zhí)行對(duì)下一讀取/寫(xiě)入命令的準(zhǔn)備。作為結(jié)果,提高了 eMMC的讀取/寫(xiě)入性能。
[0153]因此,已經(jīng)描述了本發(fā)明構(gòu)思的示例實(shí)施例,將明顯的是,本發(fā)明構(gòu)思的示例實(shí)施例可按照很多方式變化。這樣的變化不被視為偏離本發(fā)明構(gòu)思的示例實(shí)施例的意圖精神和范圍,并且對(duì)于本領(lǐng)域的技術(shù)人員而言將是明顯的所有這樣的修改意圖被包括在權(quán)利要求的范圍內(nèi)。
【權(quán)利要求】
1.一種操作與非易失性存儲(chǔ)卡連接的主機(jī)的方法,所述方法包括: 通過(guò)命令總線(xiàn)將第一命令從主機(jī)發(fā)送到非易失性存儲(chǔ)卡,第一命令指示第一數(shù)據(jù); 通過(guò)執(zhí)行以下步驟中的至少一個(gè)來(lái)傳輸?shù)谝粩?shù)據(jù): 通過(guò)一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將第一數(shù)據(jù)從主機(jī)發(fā)送到非易失性存儲(chǔ)卡,以及 通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)在主機(jī)處從非易失性存儲(chǔ)卡接收第一數(shù)據(jù); 在第一數(shù)據(jù)的傳輸期間或之前,通過(guò)命令總線(xiàn)將第二命令發(fā)送到非易失性存儲(chǔ)卡。
2.如權(quán)利要求1所述的方法,其中,當(dāng)非易失性存儲(chǔ)卡處于忙碌狀態(tài)時(shí),發(fā)送第二命令。
3.如權(quán)利要求2所述的方法,其中,由所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)中的一個(gè)來(lái)指示非易失性存儲(chǔ)卡的忙碌狀態(tài)。
4.如權(quán)利要求1所述的方法,還包括: 操作用于管理命令總線(xiàn)的狀態(tài)的命令總線(xiàn)狀態(tài)機(jī);以及 操作獨(dú)立于命令總線(xiàn)狀態(tài)機(jī)的用于管理所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)的數(shù)據(jù)總線(xiàn)狀態(tài)機(jī), 其中, 所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)包括空閑狀態(tài)、數(shù)據(jù)傳輸狀態(tài)和接收響應(yīng)狀態(tài)或等待狀態(tài), 當(dāng)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)是數(shù)據(jù)傳輸狀態(tài)或接收響應(yīng)狀態(tài)或等待狀態(tài)時(shí),將第二命令發(fā)送到非易失性存儲(chǔ)卡。
5.如權(quán)利要求1所述的方法,其中,第一命令是伴隨數(shù)據(jù)的命令,第二命令是不伴隨數(shù)據(jù)的命令。
6.如權(quán)利要求1所述的方法,還包括: 管理第二命令被發(fā)送的次數(shù)。
7.如權(quán)利要求6所述的方法,還包括: 存儲(chǔ)主機(jī)多隊(duì)列深度,所述主機(jī)多隊(duì)列深度識(shí)別第二命令可被發(fā)送的最大次數(shù)。
8.如權(quán)利要求7所述的方法,其中,存儲(chǔ)主機(jī)多隊(duì)列深度的步驟包括: 從非易失性存儲(chǔ)卡的擴(kuò)展卡具體數(shù)據(jù)(CSD)寄存器讀取信息; 從所述信息提取多隊(duì)列深度; 將提取的多隊(duì)列深度存儲(chǔ)為主機(jī)多隊(duì)列深度。
9.如權(quán)利要求1所述的方法,其中,第二命令是包括數(shù)據(jù)大小和開(kāi)始地址的準(zhǔn)備讀取命令,其中,數(shù)據(jù)大小指示將被讀取的數(shù)據(jù)的大小。
10.如權(quán)利要求9所述的方法,還包括: 將第三命令發(fā)送到非易失性存儲(chǔ)卡,以從包括在非易失性存儲(chǔ)卡中的數(shù)據(jù)緩沖器讀取數(shù)據(jù),其中,非易失性存儲(chǔ)卡響應(yīng)于第二命令而從非易失性存儲(chǔ)器單元讀取數(shù)據(jù),并將讀取的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖器中。
11.如權(quán)利要求10所述的方法,其中,第三命令指定第二命令中的全部或部分,并且非易失性存儲(chǔ)卡響應(yīng)于第三命令將數(shù)據(jù)發(fā)送到主機(jī),其中,響應(yīng)于第三命令發(fā)送的數(shù)據(jù)僅包括與指定的一個(gè)或多個(gè)第二命令相應(yīng)的數(shù)據(jù)。
12.如權(quán)利要求10所述的方法,還包括:將取消命令發(fā)送到非易失性存儲(chǔ)卡,以具體地取消第二命令中的全部或部分。
13.如權(quán)利要求1所述的方法,其中,第二命令中的至少一個(gè)是包括數(shù)據(jù)大小和開(kāi)始地址的準(zhǔn)備寫(xiě)入命令,其中,數(shù)據(jù)大小指示將被寫(xiě)入的數(shù)據(jù)的大小。
14.如權(quán)利要求13所述的方法,還包括: 通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與第二命令中的第一個(gè)第二命令相應(yīng)的數(shù)據(jù)發(fā)送到非易失性存儲(chǔ)卡, 其中,在與所述第一個(gè)第二命令相應(yīng)的數(shù)據(jù)正通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)被發(fā)送時(shí),將第二命令中的第二個(gè)發(fā)送到非易失性存儲(chǔ)卡。
15.如權(quán)利要求13所述的方法,還包括: 通過(guò)命令總線(xiàn)將用于發(fā)送與第二命令中的至少一個(gè)第二命令相應(yīng)的數(shù)據(jù)的第三命令發(fā)送到非易失性存儲(chǔ)卡; 通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與所述至少一個(gè)第二命令相應(yīng)的數(shù)據(jù)發(fā)送到非易失性存儲(chǔ)卡。
16.一種通過(guò)時(shí)鐘總線(xiàn)、命令總線(xiàn)和一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)來(lái)操作包括與非易失性存儲(chǔ)卡連接的主機(jī)的非易 失性存儲(chǔ)卡系統(tǒng)的方法,所述方法包括: 通過(guò)命令總線(xiàn)將第一命令從主機(jī)發(fā)送到非易失性存儲(chǔ)卡; 通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與第一命令相應(yīng)的第一數(shù)據(jù)在主機(jī)與非易失性存儲(chǔ)卡之間傳輸; 在第一數(shù)據(jù)的傳輸期間,通過(guò)命令總線(xiàn)將一個(gè)或多個(gè)第二命令從主機(jī)發(fā)送到非易失性存儲(chǔ)卡。
17.如權(quán)利要求16所述的方法,還包括: 在非易失性存儲(chǔ)卡依次接收所述一個(gè)或多個(gè)第二命令中的多個(gè)第二命令,并且將所述多個(gè)第二命令存儲(chǔ)在命令寄存器中, 其中,將所述一個(gè)或多個(gè)第二命令發(fā)送到非易失性存儲(chǔ)卡的步驟包括:主機(jī)將所述多個(gè)第二命令發(fā)送到非易失性存儲(chǔ)卡,其中,所述多個(gè)第二命令具有相同的命令類(lèi)型。
18.如權(quán)利要求17所述的方法,其中, 所述多個(gè)第二命令中的每一個(gè)是包括數(shù)據(jù)大小和開(kāi)始地址的準(zhǔn)備讀取命令,其中,數(shù)據(jù)大小指示將被讀取的數(shù)據(jù)的大小, 數(shù)據(jù)大小和起始地址被存儲(chǔ)在命令寄存器中。
19.如權(quán)利要求18所述的方法,還包括: 響應(yīng)于每個(gè)第二命令,在非易失性存儲(chǔ)卡處從非易失性存儲(chǔ)器單元讀取數(shù)據(jù),并且將讀取的數(shù)據(jù)存儲(chǔ)在包括在非易失性存儲(chǔ)卡中的數(shù)據(jù)緩沖器中。
20.如權(quán)利要求19所述的方法,還包括: 將第三命令從主機(jī)發(fā)送到非易失性存儲(chǔ)卡; 響應(yīng)于第三命令,將存儲(chǔ)在數(shù)據(jù)緩沖器中的讀取的數(shù)據(jù)從非易失性存儲(chǔ)卡發(fā)送到主機(jī)。
21.如權(quán)利要求20所述的方法,其中,響應(yīng)于第三命令發(fā)送到主機(jī)的數(shù)據(jù)是響應(yīng)于所述多個(gè)第二命令從非易失性存儲(chǔ)器單元讀取的數(shù)據(jù)。
22.如權(quán)利要求17所述的方法,還包括:將用于取消所述多個(gè)第二命令中的一個(gè)或多個(gè)的取消命令從主機(jī)發(fā)送到非易失性存儲(chǔ)卡; 響應(yīng)于取消命令,在非易失性存儲(chǔ)卡使以下項(xiàng)中的至少一個(gè)無(wú)效: 由取消命令指定的所述多個(gè)第二命令中的一個(gè)或多個(gè), 與由取消命令指定的所述多個(gè)第二命令中的所述一個(gè)或多個(gè)相應(yīng)的數(shù)據(jù)。
23.如權(quán)利要求17所述的方法,其中,所述多個(gè)第二命令中的每一個(gè)是包括數(shù)據(jù)大小和開(kāi)始地址的準(zhǔn)備寫(xiě)入命令,其中,數(shù)據(jù)大小指示將被寫(xiě)入的數(shù)據(jù)的大小。
24.如權(quán)利要求23所述的方法,還包括: 通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與所述多個(gè)第二命令中的第一個(gè)第二命令相應(yīng)的第二數(shù)據(jù)從主機(jī)發(fā)送到非易失性存儲(chǔ)卡; 在非易失性存儲(chǔ)卡接收第二數(shù)據(jù); 響應(yīng)于所述第一個(gè)第二命令,將接收到的第二數(shù)據(jù)編程到非易失性存儲(chǔ)器單元; 在第二數(shù)據(jù)正通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)被發(fā)送的同時(shí),將所述多個(gè)第二命令中的第二個(gè)第二命令從主機(jī)發(fā)送到非易失性存儲(chǔ)卡; 在第二數(shù)據(jù)被完全發(fā)送之后,通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與所述多個(gè)第二命令中的第二個(gè)第二命令相應(yīng)的第三數(shù)據(jù)從主機(jī)發(fā)送到非易失性存儲(chǔ)卡; 在非易失性存儲(chǔ)卡接收第三數(shù)據(jù); 響應(yīng)于所述第二個(gè)第二命 令,將接收到的第三數(shù)據(jù)編程到非易失性存儲(chǔ)器單元。
25.如權(quán)利要求23所述的方法,還包括: 通過(guò)命令總線(xiàn)將第三命令從主機(jī)發(fā)送到非易失性存儲(chǔ)卡; 通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)將與所述多個(gè)第二命令相應(yīng)的第二數(shù)據(jù)從主機(jī)依次發(fā)送到非易失性存儲(chǔ)卡; 在非易失性存儲(chǔ)卡接收第二數(shù)據(jù); 響應(yīng)于第三命令,將第二數(shù)據(jù)編程到非易失性存儲(chǔ)器單元。
26.—種通過(guò)時(shí)鐘總線(xiàn)、命令總線(xiàn)和一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)與非易失性存儲(chǔ)卡連接的主機(jī),所述主機(jī)包括: 處理器,被配置為控制主機(jī)的整體操作; 主機(jī)控制器,被配置為與所述處理器電連接,并且與非易失性存儲(chǔ)卡進(jìn)行交互, 其中,主機(jī)控制器被配置為: 通過(guò)命令總線(xiàn)將第一命令發(fā)送到非易失性存儲(chǔ)卡, 通過(guò)數(shù)據(jù)總線(xiàn)將與第一命令相應(yīng)的第一數(shù)據(jù)發(fā)送到非易失性存儲(chǔ)卡,或通過(guò)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)從非易失性存儲(chǔ)卡接收第一數(shù)據(jù), 在第一數(shù)據(jù)的傳輸期間或之前,通過(guò)命令總線(xiàn)將第二命令發(fā)送到非易失性存儲(chǔ)卡。
27.如權(quán)利要求26所述的主機(jī),其中,主機(jī)控制器被配置為使得第二命令在非易失性存儲(chǔ)卡處于忙碌狀態(tài)時(shí)被發(fā)送。
28.如權(quán)利要求26所述的主機(jī),其中,主機(jī)控制器包括: 狀態(tài)控制單元,被配置為操作用于管理命令總線(xiàn)的狀態(tài)的命令總線(xiàn)狀態(tài)機(jī),并操作獨(dú)立于命令總線(xiàn)狀態(tài)機(jī)的用于管理所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)的數(shù)據(jù)總線(xiàn)狀態(tài)機(jī), 其中,狀態(tài)控制單元被配置為使得所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)包括空閑狀態(tài)、數(shù)據(jù)傳輸狀態(tài)和接收響應(yīng)狀態(tài)或等待狀態(tài), 主機(jī)控制器被配置為使得當(dāng)所述一個(gè)或多個(gè)數(shù)據(jù)總線(xiàn)的狀態(tài)是數(shù)據(jù)傳輸狀態(tài)或接收響應(yīng)狀態(tài)或等待狀態(tài)時(shí),第二命令被發(fā)送到非易失性存儲(chǔ)卡。
29.如權(quán)利要求28所述的主機(jī),其中,第一命令是伴隨數(shù)據(jù)的命令,第二命令是不伴隨數(shù)據(jù)的命令。
30.如權(quán)利要求28所述的主機(jī),其中,所述主機(jī)控制器還包括: 計(jì)數(shù)器,被配置為管理第二 命令被發(fā)送的次數(shù)。
【文檔編號(hào)】G06F13/20GK103678193SQ201310421932
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2013年9月16日 優(yōu)先權(quán)日:2012年9月14日
【發(fā)明者】金敬旻, 樸洪植, 申熙東 申請(qǐng)人:三星電子株式會(huì)社