TWI588662B - 於嵌入式記憶體中提供命令佇列 - Google Patents
於嵌入式記憶體中提供命令佇列 Download PDFInfo
- Publication number
- TWI588662B TWI588662B TW103131040A TW103131040A TWI588662B TW I588662 B TWI588662 B TW I588662B TW 103131040 A TW103131040 A TW 103131040A TW 103131040 A TW103131040 A TW 103131040A TW I588662 B TWI588662 B TW I588662B
- Authority
- TW
- Taiwan
- Prior art keywords
- host
- command
- queue
- control system
- task
- Prior art date
Links
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/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/08—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1014—One time programmable [OTP] memory, e.g. PROM, WORM
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)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
本申請案主張於2013年9月10日申請且標題為「SYSTEMS AND METHODS FOR PROVIDING COMMAND QUEUING IN THE EMBEDDED MULTI-MEDIA CONTROLLER(eMMC)STANDARD」之美國臨時專利申請案第61/875,721號的優先權,該申請案之全部內容以引用方式併入本文中。
本發明之技術大體上係關於嵌入式記憶體,且特定言之係關於提供嵌入式記憶體之命令佇列。
許多行動器件依賴於快閃記憶體,以儲存供行動器件使用之資料及/或軟體。快閃記憶體分為兩種一般類型:固定式(嵌入式)及抽取式。抽取式快閃記憶體通常採用抽取式記憶卡之形式,且常用於諸如數位攝影機或音訊器件之器件中。嵌入式快閃記憶體常常被焊接至或以其他方式永久地貼附至行動器件內之電路板或其他支撐媒體。
電子裝置工程聯合委員會(JEDEC)負責產生有關於一類型的嵌入式快閃記憶體之嵌入式多媒體卡(eMMC)標準。eMMC描述一種由一嵌入式儲存器解決方案組成之架構,該嵌入式儲存器解決方案具有均位於一小型球柵陣列(BGA)封裝中之多媒體卡介面、快閃記憶體及控制器。eMMC當前為一同步協定,其中主機發送一命令以自器件讀取
或向器件寫入。器件發送一回應,且接著發生資料塊傳送。在完成該資料傳送時,主機發送另一命令,接收另一回應,且發生另一資料傳送。針對至eMMC記憶體中及離開該eMMC記憶體之每一資料傳送而出現此同步命令結構。一般而言,每一命令及回應中均涉及軟體。此軟體通常為一緩慢反應實體,且於每一命令及回應中涉及軟體會增加實行資料傳送之過程中的延遲。
相比於eMMC之同步命令結構,另一記憶體標準--通用快閃儲存器(UFS)採用已知的小型電腦系統介面(SCSI)架構模型以及支援具有命令佇列特徵之多個命令且啟用多執行緒程式化範式的命令協定。實際上,命令佇列允許主機在由器件執行複數個任務之前將彼等任務發送至該器件。此等任務被儲存於器件中之一佇列中。該器件接著自其所接收之複數個任務中挑選一任務,執行所挑選之任務,且向主機通知完成。
命令佇列允許更有效率地使用發生資料傳送之匯流排,此係因為主機及器件處之軟體可同時工作而非必須相互等待。eMMC將受益於命令佇列及資料匯流排之使用效率的改良。然而,考慮到在歷史上尚未設想eMMC之命令佇列,需要定義主機可如何獲知器件處之佇列中之任務的狀態。
實施方式中所揭示之態樣包括在嵌入式記憶體中提供命令佇列。詳言之,本文中揭示之態樣係有關於一程序,其中佇列之狀態係經由該程序而自器件傳達至主機。本發明之態樣使用嵌入式多媒體卡(eMMC)標準之命令結構,使得主機可判定在最接近進行中之資料傳送之一已知結束點時器件中的佇列之狀態。以此方式,該主機可在當前資料傳送仍在進行時選擇將在該當前資料傳送完成之後開始的一任務。
在一態樣中,就此方面揭示一種主機。該主機包含經組態以將信號傳輸至符合一eMMC標準之一器件且自該器件接收信號的一收發器。該主機亦包含可操作地耦接至該收發器的一控制系統。該控制系統經組態以向該器件發出一命令,以判定該器件中之一佇列狀態暫存器(QSR)的一狀態。該控制系統亦經組態以自該器件接收具有關於該器件之該QSR之資訊的一回應。
在另一態樣中,揭示一種器件。該器件包含經組態以將信號傳輸至符合一eMMC標準之一主機且自該主機接收信號的一收發器。該器件亦包含可操作地耦接至該收發器的一控制系統。該控制系統經組態以自該主機接收一命令以判定該器件中之一QSR的一狀態。該控制系統經進一步組態將具有關於該器件之該QSR之資訊的一回應傳輸至該主機。
在另一態樣中,揭示一種操作一eMMC主機之方法。該方法包含將包括一命令之信號自該eMMC主機傳輸至一器件,以判定該器件中之一QSR的一狀態。該方法亦包含自該器件接收具有關於該器件之該QSR之資訊的一回應。
10‧‧‧主機
12‧‧‧器件
14‧‧‧導體
16‧‧‧主機控制器
18‧‧‧通信介面
20‧‧‧主機軟體
22‧‧‧控制器
24‧‧‧通信介面
26‧‧‧記憶體單元
28‧‧‧任務佇列
30‧‧‧相對於時間的信號進展流程
32‧‧‧命令
34‧‧‧回應
36‧‧‧資料流
38‧‧‧QRDY接腳
40‧‧‧轉變
42‧‧‧命令
44‧‧‧回應
46‧‧‧新命令
50‧‧‧相對於時間的信號進展流程
52‧‧‧命令
54‧‧‧回應
56‧‧‧資料傳送
58‧‧‧結束點
60‧‧‧CMD13
62‧‧‧QS信號
64‧‧‧命令
98‧‧‧程序
140‧‧‧基於處理器之系統
142‧‧‧中央處理單元(CPU)
144‧‧‧處理器
146‧‧‧快取記憶體
148‧‧‧系統匯流排
149‧‧‧記憶體控制器
150‧‧‧記憶體系統
152‧‧‧輸入器件
154‧‧‧輸出器件
156‧‧‧網路介面器件
158‧‧‧顯示器控制器
160‧‧‧網路
162‧‧‧顯示器
164‧‧‧視訊處理器
圖1為介於使用嵌入式多媒體卡(eMMC)標準之主機與器件之間的例示性連接之方塊圖;圖2為介於使用中斷接腳之主機與器件之間的信號之時序圖;圖3為根據本發明之例示性態樣的介於使用命令結構之主機與器件之間的信號之時序圖;圖4為本發明之一例示性程序的流程圖;及圖5為根據本發明之態樣操作的可包括圖1之主機及器件之例示性基於處理器之系統的方塊圖。
現參考圖式,描述本發明之若干例示性態樣。詞語「例示性」在本文中用以意謂「充當一實例、例項或說明」。不必將本文中描述為「例示性」之任何態樣解釋為比其他態樣較佳或有利。
實施方式中所揭示之態樣包括在嵌入式記憶體中提供命令佇列。詳言之,本文中揭示之態樣係有關於一程序,其中佇列之狀態係經由該程序而自器件傳達至主機。本發明之態樣使用嵌入式多媒體卡(eMMC)標準之命令結構,使得主機可判定在最接近進行中之資料傳送之一已知結束點時該器件中的佇列之狀態。以此方式,該主機可在當前資料傳送仍在進行時選擇將在該當前資料傳送完成之後開始的一任務。
當主機建立一任務時,主機事前得知將傳送多少資料。假設主機亦指示器件何時開始資料傳送,主機可判定與一特定任務相關聯之資料傳送在何時將要結束。相應地,主機可在資料傳送完成之前的某點處排程一輪詢查詢。在一例示性態樣中,輪詢查詢係呈自主機至器件之SEND_QUEUE_STATUS命令(CMD13)信號之形式。器件用佇列狀態資訊作出回應。主機接著具有關於佇列中之哪些任務準備好執行的足夠資訊。在當前資料傳送之結束點處,主機可發出一命令以執行一新任務。此配置避免對額外接腳之需求。避免額外接腳節省了空間及成本。同樣,此配置藉由將輪詢事件與資料傳送之最近結束點繫結而非依賴於週期輪詢來減小輪詢查詢之數目。意即,若週期性地進行輪詢,則主機可在單一資料傳送期間輪詢兩次(或更多次)。相比而言,本發明在單一資料傳送期間僅具有單一輪詢事件(最接近資料傳送之結束點)。消除額外輪詢提供對資料匯流排之更有效使用。
於eMMC系統中加入命令佇列允許器件最佳化執行之次序。此最佳化可延長電池壽命及/或消除任務之執行中的延遲。命令佇列促進器件向主機通知當前佇列狀態且改良錯誤處置。另外,命令佇列改良
命令之時序態樣。
在此方面,圖1為經由導體14耦接至器件12之主機10的方塊圖。主機10與器件12之間的通信遵循eMMC標準,諸如由電子器件工程聯合委員會(JEDEC)於2012年6月發佈之eMMC電氣標準5.0。修訂版5.01係發佈於2014年7月。當前正進行工作以完成修訂版5.1,其目標為在2014年12月發佈。此標準之複本可自JEDEC(3103 North 10th Street,Suite 240 South,Arlington VA 22201-2107)獲得。主機10包括主機控制器16,該主機控制器為具有適當通信介面18之基於硬體之系統。主機控制器16與主機軟體20相互操作。主機控制器16及主機軟體20共同構成控制系統。
繼續參考圖1,器件12包括控制器22,該控制器為具有適當通信介面24之一基於硬體之系統。器件12進一步包括一記憶體單元26(例如,否定AND或NOT AND(NAND)快閃儲存器件)。器件12進一步包括一任務佇列28。控制器22及與控制器22之操作相關聯之任何軟體及韌體共同構成控制系統。
在JEDEC之前,Samsung、SanDisk及Qualcomm聯合提出了經由QRDY接腳包括一命令佇列的提案。此QRDY接腳之使用可允許命令佇列,但可增大成本及/或造成空間損失。儘管如此,為了幫助與本發明之態樣進行對比,圖2中闡釋了QRDY接腳之態樣。詳言之,圖2提供QRDY接腳的相對於時間的信號進展流程30。
在此方面,圖2說明時序圖。詳言之,主機10發送命令32(C)且接收回應(R)34。命令32指示器件12開始執行器件12處之佇列中的任務。在回應34之後,資料流36開始。當資料流36正在進行時,器件12結束任務佇列28中之任務的準備以供執行。QRDY接腳38自高轉變至低(參見轉變40)。QRDY接腳38之位準的變化導致主機10將命令42發送至器件12。在一例示性態樣中,命令42為CMD13。器件12發送回
一回應44,該回應可包括佇列狀態(QS),其包括新準備好之任務。在資料流36之結束點處,主機發送新命令46,從而指示器件12開始執行任務佇列28中的準備好之任務中之一者。QRDY接腳38之使用允許主機10得知任務何時準備好供執行。主機10可在現存資料流之結束點處發出適當執行命令,而非必須等待資料流結束、在資料流之結束點查詢佇列的狀態且接著在查詢之後發出一任務執行命令。
雖然QRDY接腳38之加入促進了命令佇列且節省相應的時間且有效使用資料匯流排,但接腳之加入由於必須將額外導體佈線至新接腳而增加了製造費用且造成設計負擔。此外,相對於不具有額外接腳之類似器件(及主機),接腳之加入增加了具有接腳之器件及主機的佔據面積。因此,QRDY接腳38之加入一般係不合要求的。
本發明之態樣藉由利用主機10所具有的關於與CMD13耦合的當前作用中之資料傳送的認知來確保有關於器件12處之佇列之狀態的適時更新,從而避免使用QRDY接腳38。可將額外暫存器添加至供應商特定的主機控制器介面(HCI)暫存器映射範圍中,以幫助促進本發明之程序。在論及所添加之暫存器之前,提供程序之綜述。
在此方面,圖3說明一相對於時間的信號進展流程50。該等信號以主機10將命令52發送至器件12且接收回應54開始。命令52指示器件12執行一準備就緒之任務。器件12執行該準備就緒之任務,且資料傳送56開始。主機10事前得知作為資料傳送56之一部分將傳送多少資料,且因此得知(或可計算)何時將出現資料傳送56之結束點58。因此,假設主機10之控制系統可得知何時將出現資料傳送56之結束點58,主機10之控制系統可選擇在結束點58之前但最接近該結束點的一時間。主機10之控制系統在此所選擇之時間處將CMD13 60發送至器件12。CMD13 60包括對於任務佇列28之狀態的一查詢。器件12用具有關於任務佇列28之狀態之資訊的QS信號62(其中包括關於準備好執
行之所有任務的資訊)作出回應。基於準備就緒之任務,主機10接著發出命令64以執行任務,且程序重複。
參考圖4呈現相對於時間的信號進展流程50所基於的程序98之一更穩健流程圖。程序98以主機10建立供器件12執行之一或多個任務而開始(區塊100)。主機10將任務排入佇列(區塊102),且隨著用以將任務排入佇列之命令將一或多個任務傳遞至器件12(區塊104)。器件12將任務排入佇列,且開始準備任務以供執行(區塊106)。在某點處,器件12結束為了執行而準備一或多個任務(區塊108),且器件12更新任務佇列28。
最初,主機10將CMD13發送至器件12,且獲知任務準備就緒(區塊110)。主機10命令器件12執行準備就緒之任務(區塊112)。器件12執行任務,且發生資料傳送56。同時,器件12繼續準備佇列中之任務以供執行(區塊114)。以此方式,可準備一或多個額外任務。
主機10基於其事前對何時將出現資料傳送56之結束點58的認知而在資料傳送56之結束點58之前但最接近該結束點時發送CMD13 60(區塊116)。器件12用佇列狀態訊息作出回應(區塊118),該佇列狀態訊息包括自上一次更新被提供至主機10以來已準備好執行的任何任務。若在區塊118處不存在準備好執行之任務,則系統返回至區塊108,且執行週期輪詢直至一任務準備就緒。然而,若存在準備好執行之任務,則完成資料傳送56(區塊120),且主機10將命令(CMD46或CMD47)64發送至器件12以執行一準備就緒之任務(區塊122)。程序98接著如所提及地以器件12執行任務而重複。
如上文所提及,可包括若干暫存器作為命令佇列HCI。此等暫存器於以下表1中進行概述:
雖然此等詳細描述於原臨時申請案(parent provisional application)中,但特別關注發送狀態組態1暫存器之發送狀態命令閒置計時器欄位,其允許主機控制器16得知藉以使用狀態(STATUS)命令輪詢器件12以驗證命令佇列狀態的時間段。當任務在器件12中擱置但未發生資料傳送時使用週期輪詢。另外應注意,在不背離本發明之範疇的情況下,不同實施可用不同名稱指稱不同暫存器(例如,「命令佇列發送狀態組態1」)。
亦特別關注發送狀態組態1暫存器之發送狀態命令區塊計數器欄位,其向主機控制器16指示在哪個區塊中發送狀態命令以驗證命令佇
列狀態。主機10將在傳送之結束點之前發送狀態命令BLOCK_CNT-1區塊。
儘管圖中未示,但控制系統可發出一佇列管理請求,該佇列管理請求可包括用以捨棄一任務之一命令。
根據本文中揭示之態樣的用於提供eMMC標準中之命令佇列的系統及方法可設在任何基於處理器之器件中或整合至該器件中。在無限制的情況下,實例包括:機上盒、娛樂單元、導航器件、通信器件、固定位置資料單元、行動位置資料單元、行動電話、蜂巢式電話、電腦、攜帶型電腦、桌上型電腦、個人數位助理(PDA)、監視器、電腦監視器、電視、調諧器、無線電、衛星無線電、音樂播放器、數位音樂播放器、攜帶型音樂播放器、數位視訊播放器、視訊播放器、數位視訊光碟(DVD)播放器,及攜帶型數位視訊播放器。
在此方面,圖5說明可使用圖1中所說明之主機10及器件12的基於處理器之系統140的一實例。在此實例中,基於處理器之系統140包括一或多個中央處理單元(CPU)142,其中每一者包括一或多個處理器144。CPU 142可為一主控器件且執行軟體20。CPU 142可具有耦接至處理器144之快取記憶體146,以供快速存取臨時儲存之資料。CPU 142耦接至系統匯流排148,且可與包括在基於處理器之系統140中的器件相互耦接。如所熟知,CPU 142藉由在系統匯流排148上交換位址、控制及資料資訊來與此等其他器件通信。舉例而言,CPU 142可將匯流排異動請求傳達至記憶體系統150(其可為器件12)。異動請求可經過記憶體控制器149,該記憶體控制器可為一主機控制器16。儘管未展示於圖5中,但可提供多個系統匯流排148,其中每一系統匯流排148構成一不同網狀架構。
其他器件可連接至系統匯流排148。如圖5中所說明的,作為實例,此等器件可包括記憶體系統150、一或多個輸入器件152、一或多
個輸出器件154、一或多個網路介面器件156,及一或多個顯示器控制器158。輸入器件152可包括任何類型之輸入器件,包括(但不限於)輸入鍵、開關、語音處理器等。輸出器件154可包括任何類型之輸出器件,包括(但不限於)音訊、視訊、其他視覺指示器等。網路介面器件156可為經組態以允許與網路160交換資料的任何器件。網路160可為任何類型之網路,包括(但不限於)有線或無線網路、私用或公用網路、區域網路(LAN)、廣LAN(wide LAN)、無線LAN及網際網路。網路介面器件156可經組態以支援所要的任何類型之通信協定。
CPU 142亦可經組態以經由系統匯流排148存取顯示器控制器158,以控制發送至一或多個顯示器162之資訊。顯示器控制器158將資訊經由一或多個視訊處理器164發送至顯示器162以進行顯示,該視訊處理器將待顯示之資訊處理成適用於顯示器162之格式。顯示器162可包括任何類型之顯示器,包括(但不限於)陰極射線管(CRT)、發光二極體顯示器(LED)、液晶顯示器(LCD)、電漿顯示器等。
熟習此項技術者將進一步瞭解,結合本文中揭示之態樣而描述的各種說明性邏輯區塊、模組、電路及演算法可實施為電子硬體、儲存於記憶體或另一電腦可讀媒體中且由處理器或其他處理器件執行的指令,或兩者之組合。作為實例,本文中描述之主機及器件可用於任何電路、硬體組件、積體電路(IC)或IC晶片中。本文中揭示之記憶體可為任何類型及大小之記憶體,且可經組態以儲存所要的任何類型之資訊。為了清楚地說明此互換性,上文已大體上依據功能性描述各種說明性組件、區塊、模組、電路及步驟。如何實施此功能性視特定應用、設計選擇及/或外加於整個系統之設計約束而定。對於每一特定應用而言,熟習此項技術者可以變化之方式實施所描述之功能性,但不應將該等實施決策解釋為導致背離本發明之範疇。
可藉由處理器、數位信號處理器(DSP)、特殊應用積體電路
(ASIC)、場可程式化閘陣列(FPGA)或其他可程式化邏輯器件、離散閘或電晶體邏輯、離散硬體組件,或其經設計以執行本文中所描述功能的任何組合來實施或執行結合本文中所揭示之態樣而描述的各種說明性邏輯區塊、模組及電路。處理器可為微處理器,但在替代例中,處理器可為任何習知之處理器、控制器、微控制器或狀態機。處理器亦可經實施為計算器件之組合,例如DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任一其他此組態。
本文中揭示之態樣可體現於硬體及儲存於硬體中之指令中,且可駐留於以下項中:(例如)隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、電可程式化ROM(EPROM)、電可抹除可程式化ROM(EEPROM)、暫存器、硬碟、抽取式磁碟、CD-ROM,或此項技術中已知的其他任何形式之電腦可讀媒體。例示性儲存媒體係耦接至處理器,使得該處理器可自該儲存媒體讀取資訊,並可將資訊寫入至該儲存媒體。在替代例中,儲存媒體可整合至處理器。處理器及儲存媒體可駐留於ASIC中。ASIC可駐留於遠端台中。在替代例中,處理器及儲存媒體可作為離散組件而駐留於遠端台、基地台或伺服器中。
亦應注意,在本文中,在例示性態樣中之任一者中所描述的操作步驟經描述以提供實例及論述。可以不同於所說明之序列的眾多不同序列來執行所描述之操作。此外,實際上可以許多不同步驟來執行在單一操作步驟中所描述之操作。另外,可組合例示性態樣中所論述之一或多個操作步驟。應理解,如熟習此項技術者將易於顯而易見的,流程圖中所說明之操作步驟可經受眾多不同修改。彼等熟習此項技術者亦應瞭解,可使用多種不同技術及技藝中之任一者來表示資訊及信號。舉例而言,可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示可貫穿以上描述所引用之資料、指令、命令、資訊、信號、位元、符號及碼片。
提供本發明之先前描述以使任何熟習此項技術者能夠製造或使用本發明。對本發明之各種修改對於熟習此項技術者而言將為顯而易見的,且可在不脫離本發明之精神或範疇的情況下將本文中所定義之一般原理應用於其他變體。因而,本發明不意欲限於本文中所描述之實例及設計,而應符合與本文中所揭示之原理及新穎特徵相一致的最廣範疇。
10‧‧‧主機
50‧‧‧相對於時間的信號進展流程
52‧‧‧命令
54‧‧‧回應
56‧‧‧資料傳送
58‧‧‧結束點
60‧‧‧CMD13
62‧‧‧QS信號
64‧‧‧命令
Claims (23)
- 一種主機,其包含:一收發器,其經組態以將信號傳輸至符合一嵌入式多媒體卡(eMMC)標準之一器件且自該器件接收信號;及一控制系統,其可操作地耦接至該收發器且經組態以:將一命令發出至該器件,以判定該器件中之一佇列狀態暫存器(QSR)的一狀態;判定自該器件的一當前資料傳送的一即將來臨之結束點;及在該即將來臨之結束點之前,自該器件接收具有關於該器件之該QSR之資訊的一回應。
- 如請求項1之主機,其中該控制系統經進一步組態以在最接近於該即將來臨之結束點時且在該即將來臨之結束點之前發出該命令。
- 如請求項1之主機,其中該控制系統經進一步組態以發出用以將一任務排入佇列之一命令。
- 如請求項1之主機,其中該控制系統經進一步組態以發出一佇列管理請求。
- 如請求項4之主機,其中該佇列管理請求為用以捨棄一任務之一命令。
- 如請求項1之主機,其中該控制系統經進一步組態以發出一執行讀取任務命令。
- 如請求項1之主機,其中該控制系統經進一步組態以發出一執行寫入任務命令。
- 如請求項1之主機,其整合至選自以下項組成之群組的一器件 中:一機上盒、一娛樂單元、一導航器件、一通信器件、一固定位置資料單元、一行動位置資料單元、一行動電話、一蜂巢式電話、一電腦、一攜帶型電腦、一桌上型電腦、一個人數位助理(PDA)、一監視器、一電腦監視器、一電視、一調諧器、一無線電、一衛星無線電、一音樂播放器、一數位音樂播放器、一攜帶型音樂播放器、一數位視訊播放器、一視訊播放器、一數位視訊光碟(DVD)播放器,及一攜帶型數位視訊播放器。
- 一種器件,其包含:一收發器,其經組態以將信號傳輸至符合一嵌入式多媒體卡(eMMC)標準之一主機且自該主機接收信號;及一控制系統,其可操作地耦接至該收發器且經組態以:自該主機接收一命令,以判定該器件中之一佇列狀態暫存器(QSR)的一狀態;及在自該器件的一當前資料傳送的一即將來臨之結束點之前,向該主機傳輸具有關於該器件之該QSR之資訊的一回應。
- 如請求項9之器件,其中該控制系統經進一步組態以在傳輸該回應之前判定該器件中之該QSR的該狀態。
- 如請求項9之器件,其中該控制系統經進一步組態以接收用以將一任務排入佇列之一命令。
- 如請求項9之器件,其中該控制系統經進一步組態以接收一佇列管理請求。
- 如請求項12之器件,其中該佇列管理請求為用以捨棄一任務之一命令。
- 如請求項9之器件,其中該控制系統經進一步組態以接收一執行讀取任務命令。
- 如請求項9之器件,其中該控制系統經進一步組態以接收一執行 寫入任務命令。
- 一種操作一嵌入式多媒體卡(eMMC)主機之方法,其包含:將包括一命令之信號自該eMMC主機傳輸至一器件,以判定該器件中之一佇列狀態暫存器(QSR)的一狀態;判定自該器件的一當前資料傳送的一即將來臨之結束點;及在該即將來臨之結束點之前,自該器件接收具有關於該器件之該QSR之資訊的一回應。
- 如請求項16之方法,其進一步包含在最接近於該即將來臨之結束點時且在該即將來臨之結束點之前發出該命令。
- 如請求項17之方法,其進一步包含在該即將來臨之結束點之前接收該回應。
- 如請求項16之方法,其進一步包含發出一命令以將一任務排入佇列。
- 如請求項16之方法,其進一步包含發出一佇列管理請求。
- 如請求項20之方法,其中發出該佇列管理請求包含命令該器件捨棄一任務。
- 如請求項16之方法,其進一步包含發出一執行讀取任務命令。
- 如請求項16之方法,其進一步包含發出一執行寫入任務命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361875721P | 2013-09-10 | 2013-09-10 | |
US14/478,032 US9519440B2 (en) | 2013-09-10 | 2014-09-05 | Providing command queuing in embedded memories |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201523271A TW201523271A (zh) | 2015-06-16 |
TWI588662B true TWI588662B (zh) | 2017-06-21 |
Family
ID=52626671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103131040A TWI588662B (zh) | 2013-09-10 | 2014-09-09 | 於嵌入式記憶體中提供命令佇列 |
Country Status (22)
Country | Link |
---|---|
US (1) | US9519440B2 (zh) |
EP (1) | EP3044688B1 (zh) |
JP (1) | JP6165342B2 (zh) |
KR (1) | KR101817932B1 (zh) |
CN (1) | CN105518640B (zh) |
AR (1) | AR099265A1 (zh) |
AU (1) | AU2014318040B2 (zh) |
BR (1) | BR112016005365B1 (zh) |
CA (1) | CA2920900C (zh) |
CL (1) | CL2016000559A1 (zh) |
ES (1) | ES2650121T3 (zh) |
HK (1) | HK1222006A1 (zh) |
HU (1) | HUE037357T2 (zh) |
MX (1) | MX349240B (zh) |
MY (1) | MY176801A (zh) |
NZ (1) | NZ717269A (zh) |
PH (1) | PH12016500353A1 (zh) |
RU (1) | RU2640652C2 (zh) |
SA (1) | SA516370692B1 (zh) |
SG (1) | SG11201600762WA (zh) |
TW (1) | TWI588662B (zh) |
WO (1) | WO2015038468A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9824004B2 (en) | 2013-10-04 | 2017-11-21 | Micron Technology, Inc. | Methods and apparatuses for requesting ready status information from a memory |
KR102111741B1 (ko) * | 2014-01-10 | 2020-05-15 | 삼성전자주식회사 | 임베디드 멀티미디어 카드 및 이의 동작 방법 |
US10108372B2 (en) * | 2014-01-27 | 2018-10-23 | Micron Technology, Inc. | Methods and apparatuses for executing a plurality of queued tasks in a memory |
US9454310B2 (en) * | 2014-02-14 | 2016-09-27 | Micron Technology, Inc. | Command queuing |
KR102254099B1 (ko) * | 2014-05-19 | 2021-05-20 | 삼성전자주식회사 | 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템 |
US10073714B2 (en) | 2015-03-11 | 2018-09-11 | Western Digital Technologies, Inc. | Task queues |
KR20160111222A (ko) * | 2015-03-16 | 2016-09-26 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템, 그것을 포함하는 컴퓨팅 시스템 |
KR20160118836A (ko) * | 2015-04-03 | 2016-10-12 | 에스케이하이닉스 주식회사 | 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법 |
GB2539443B (en) * | 2015-06-16 | 2020-02-12 | Advanced Risc Mach Ltd | A transmitter, a receiver, a data transfer system and a method of data transfer |
US10318193B2 (en) | 2015-09-14 | 2019-06-11 | Sandisk Technologies Llc | Systems and methods of command authorization |
US10379781B2 (en) * | 2016-04-20 | 2019-08-13 | Sandisk Technologies Llc | Storage system and method for improved command flow |
TWI587214B (zh) * | 2016-04-21 | 2017-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置、其控制單元及其任務排序方法 |
KR20190032809A (ko) * | 2017-09-20 | 2019-03-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN107729140B (zh) * | 2017-09-22 | 2020-07-28 | 华南理工大学 | 一种并行实现多个eMMC主机接口命令排队功能的装置及方法 |
US10303384B1 (en) | 2017-11-28 | 2019-05-28 | Western Digital Technologies, Inc. | Task readiness for queued storage tasks |
CN108397046B (zh) * | 2018-04-23 | 2023-08-29 | 深圳市易联网络技术有限公司 | 智能钥匙扣联合管理系统与方法 |
CN108958950A (zh) * | 2018-05-29 | 2018-12-07 | 联发科技(新加坡)私人有限公司 | 电子存储设备的任务管理方法、主机和存储装置 |
KR20220048303A (ko) | 2020-10-12 | 2022-04-19 | 삼성전자주식회사 | 크레딧을 이용하는 호스트 장치와 스토리지 장치의 동작 방법 |
CN114116008B (zh) * | 2022-01-26 | 2022-05-27 | 深圳佰维存储科技股份有限公司 | 命令队列管理方法、装置、可读存储介质及电子设备 |
CN116049045B (zh) * | 2022-07-19 | 2023-12-08 | 荣耀终端有限公司 | 命令发送方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094678A1 (en) * | 2007-10-05 | 2009-04-09 | Nokia Corporation | Mulimode device |
TW201108231A (en) * | 2009-08-31 | 2011-03-01 | Phison Electronics Corp | Method for giving program commands to flash memory chips, and controller and storage system using the same |
US20110099313A1 (en) * | 2009-10-25 | 2011-04-28 | Sony Ericsson Mobile Communications Ab | System and method for controlling interruption of a process in electronic equipment based on priority of the process, and program |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751606B1 (en) | 1998-12-23 | 2004-06-15 | Microsoft Corporation | System for enhancing a query interface |
WO2005050432A1 (ja) * | 2003-11-19 | 2005-06-02 | Matsushita Electric Industrial Co., Ltd. | 記録媒体アクセス装置及び記録媒体アクセス方法 |
KR101486987B1 (ko) * | 2008-05-21 | 2015-01-30 | 삼성전자주식회사 | 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법 |
US9779057B2 (en) | 2009-09-11 | 2017-10-03 | Micron Technology, Inc. | Autonomous memory architecture |
US8615621B2 (en) * | 2009-12-24 | 2013-12-24 | St-Ericsson Sa | Memory management |
US8966176B2 (en) * | 2010-05-27 | 2015-02-24 | Sandisk Il Ltd. | Memory management storage to a host device |
US10026458B2 (en) | 2010-10-21 | 2018-07-17 | Micron Technology, Inc. | Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size |
JP5762930B2 (ja) * | 2011-11-17 | 2015-08-12 | 株式会社東芝 | 情報処理装置および半導体記憶装置 |
TWI521343B (zh) * | 2011-08-01 | 2016-02-11 | Toshiba Kk | An information processing device, a semiconductor memory device, and a semiconductor memory device |
TWI443513B (zh) * | 2011-08-05 | 2014-07-01 | Phison Electronics Corp | 記憶體儲存裝置、記憶體控制器與資料寫入方法 |
JP5547154B2 (ja) | 2011-09-21 | 2014-07-09 | 株式会社東芝 | メモリ・デバイス |
EP2761469B1 (en) * | 2011-09-30 | 2019-11-13 | Intel Corporation | Non-volatile random access memory (nvram) as a replacement for traditional mass storage |
JP5505456B2 (ja) * | 2012-05-08 | 2014-05-28 | ブラザー工業株式会社 | デバイス制御システム及びプログラム |
RU2486581C1 (ru) * | 2012-07-11 | 2013-06-27 | Открытое акционерное общество "Научно-исследовательский институт "Субмикрон" | Параллельная вычислительная система с программируемой архитектурой |
-
2014
- 2014-09-05 US US14/478,032 patent/US9519440B2/en active Active
- 2014-09-08 EP EP14772505.5A patent/EP3044688B1/en active Active
- 2014-09-08 HU HUE14772505A patent/HUE037357T2/hu unknown
- 2014-09-08 ES ES14772505.5T patent/ES2650121T3/es active Active
- 2014-09-08 MY MYPI2016700398A patent/MY176801A/en unknown
- 2014-09-08 JP JP2016540459A patent/JP6165342B2/ja active Active
- 2014-09-08 WO PCT/US2014/054527 patent/WO2015038468A1/en active Application Filing
- 2014-09-08 SG SG11201600762WA patent/SG11201600762WA/en unknown
- 2014-09-08 AU AU2014318040A patent/AU2014318040B2/en not_active Ceased
- 2014-09-08 CN CN201480049706.5A patent/CN105518640B/zh active Active
- 2014-09-08 KR KR1020167007265A patent/KR101817932B1/ko active IP Right Grant
- 2014-09-08 NZ NZ717269A patent/NZ717269A/en not_active IP Right Cessation
- 2014-09-08 MX MX2016002986A patent/MX349240B/es active IP Right Grant
- 2014-09-08 CA CA2920900A patent/CA2920900C/en not_active Expired - Fee Related
- 2014-09-08 BR BR112016005365-6A patent/BR112016005365B1/pt active IP Right Grant
- 2014-09-08 RU RU2016107809A patent/RU2640652C2/ru not_active IP Right Cessation
- 2014-09-09 TW TW103131040A patent/TWI588662B/zh active
- 2014-09-09 AR ARP140103369A patent/AR099265A1/es not_active Application Discontinuation
-
2016
- 2016-02-22 PH PH12016500353A patent/PH12016500353A1/en unknown
- 2016-03-07 SA SA516370692A patent/SA516370692B1/ar unknown
- 2016-03-10 CL CL2016000559A patent/CL2016000559A1/es unknown
- 2016-08-23 HK HK16110014.3A patent/HK1222006A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094678A1 (en) * | 2007-10-05 | 2009-04-09 | Nokia Corporation | Mulimode device |
TW201108231A (en) * | 2009-08-31 | 2011-03-01 | Phison Electronics Corp | Method for giving program commands to flash memory chips, and controller and storage system using the same |
US20110099313A1 (en) * | 2009-10-25 | 2011-04-28 | Sony Ericsson Mobile Communications Ab | System and method for controlling interruption of a process in electronic equipment based on priority of the process, and program |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI588662B (zh) | 於嵌入式記憶體中提供命令佇列 | |
AU2014318238B2 (en) | Ascertaining command completion in flash memories | |
EP3216172B1 (en) | Predefined static enumeration for dynamic enumeration buses | |
US9881680B2 (en) | Multi-host power controller (MHPC) of a flash-memory-based storage device | |
US20160371222A1 (en) | COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER | |
EP3134805A1 (en) | Latency-based power mode units for controlling power modes of processor cores, and related methods and systems | |
CN107408092B (zh) | 用于多端口物理层(phy)的锁相环(pll)的共享控制 | |
US11144368B2 (en) | Providing self-resetting multi-producer multi-consumer semaphores in distributed processor-based systems | |
KR20140125816A (ko) | 고속 동기식 직렬 인터페이스(hsi)를 위한 멀티-레인 고속 인터페이스들, 및 관련된 시스템들 및 방법들 | |
CN108027776B (zh) | 在多个主要装置间使用有条件干预维持高速缓存同调性 | |
EP3256945A1 (en) | Bifurcated memory management for memory elements |