TWI570568B - 通用快閃儲存器(UFS)系統,記憶體系統,控制其之方法及內嵌式多媒體控制器(eMMC)記憶體系統 - Google Patents

通用快閃儲存器(UFS)系統,記憶體系統,控制其之方法及內嵌式多媒體控制器(eMMC)記憶體系統 Download PDF

Info

Publication number
TWI570568B
TWI570568B TW103130009A TW103130009A TWI570568B TW I570568 B TWI570568 B TW I570568B TW 103130009 A TW103130009 A TW 103130009A TW 103130009 A TW103130009 A TW 103130009A TW I570568 B TWI570568 B TW I570568B
Authority
TW
Taiwan
Prior art keywords
transfer request
completion
bit
register
request
Prior art date
Application number
TW103130009A
Other languages
English (en)
Other versions
TW201523267A (zh
Inventor
多樂弗 雷維夫
塔提亞納 布魯克曼
馬雅 黑姆
阿薩夫 夏強姆
Original Assignee
高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 高通公司 filed Critical 高通公司
Publication of TW201523267A publication Critical patent/TW201523267A/zh
Application granted granted Critical
Publication of TWI570568B publication Critical patent/TWI570568B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

Description

通用快閃儲存器(UFS)系統,記憶體系統,控制其之方法及內嵌式多媒體控制器(eMMC)記憶體系統 優先權主張
本申請案主張2013年9月10日申請且名為「用於快閃記憶體中之確認命令完成之系統及方法(SYSTEMS AND METHODS FOR ASCERTAINING COMMAND COMPLETION IN FLASH MEMORY)」之美國臨時專利申請案第61/875,907號的優先權,該臨時專利申請案之全文係以引用方式併入本文中。
本發明之技術大體上係關於快閃記憶體,及處理用於快閃記憶體之命令。
快閃記憶體在許多種類之計算裝置中係常見的,該等計算裝置包括諸如攝影機、音訊播放器、智慧型電話、平板電腦及其類似者之行動終端機。快閃記憶體可為兩種一般類型--抽取式(removable)或內嵌式(embedded)--中之一者,且針對此兩種一般類型存在若干標準。起初經設計成用於內嵌式情形之一種標準為由電子裝置工程聯合委員會(Joint Electron Device Engineering Council,JEDEC)闡述之通用快閃儲存器(Universal Flash Storage,UFS)標準。另一常見標準為內嵌式多媒體控制器(embedded Multi-Media Controller,eMMC)標準。
在UFS標準中,主機與保持記憶體元件之裝置通信。主機向裝置 發出命令以執行「傳送請求(transfer request)」任務(諸如,將資料寫入至記憶體元件中、自記憶體元件讀取資料)且使快取記憶體同步。根據設計,UFS支援多個同時傳送請求。該等傳送請求在主機之控制器處受到軟體驅動,且使用被稱為門鈴暫存器(doorbell register)之暫存器及被稱作(至少在LINUX實施內)未處理請求變數(outstanding requests variable)之軟體變數。雖然術語「未處理請求變數」係特定於LINUX,但其他作業系統使用類似變數,且所有變數皆在本文中被稱作未處理請求變數。每一傳送請求佔用門鈴暫存器及未處理請求變數中之一槽及一對應位元。當發送新傳送請求時,軟體設定對應於暫存器及變數中之槽的位元。在暫存器中設定位元會向控制器通知新傳送請求就緒。當傳送請求已完成時,硬體清除對應於暫存器中之槽的位元,且軟體接著比較暫存器中之位元與未處理請求變數中之位元以尋找已完成請求。應注意,eMMC係類似的,但特定元件可具有不同名稱。
若主機在設定門鈴暫存器之前且在更新未處理請求變數之後接收到中斷,則主機可認識到,在發送請求之前請求已完成。在此情形中,軟體可完成請求,但存在錯誤。替代地,若主機在設定暫存器之後接收到中斷且在更新未處理請求變數之前請求已完成,則請求可能會遺失。又一情形可延遲請求直至另一傳送請求完成中斷到達為止。此情形延遲請求,藉此導致效能降級;此情形導致延遲無限期地持續;抑或此情形延遲請求直至發生中止命令之錯誤為止。當前,經由使用軟體鎖定(software lock)而避免此等情形。然而,此等軟體鎖定緩慢且可排除其他傳送請求。另外,尤其是在多核心處理器中,此等軟體鎖定或排除通常會增加潛時,從而引起效能降級。
【實施方式】中揭示之態樣包括快閃記憶體中之確認命令完 成。一例示性態樣包括消除軟體鎖定及未處理請求變數,且運用一傳送請求完成暫存來替換該軟體鎖定及該未處理請求變數。可將該傳送請求完成暫存器映射至通用快閃儲存器(UFS)傳送協定(UTP)傳送請求清單(UTRL)槽。主機之控制器--一硬體組件--可在傳送請求完成時在該傳送請求完成暫存器中設定位元,同時清除門鈴暫存器。在已讀取此位元之後,清除該傳送請求完成暫存器中之該位元。雖然特定地涵蓋UFS,但諸如內嵌式多媒體控制器(eMMC)之其他快閃記憶體標準亦可受益於本發明之態樣(例如,eMMC具有功能上等效於UTRL之任務描述符清單(TDL))。替換該軟體鎖定及該未處理請求變數會藉由縮減潛時且消除可在使用此等軟體鎖定之情況下發生之傳送請求排除而改良效能。詳言之,完成與發出上下文可同時工作。可同時自多個上下文發出傳送請求。尤其是在諸如智慧型電話之多核心裝置中,使用此等多個上下文會改良效能。
就此而言,在一個態樣中,揭示一種UFS系統。該UFS系統包括一門鈴暫存器,其具有對應於一UTRL之數個位元。該UFS系統亦包含一完成暫存器,其具有相同數目個位元。該UFS系統進一步包含一控制系統,其以操作方式耦接至該門鈴暫存器及該完成暫存器。該控制系統經組態以針對一發送請求開始而在該門鈴暫存器中設定一門鈴位元。換言之,當在該門鈴暫存器中引發一位元時,該位元向該控制器傳信一傳送請求就緒且可被處理(亦即,開始傳送資料)。該控制系統亦經組態以在傳送請求完成時在該完成暫存器中設定一完成位元。該控制系統亦經組態以在傳送請求完成時清除該門鈴位元。
在另一態樣中,揭示一種記憶體系統。該記憶體系統包括一門鈴暫存器,其具有數個位元。該記憶體系統亦包括一完成暫存器,其具有相同數目個位元。該記憶體系統亦包括一控制系統,其以操作方式耦接至該門鈴暫存器及該完成暫存器。該控制系統經組態以針對一 發送請求開始而在該門鈴暫存器中設定一門鈴位元。該控制系統亦經組態以在傳送請求完成時在該完成暫存器中設定一完成位元。該控制系統亦經組態以在傳送請求完成時清除該門鈴位元。
在另一態樣中,揭示一種控制一記憶體系統之方法。該方法包括在一主機中產生一傳送請求。該方法亦包括在該主機中之一門鈴暫存器中設定識別該傳送請求之一位元。該方法亦包括經由一通信介面將該傳送請求傳遞至一裝置。該方法亦包括完成與該傳送請求相關聯之一傳送。該方法亦包括清除該門鈴暫存器中之該位元。該方法亦包括在一完成暫存器中設定一完成位元。
在另一態樣中,揭示一種內嵌式多媒體控制器(eMMC)記憶體系統。該記憶體系統包括一門鈴暫存器,其具有對應於一eMMC任務描述符清單之數個位元。該記憶體系統亦包括一完成通知暫存器,其具有相同數目個位元。該記憶體系統亦包括一控制系統,其以操作方式耦接至該門鈴暫存器及該完成通知暫存器,且經組態以針對一發送請求開始而在該門鈴暫存器中設定一門鈴位元。該控制系統亦經組態以在傳送請求完成時在該完成通知暫存器中設定一完成位元。該控制系統亦經組態以在傳送請求完成時清除該門鈴位元。
10‧‧‧主機
10'‧‧‧主機
12‧‧‧裝置
14‧‧‧導體
16‧‧‧主機控制器
18‧‧‧通信介面
20‧‧‧主機軟體
22‧‧‧控制器
24‧‧‧通信介面
26‧‧‧記憶體單元
28‧‧‧任務佇列
30‧‧‧門鈴暫存器
32‧‧‧命令完成暫存器
34‧‧‧程序
36‧‧‧區塊
38‧‧‧區塊
40‧‧‧區塊
42‧‧‧區塊
44‧‧‧區塊
46‧‧‧區塊
48‧‧‧區塊
50‧‧‧區塊
52‧‧‧程序
54‧‧‧區塊
56‧‧‧區塊
58‧‧‧區塊
60‧‧‧區塊
62‧‧‧區塊
64‧‧‧區塊
66‧‧‧發送請求上下文
68‧‧‧請求完成上下文
70‧‧‧區塊
72‧‧‧區塊
74‧‧‧區塊
76‧‧‧區塊
78‧‧‧區塊
80‧‧‧區塊
82‧‧‧區塊
84‧‧‧區塊
85‧‧‧區塊
86‧‧‧區塊
88‧‧‧區塊
90‧‧‧區塊
92‧‧‧區塊
94‧‧‧區塊
96‧‧‧區塊
98‧‧‧區塊
100‧‧‧區塊
101‧‧‧區塊
102‧‧‧區塊
104‧‧‧區塊
106‧‧‧區塊
108‧‧‧發送請求上下文
110‧‧‧請求完成上下文
112‧‧‧區塊
114‧‧‧區塊
116‧‧‧區塊
118‧‧‧區塊
120‧‧‧區塊
122‧‧‧區塊
124‧‧‧區塊
126‧‧‧區塊
128‧‧‧區塊
130‧‧‧區塊
132‧‧‧區塊
134‧‧‧區塊
136‧‧‧區塊
138‧‧‧區塊
139‧‧‧區塊
140‧‧‧基於處理器之系統
142‧‧‧中央處理單元(CPU)
144‧‧‧處理器
146‧‧‧快取記憶體
148‧‧‧系統匯流排
150‧‧‧記憶體系統
152‧‧‧輸入裝置
154‧‧‧輸出裝置
156‧‧‧網路介面裝置
158‧‧‧顯示控制器
160‧‧‧網路
162‧‧‧顯示器
164‧‧‧視訊處理器
圖1為在無本發明之例示性態樣的情況下在主機與裝置之間的例示性連接之方塊圖;圖2A說明在無同步鎖定或本發明之態樣的情況下可產生於記憶體系統中之第一競爭條件;圖2B說明在無同步鎖定或本發明之態樣的情況下可產生於記憶體系統中之第二競爭條件;圖3說明使用鎖定以防止諸如圖2A及圖2B所說明之競爭條件的競爭條件之習知資料流程程序的流程圖; 圖4為根據本發明之例示性態樣的在主機與具有主機暫存器之裝置之間的例示性連接之方塊圖;圖5為說明圖4之主機與裝置之間的資料流程之例示性程序的流程圖;及圖6為可使用圖4所說明之主機及裝置的例示性基於處理器之系統的方塊圖。
現在參看圖式,描述本發明之若干例示性態樣。詞語「例示性」在本文中用以意謂「充當實例、個例或說明」。未必將本文中被描述為「例示性」之任何態樣認作比其他態樣較佳或有利。
【實施方式】中揭示之態樣包括快閃記憶體中之確認命令完成。一例示性態樣包括消除軟體鎖定及未處理請求變數,且運用一傳送請求完成暫存器來替換該軟體鎖定及該未處理請求變數。可將該傳送請求完成暫存器映射至通用快閃儲存器(UFS)傳送協定(UTP)傳送請求清單(UTRL)槽。主機之控制器-一硬體組件-可在傳送請求完成時在該傳送請求完成暫存器中設定位元,同時清除門鈴暫存器。在已讀取此位元之後,清除該傳送請求完成暫存器中之該位元。雖然特定地涵蓋UFS,但諸如內嵌式多媒體控制器(eMMC)之其他快閃記憶體標準亦可受益於本發明之態樣(例如,eMMC具有功能上等效於UTRL之任務描述符清單(TDL))。替換該軟體鎖定及該未處理請求變數會藉由縮減潛時且消除可在使用此等軟體鎖定之情況下發生之傳送請求排除而改良效能。詳言之,完成與發出上下文可同時工作。可同時自多個上下文發出傳送請求。尤其是在諸如智慧型電話之多核心裝置中,使用此等多個上下文會改良效能。
在處理本發明之態樣之前,參看圖1至圖3呈現習知系統及隨其產生之問題的概觀。下文參看圖4開始本發明之例示性態樣。
就此而言,圖1為經由導體14而耦接至裝置12之主機10的方塊圖。主機10與裝置12之間的通信符合2013年9月發佈之UFS v2.0標準。雖然本發明集中於UFS,但包括內嵌式多媒體控制器(eMMC)之其他快閃標準亦可受益於本發明之態樣。主機10包括主機控制器16,其為以操作方式耦接至適當通信介面18的基於硬體之系統。主機控制器16與主機軟體20相互操作。主機控制器16及主機軟體20共同地為控制系統。
繼續參看圖1,裝置12包括控制器22,其為以操作方式耦接至適當通信介面24的基於硬體之系統。裝置12進一步包括記憶體單元26(例如,否定AND或NOT AND(NAND)快閃儲存器裝置)。裝置12進一步包括任務佇列28。控制器22及與控制器22之操作相關聯的任何軟體共同地為控制系統。
主機10進一步包括門鈴暫存器30(UTRLDBR)。門鈴暫存器30為具有數目等於由主機控制器16處置之傳送請求槽之數目的位元的基於硬體之組件。亦即,門鈴暫存器30具有對應於UFS標準協定傳送請求清單之數個位元。
繼續參看圖1,在習知UFS系統中,併有主機10之計算元件可需要讀取資料或將資料寫入至記憶體單元26。因此,可將略述所請求之資料傳送的傳送請求發送至主機控制器16。主機軟體20接著將槽指派至傳送請求。主機控制器16可具有用以處置多個傳送請求之多個槽(未圖示)。尤其是在多核心處理器中,多個傳送請求係常見的。當主機軟體20已準備針對裝置12之傳送請求時,主機軟體20在門鈴暫存器30中設定對應於與傳送請求相關聯之槽的位元。在門鈴暫存器30中設定位元會向主機控制器16傳信經由通信介面18將傳送請求發送至裝置12。
裝置12根據UFS標準內之文件齊全的規則來處置傳送請求。發生 資料傳送,且一旦資料傳送已完成,主機控制器16就藉由清除門鈴暫存器30中之位元而通知主機軟體20。在操作中,主機10可接收傳送請求中斷。主機軟體20檢查門鈴暫存器30以查看哪些任務已完成及哪些槽已被指派。然而,在不存在更多資訊之情況下,主機軟體20不能甄別用於已完成任務的被設定為零之位元與用於尚未發送之請求的被設定為零之位元。因此,主機軟體20維持一未處理請求變數(未圖示),其指示哪些槽已被指派。
一旦已開始準備發送傳送請求,就更新未處理請求變數,且一旦自裝置12接收到針對傳送請求之回應,就清除未處理請求變數。主機軟體20比較未處理請求變數與門鈴暫存器30以知道哪些槽已完成請求。在不存在進一步控制之情況下,UFS系統可具有導致錯誤、延遲、已中止命令或命令遺失之競爭條件。圖2A及圖2B中說明兩個此類競爭條件。
就此而言,圖2A經由程序34而說明當在更新未處理請求變數之前發送請求停止執行時發生之情形。應瞭解,程序34可由包括軟體及硬體之不同元件實施,且可為單獨且相異之組件(例如,不同次常式、不同軟體模組、不同IC或其類似者)。詳言之,且如上文所敍述,當圖1之主機軟體20已準備針對裝置12之傳送請求時,主機軟體20在門鈴暫存器30中設定對應於與傳送請求相關聯之槽的位元(區塊36)。主機10之上下文對應於主機10處理某一其他傳送請求或處理一些傳入資料而改變(區塊38)。裝置12處理傳送請求(區塊40)。裝置12可需要一些時間來處理傳送請求。在裝置12正處理傳送請求時,可發生將「發送命令程序(send command process)」發送至睡眠之上下文切換。當裝置12完成傳送請求時,裝置12發送已完成任務通知。主機10接著引發完成中斷(區塊42)。此時,因為上下文改變,所以從未更新未處理請求變數。因此,在完成中斷時,主機10檢查門鈴暫存器30 (區塊44)且讀取未處理請求變數(區塊46)。然而,如上文所提到,並未更新未處理請求變數,且因此不辨識已完成請求(區塊48)且中止或暫停命令(區塊50)。
類似地,圖2B說明程序52,其中在更新門鈴暫存器30之前發生未處理請求變數之更新(與上文所描述之次序相反,且用以避免程序34中闡述之競爭條件)。應瞭解,程序52可由包括軟體及硬體之不同元件實施,且可為單獨且相異之組件(例如,不同次常式、不同軟體模組、不同IC或其類似者)。然而,程序52引起另一競爭條件(亦即,兩個程序爭用同一資源),其中命令已完成,但存在錯誤。詳言之,程序52開始於更新未處理請求變數之時間點(區塊54)。引發針對另一傳送請求之完成中斷(區塊56)。然而,在更新門鈴暫存器30之前發生中斷。因此,當讀取門鈴暫存器30(區塊58)時,未設定位元。然而,當讀取未處理請求變數(區塊60)時,主機軟體20查看傳送請求且辨識已完成請求(區塊62)。因此,主機軟體20將完成請求,但存在錯誤(區塊64)。
習知系統經由使用軟體鎖定而防止此等競爭條件。軟體鎖定增加潛時。出於完整性起見,圖3說明與發送請求上下文66及請求完成上下文68相關聯之流程程序。與發送請求上下文66相關聯之程序始於發送請求上下文開始(區塊70)。主機10準備異動資料(區塊72)。主機軟體20接著設定鎖定且停用中斷(區塊74)。軟體設定未處理請求變數(區塊76),且接著設定門鈴暫存器30(區塊78)。在設定門鈴暫存器30之後,停用鎖定且啟用中斷(區塊80)。在移除鎖定之後,發送請求上下文結束(區塊82)。
繼續參看圖3,請求完成上下文68關始(區塊84)。主機控制器16清除門鈴暫存器30中之位元(區塊85)。發生請求完成中斷,且由主機軟體20產生鎖定(區塊86)。主機10在主機軟體20中讀取未處理請求變 數(區塊88)。主機10接著讀取門鈴暫存器30(區塊90),且藉由參考門鈴暫存器30及未處理請求變數來判定已完成請求(區塊92)。對於每一已完成請求(區塊94),執行次常式,其中讀取回應碼(區塊96),處置任何錯誤(區塊98),且向上層(例如,最初發出請求之軟體)通知請求完成(區塊100)。當已在區塊94處處理所有已完成請求時,清除未處理請求變數之對應位元(區塊101),且接著,主機軟體20移除鎖定且退出(區塊102),從而引起請求完成上下文結束(區塊104)。由指定鎖定序列強調鎖定在發送請求上下文66及請求完成上下文68兩者中之存在(區塊106)。
與發送請求上下文66及請求完成上下文68之程序對比,本發明之態樣允許消除鎖定,且減輕伴隨的缺點。就此而言,圖4說明包括命令完成暫存器(UTRLCNR)32(有時亦被稱作完成通知暫存器)之主機10'。應注意,在大多數其他請求中,主機10'具有與圖1之主機10相同的元件。如同門鈴暫存器30,命令完成暫存器32係基於硬體,且具有數目等於由主機控制器16處置之槽之數目的位元。亦即,使用命令完成暫存器32會允許硬體解決方案而非鎖定。藉由使用硬體解決方案,請求之發送及完成可開始於任何時間點。尤其是對於多核心處理器,使多個上下文同時操作之能力改良操作效率。
就此而言,圖5提供發送請求上下文108及請求完成上下文110。發送請求上下文108開始(區塊112),且主機軟體20準備異動資料(區塊114)。主機軟體20設定門鈴暫存器30(區塊116),且發送請求結束(區塊118)。因為無需針對未處理請求來設定軟體變數,所以並不擔憂中斷發生。
繼續參看圖5,請求完成上下文110開始(區塊120)。起初,硬體清除門鈴暫存器30且設定命令完成暫存器32(區塊122)。發生中斷(區塊124)。主機軟體20讀取命令完成暫存器32(區塊126)以確認哪些任 務已完成。對於每一已完成任務,次常式開始(區塊128),其中讀取回應碼(區塊130),處置任何錯誤(區塊132),且主機軟體20清除命令完成暫存器32(區塊134)。在主機軟體20清除命令完成暫存器32之後,向上層(例如,發出請求之軟體)通知請求完成(區塊136)。在清除及通知之後,可按需要或定義而反向命令完成暫存器32中對應於位元之槽。當已處理所有已完成請求(區塊128)時,請求完成上下文110結束(區塊138)。與鎖定停用中斷之時段(由圖3中之106強調)對比,區塊139強調到,可在任何時間點發生中斷,且尤其可在習知系統強加鎖定之時間期間發生中斷。如上文所提到,消除鎖定會改良效能,且添加新硬體(亦即,命令完成暫存器32)被視為針對改良型效能之可接受取捨。
根據本文所揭示之態樣的快閃記憶體中之確認命令完成可提供於或整合至任何基於處理器之裝置中。無限制地,實例包括機上盒、娛樂單元、導航裝置、通信裝置、固定位置資料單元、行動位置資料單元、行動電話、蜂巢式電話、電腦、攜帶型電腦、桌上型電腦、個人數位助理(PDA)、監視器、電腦監視器、電視、調諧器、無線電、衛星無線電、音樂播放器、數位音樂播放器、攜帶型音樂播放器、數位視訊播放器、視訊播放器、數位視訊光碟(DVD)播放器,及攜帶型數位視訊播放器。
就此而言,圖6說明可使用圖4所說明之主機10'及裝置12的基於處理器之系統140的實例。在此實例中,基於處理器之系統140包括一或多個中央處理單元(CPU)142,其各自包括一或多個處理器144。CPU 142可為主控器裝置且包括主機10'。CPU 142可具有耦接至處理器144以用於快速地存取經暫時儲存資料之快取記憶體146。CPU 142耦接至系統匯流排148。眾所周知,CPU 142藉由經由系統匯流排148交換位址、控制及資料資訊而與此等其他裝置通信。舉例而言,CPU 142可將匯流排異動請求傳達至可包括裝置12之記憶體系統150。儘管圖6中未說明,但可提供多個系統匯流排148,其中每一系統匯流排148構成一不同網狀架構(fabric)。
其他主控器及受控器裝置可連接至系統匯流排148。如圖6所說明,作為實例,此等裝置可包括記憶體系統150(其可具有多個記憶體單元(未特定地說明))、一或多個輸入裝置152、一或多個輸出裝置154、一或多個網路介面裝置156,及一或多個顯示控制器158。輸入裝置152可包括任何類型之輸入裝置,其包括但不限於輸入按鍵、開關、語音處理器等等。輸出裝置154可包括任何類型之輸出裝置,其包括但不限於音訊、視訊、其他視覺指示器等等。網路介面裝置156可為經組態以允許將資料交換至網路160及自網路160交換資料之任何裝置。網路160可為任何類型之網路,其包括但不限於有線或無線網路、私用或公用網路、區域網路(LAN)廣域網路(WLAN)及網際網路。網路介面裝置156可經組態以支援任何類型之所要通信協定。
CPU 142亦可經組態以經由系統匯流排148而存取顯示控制器158,以控制被發送至一或多個顯示器162之資訊。顯示控制器158經由一或多個視訊處理器164將待顯示資訊發送至顯示器162,視訊處理器164將待顯示資訊處理成適合於顯示器162之格式。顯示器162可包括任何類型之顯示器,其包括但不限於陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器等等。
熟習此項技術者將進一步瞭解,結合本文所揭示之態樣而描述的各種說明性邏輯區塊、模組、電路及演算法可被實施為電子硬體、儲存於記憶體中或儲存於另一電腦可讀媒體中且由處理器或其他處理裝置執行之指令,或此兩者之組合。作為實例,可在任何電路、硬體組件、積體電路(IC)或IC晶片中使用本文所描述之裝置。本文所揭示之記憶體可為任何類型及大小之記憶體,且可經組態以儲存任何類型 之所要資訊。為了清楚地說明此互換性,上文已大體上在功能性方面描述各種說明性組件、區塊、模組、電路及步驟。如何實施此功能性取決於特定應用、設計選擇及/或強加於整個系統上之設計約束。熟習此項技術者可針對每一特定應用而以變化之方式來實施所描述功能性,但不應將此等實施決策解譯為導致脫離本發明之範疇。
可運用經設計成執行本文所描述之功能的處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件或其任何組合來實施或執行結合本文所揭示之態樣而描述的各種說明性邏輯區塊、模組及電路。處理器可為微處理器,但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可被實施為計算裝置之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他此類組態。
本文所揭示之態樣可體現於硬體中且體現於被儲存於硬體中之指令中,且可駐留於(例如)隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、電可程式化ROM(EPROM)、電可抹除可程式化ROM(EEPROM)、暫存器、硬碟、抽取式磁碟、CD-ROM或此項技術中所知的任何其他形式之電腦可讀媒體中。例示性儲存媒體耦接至處理器,使得處理器可自儲存媒體讀取資訊及將資訊寫入至儲存媒體。在替代例中,儲存媒體可與處理器成一體式。處理器及儲存媒體可駐留於ASIC中。ASIC可駐留於遠端台中。在替代例中,處理器及儲存媒體可作為離散組件而駐留於遠端台、基地台或伺服器中。
亦應注意,描述本文在任一例示性態樣中描述之操作步驟以提供實例及論述。可以不同於所說明序列之眾多不同序列來執行所描述操作。此外,實際上可以數個不同步驟來執行在單一操作步驟中描述之操作。另外,可組合例示性態樣中論述之一或多個操作步驟。應理 解,對於熟習此項技術者而言將容易顯而易見,流程圖中說明之操作步驟可經受眾多不同修改。熟習此項技術者亦將理解,可使用多種不同技術中之任一者來表示資訊及信號。舉例而言,可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何組合來表示可貫穿以上描述而參考之資料、指令、命令、資訊、信號、位元、符號及晶片。
提供本發明之先前描述以使任何熟習此項技術者能夠製造或使用本發明。在不脫離本發明之精神或範疇的情況下,對本發明之各種修改對於熟習此項技術者而言將容易顯而易見,且可將本文所定義之一般原理應用於其他變化。因此,本發明並不意欲限於本文所描述之實例及設計,而應符合與本文所揭示之原理及新穎特徵相一致的最廣範疇。
108‧‧‧發送請求上下文
110‧‧‧請求完成上下文
112‧‧‧區塊
114‧‧‧區塊
116‧‧‧區塊
118‧‧‧區塊
120‧‧‧區塊
122‧‧‧區塊
124‧‧‧區塊
126‧‧‧區塊
128‧‧‧區塊
130‧‧‧區塊
132‧‧‧區塊
134‧‧‧區塊
136‧‧‧區塊
138‧‧‧區塊
139‧‧‧區塊

Claims (26)

  1. 一種通用快閃儲存器(UFS)系統,其包含:一門鈴暫存器,其具有對應於一UFS傳送協定(UTP)傳送請求清單(UTRL)之數個位元;一完成通知暫存器,其具有相同數目個位元;及一控制系統,其以操作方式耦接至該門鈴暫存器及該完成通知暫存器,且經組態以:針對一發送請求開始而在該門鈴暫存器中設定一門鈴位元;在傳送請求完成時在該完成通知暫存器中設定一完成位元;及在傳送請求完成時清除該門鈴位元。
  2. 如請求項1之UFS系統,其中該控制系統經進一步組態以向一裝置發出一傳送請求。
  3. 如請求項2之UFS系統,其中該發送請求開始係與該傳送請求相關聯。
  4. 如請求項1之UFS系統,其進一步包含經組態以將一主機耦接至一裝置之一通信介面。
  5. 如請求項2之UFS系統,其中該控制系統經進一步組態以在處理該傳送請求之完成之後清除該完成位元。
  6. 如請求項5之UFS系統,其中該控制系統經進一步組態以在清除該完成位元之後重新使用與該完成位元相關聯之一槽。
  7. 如請求項2之UFS系統,其中該傳送請求包括用以將資料寫入至該裝置之一寫入命令。
  8. 如請求項2之UFS系統,其中該傳送請求包括用以自該裝置讀取 資料之一讀取命令。
  9. 如請求項1之UFS系統,其整合至選自由以下各者組成之群組的一裝置中:一機上盒、一娛樂單元、一導航裝置、一通信裝置、一固定位置資料單元、一行動位置資料單元、一行動電話、一蜂巢式電話、一電腦、一攜帶型電腦、一桌上型電腦、一個人數位助理(PDA)、一監視器、一電腦監視器、一電視、一調諧器、一無線電、一衛星無線電、一音樂播放器、一數位音樂播放器、一攜帶型音樂播放器、一數位視訊播放器、一視訊播放器、一數位視訊光碟(DVD)播放器,及一攜帶型數位視訊播放器。
  10. 一種記憶體系統,其包含:一門鈴暫存器,其具有數個位元;一完成暫存器,其具有相同數目個位元;及一控制系統,其以操作方式耦接至該門鈴暫存器及該完成暫存器,且經組態以:針對一發送請求開始而在該門鈴暫存器中設定一門鈴位元;在傳送請求完成時在該完成暫存器中設定一完成位元;及在傳送請求完成時清除該門鈴位元。
  11. 一種控制一記憶體系統之方法,其包含:在一主機中產生一傳送請求;在該主機中之一門鈴暫存器中設定識別該傳送請求之一位元;經由一通信介面將該傳送請求傳遞至一裝置;完成與該傳送請求相關聯之一傳送;清除該門鈴暫存器中之該位元;及 在一完成暫存器中設定一完成位元。
  12. 如請求項11之方法,其中產生該傳送請求包含產生用以自該裝置讀取資料之一讀取命令。
  13. 如請求項11之方法,其中產生該傳送請求包含產生用以將資料寫入至該裝置之一寫入命令。
  14. 如請求項11之方法,其進一步包含開始該傳送。
  15. 如請求項11之方法,其進一步包含在無需一軟體鎖定之情況下處置對該傳送請求之中斷。
  16. 如請求項11之方法,其進一步包含接收由一第二傳送請求產生之一中斷。
  17. 如請求項11之方法,其進一步包含在處理該傳送請求之完成之後清除該完成位元。
  18. 如請求項17之方法,其進一步包含在清除該完成位元之後重新使用與該完成位元相關聯之一槽。
  19. 一種內嵌式多媒體控制器(eMMC)記憶體系統,其包含:一門鈴暫存器,其具有對應於一eMMC任務描述符清單(TDL)之數個位元;一完成通知暫存器,其具有相同數目個位元;及一控制系統,其以操作方式耦接至該門鈴暫存器及該完成通知暫存器,且經組態以:針對一發送請求開始而在該門鈴暫存器中設定一門鈴位元;在傳送請求完成時在該完成通知暫存器中設定一完成位元;及在傳送請求完成時清除該門鈴位元。
  20. 如請求項19之eMMC記憶體系統,其中該控制系統經進一步組態 以向一裝置發出一傳送請求。
  21. 如請求項20之eMMC記憶體系統,其中該發送請求開始係與該傳送請求相關聯。
  22. 如請求項20之eMMC記憶體系統,其進一步包含經組態以將一主機耦接至該裝置之一通信介面。
  23. 如請求項20之eMMC記憶體系統,其中該控制系統經進一步組態以在處理該傳送請求之完成之後清除該完成位元。
  24. 如請求項23之eMMC記憶體系統,其中該控制系統經進一步組態以在清除該完成位元之後重新使用與該完成位元相關聯之一槽。
  25. 如請求項20之eMMC記憶體系統,其中該傳送請求包括用以將資料寫入至該裝置之一寫入命令。
  26. 如請求項20之eMMC記憶體系統,其中該傳送請求包括用以自該裝置讀取資料之一讀取命令。
TW103130009A 2013-09-10 2014-08-29 通用快閃儲存器(UFS)系統,記憶體系統,控制其之方法及內嵌式多媒體控制器(eMMC)記憶體系統 TWI570568B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361875907P 2013-09-10 2013-09-10
US14/467,404 US9348537B2 (en) 2013-09-10 2014-08-25 Ascertaining command completion in flash memories

Publications (2)

Publication Number Publication Date
TW201523267A TW201523267A (zh) 2015-06-16
TWI570568B true TWI570568B (zh) 2017-02-11

Family

ID=52626699

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103130009A TWI570568B (zh) 2013-09-10 2014-08-29 通用快閃儲存器(UFS)系統,記憶體系統,控制其之方法及內嵌式多媒體控制器(eMMC)記憶體系統

Country Status (19)

Country Link
US (1) US9348537B2 (zh)
EP (2) EP4177764A1 (zh)
JP (2) JP6173603B2 (zh)
KR (1) KR101754545B1 (zh)
CN (1) CN105556497B (zh)
AU (1) AU2014318238B2 (zh)
BR (1) BR112016005368B1 (zh)
CA (1) CA2920748C (zh)
CL (1) CL2016000555A1 (zh)
HK (1) HK1222239A1 (zh)
MX (1) MX350915B (zh)
MY (1) MY177952A (zh)
NZ (1) NZ717400A (zh)
PH (1) PH12016500339B1 (zh)
RU (1) RU2016107810A (zh)
SA (1) SA516370693B1 (zh)
SG (1) SG11201600764RA (zh)
TW (1) TWI570568B (zh)
WO (1) WO2015038325A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690720B2 (en) * 2014-06-03 2017-06-27 Qualcomm Incorporated Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device
US9881680B2 (en) 2014-06-03 2018-01-30 Qualcomm Incorporated Multi-host power controller (MHPC) of a flash-memory-based storage device
US9632953B2 (en) * 2014-06-03 2017-04-25 Qualcomm Incorporated Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
RU2610681C1 (ru) * 2016-02-18 2017-02-14 Акционерное общество "Научно-исследовательский институт вычислительных комплексов им. М.А. Карцева" (АО "НИИВК им. М.А. Карцева") Способ сохранения информации в аварийных регистраторах
KR20180045103A (ko) * 2016-10-24 2018-05-04 삼성전자주식회사 적응형 인터럽트를 생성하는 데이터 저장 장치 및 그것의 동작 방법
US10452278B2 (en) 2017-03-24 2019-10-22 Western Digital Technologies, Inc. System and method for adaptive early completion posting using controller memory buffer
US10466903B2 (en) 2017-03-24 2019-11-05 Western Digital Technologies, Inc. System and method for dynamic and adaptive interrupt coalescing
US10725835B2 (en) 2017-05-03 2020-07-28 Western Digital Technologies, Inc. System and method for speculative execution of commands using a controller memory buffer
US10509569B2 (en) 2017-03-24 2019-12-17 Western Digital Technologies, Inc. System and method for adaptive command fetch aggregation
WO2018175059A1 (en) * 2017-03-24 2018-09-27 Western Digital Technologies, Inc. System and method for speculative execution of commands using the controller memory buffer
US10296249B2 (en) 2017-05-03 2019-05-21 Western Digital Technologies, Inc. System and method for processing non-contiguous submission and completion queues
KR20190051530A (ko) 2017-11-07 2019-05-15 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
JP6954864B2 (ja) 2018-04-13 2021-10-27 ルネサスエレクトロニクス株式会社 半導体装置およびufsシステム
KR102075689B1 (ko) * 2018-08-16 2020-02-10 주식회사 넥스트칩 태스크의 기능 안전을 보장하기 위한 방법 및 장치
WO2022021372A1 (zh) * 2020-07-31 2022-02-03 华为技术有限公司 一种处理器、ufs控制方法及计算机系统
KR20220105304A (ko) * 2021-01-20 2022-07-27 에스케이하이닉스 주식회사 시스템 및 시스템의 동작 방법
KR20220165128A (ko) 2021-06-07 2022-12-14 에스케이하이닉스 주식회사 메모리 시스템 및 데이터 처리 시스템
CN114296639B (zh) * 2021-12-10 2024-02-20 深圳大普微电子科技有限公司 命令处理方法及闪存设备
CN117012267B (zh) * 2023-06-30 2024-03-19 珠海妙存科技有限公司 对ufs所写入数据的验证方法、控制器及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587893B1 (en) * 2000-04-28 2003-07-01 Hewlett-Packard Development Company, L.P. Method and apparatus to determine when all outstanding fetches are complete
US20060235999A1 (en) * 2005-04-15 2006-10-19 Shah Hemal V Doorbell mechanism
TW201314450A (zh) * 2011-08-01 2013-04-01 Toshiba Kk 資訊處理裝置、半導體記憶裝置及半導體記憶裝置之控制方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3783255A (en) * 1972-07-12 1974-01-01 Gte Automatic Electric Lab Inc Data handling system maintenance arrangement for processing system trouble conditions
US5870758A (en) * 1996-03-11 1999-02-09 Oracle Corporation Method and apparatus for providing isolation levels in a database system
US6353845B1 (en) * 1998-06-25 2002-03-05 International Business Machines Corporation Computer system, program product and method for tracking asynchronous I/O with timeout support
US6434637B1 (en) * 1998-12-31 2002-08-13 Emc Corporation Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations
US6275876B1 (en) * 1999-05-21 2001-08-14 International Business Machines Corporation Specifying wrap register for storing memory address to store completion status of instruction to external device
US6341367B1 (en) * 2000-07-25 2002-01-22 Lsi Logic Corporation Hardware realized state machine
US7328304B2 (en) * 2004-02-27 2008-02-05 Intel Corporation Interface for a block addressable mass storage system
US7219178B2 (en) * 2004-09-30 2007-05-15 Arm Limited Bus deadlock avoidance
JP2006195746A (ja) * 2005-01-13 2006-07-27 Oki Electric Ind Co Ltd マルチレイヤバスシステム
JP4848562B2 (ja) * 2005-08-22 2011-12-28 新世代株式会社 マルチプロセッサ
JP4814617B2 (ja) * 2005-11-01 2011-11-16 株式会社日立製作所 ストレージシステム
US7587543B2 (en) * 2006-01-23 2009-09-08 International Business Machines Corporation Apparatus, method and computer program product for dynamic arbitration control
GB2440758B (en) * 2006-08-08 2011-03-30 Advanced Risc Mach Ltd Interconnect logic for a data processing apparatus
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
US7657682B2 (en) * 2007-09-14 2010-02-02 Freescale Semiconductor, Inc. Bus interconnect with flow control
JP5502198B2 (ja) * 2009-07-10 2014-05-28 サーティコム コーポレーション デバイスのシリアライゼーションを実行するためのシステムおよび方法
US8549204B2 (en) * 2010-02-25 2013-10-01 Fresco Logic, Inc. Method and apparatus for scheduling transactions in a multi-speed bus environment
KR101466592B1 (ko) * 2010-06-18 2014-12-01 엘에스아이 코포레이션 스케일러블 스토리지 디바이스들
JP2012073851A (ja) * 2010-09-29 2012-04-12 Sony Corp バスシステムおよびそのデッドロック回避回路
US8700834B2 (en) * 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US9417821B2 (en) * 2011-09-30 2016-08-16 Intel Corporation Presentation of direct accessed storage under a logical drive model
US8301832B1 (en) * 2012-03-23 2012-10-30 DSSD, Inc. Storage system with guaranteed read latency
US8341342B1 (en) * 2012-03-23 2012-12-25 DSSD, Inc. Storage system with incremental multi-dimensional RAID
US8370567B1 (en) * 2012-03-23 2013-02-05 DSSD, Inc. Storage system with self describing data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587893B1 (en) * 2000-04-28 2003-07-01 Hewlett-Packard Development Company, L.P. Method and apparatus to determine when all outstanding fetches are complete
US20060235999A1 (en) * 2005-04-15 2006-10-19 Shah Hemal V Doorbell mechanism
TW201314450A (zh) * 2011-08-01 2013-04-01 Toshiba Kk 資訊處理裝置、半導體記憶裝置及半導體記憶裝置之控制方法

Also Published As

Publication number Publication date
BR112016005368B1 (pt) 2022-09-27
CN105556497B (zh) 2017-11-07
MX2016002983A (es) 2016-06-02
SG11201600764RA (en) 2016-03-30
US20150074338A1 (en) 2015-03-12
CA2920748C (en) 2017-09-05
PH12016500339A1 (en) 2016-05-02
JP2016539429A (ja) 2016-12-15
TW201523267A (zh) 2015-06-16
CA2920748A1 (en) 2015-03-19
WO2015038325A1 (en) 2015-03-19
HK1222239A1 (zh) 2017-06-23
JP2017152041A (ja) 2017-08-31
BR112016005368A2 (zh) 2017-08-01
JP6599397B2 (ja) 2019-10-30
SA516370693B1 (ar) 2018-10-04
RU2016107810A3 (zh) 2018-06-25
KR20160054494A (ko) 2016-05-16
KR101754545B1 (ko) 2017-07-19
MX350915B (es) 2017-09-25
EP4177764A1 (en) 2023-05-10
PH12016500339B1 (en) 2016-05-02
US9348537B2 (en) 2016-05-24
JP6173603B2 (ja) 2017-08-02
EP3044687A1 (en) 2016-07-20
CN105556497A (zh) 2016-05-04
AU2014318238B2 (en) 2017-06-08
RU2016107810A (ru) 2017-10-16
CL2016000555A1 (es) 2016-11-18
MY177952A (en) 2020-09-28
AU2014318238A1 (en) 2016-03-17
NZ717400A (en) 2017-06-30

Similar Documents

Publication Publication Date Title
TWI570568B (zh) 通用快閃儲存器(UFS)系統,記憶體系統,控制其之方法及內嵌式多媒體控制器(eMMC)記憶體系統
TWI588662B (zh) 於嵌入式記憶體中提供命令佇列
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
CN110569470B (zh) 用户匹配方法、装置、可读介质和电子设备
JP2018518777A (ja) 周辺構成要素相互接続(PCI)エクスプレス(PCIe)トランザクションレイヤへのコヒーレンシ駆動型拡張
US11381630B2 (en) Transmitting data over a network in representational state transfer (REST) applications
CN107408092B (zh) 用于多端口物理层(phy)的锁相环(pll)的共享控制
TWI752354B (zh) 提供預測性指令分派節流以防止在基於亂序處理器(oop)的設備中的資源溢出
TW201842448A (zh) 以處理器為基礎之裝置中之聚集快取維護指令
US11432303B2 (en) Method and apparatus for maximizing a number of connections that can be executed from a mobile application
WO2021155491A1 (en) Data transfer with media transfer protocol (mtp) over universal serial bus (usb)
WO2021018177A1 (zh) 文字特效处理方法及装置
JP6393013B1 (ja) リトライバスコヒーレンシプロトコルおよびインオーダーレスポンス非リトライバスコヒーレンシプロトコルを使用するプロセッサベースシステムにおけるデッドロックの回避
JP6396625B1 (ja) 複数のマスタデバイス間の条件付き介入を使用したキャッシュコヒーレンシの維持
CN117369761A (zh) 连麦处理方法、装置、电子设备、介质及程序产品