TWI626544B - 用於控制非揮發性記憶卡的主機、以及操作主機及系統的方法 - Google Patents
用於控制非揮發性記憶卡的主機、以及操作主機及系統的方法 Download PDFInfo
- Publication number
- TWI626544B TWI626544B TW102133275A TW102133275A TWI626544B TW I626544 B TWI626544 B TW I626544B TW 102133275 A TW102133275 A TW 102133275A TW 102133275 A TW102133275 A TW 102133275A TW I626544 B TWI626544 B TW I626544B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- data
- volatile memory
- host
- memory card
- Prior art date
Links
Classifications
-
- 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/14—Handling requests for interconnection or transfer
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0656—Data buffering arrangements
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
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)
- Information Transfer Systems (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提供用於控制非揮發性記憶卡的主機、含有其的系統及操作主機及系統的方法。操作經由時脈匯流排、命令匯流排及一或多個資料匯流排而與非揮發性記憶卡連接的主機的方法包含:經由命令匯流排將第一命令傳輸至非揮發性記憶卡;經由一或多個資料匯流排將對應於第一命令的第一資料傳輸至非揮發性記憶卡或經由資料匯流排自非揮發性記憶卡接收第一資料;以及在第一資料的傳送期間或之前經由命令匯流排將第二命令傳輸至非揮發性記憶卡至少一次。
Description
本申請案主張2012年9月14日申請的韓國專利申請案第10-2012-0102484號的優先權,所述韓國專利申請案的揭露內容特此以全文引用方式併入本文中。
本發明概念的實例實施例是有關於一種用於控制非揮發性記憶卡的主機,且更特定言之,是有關於一種用於增加非揮發性記憶卡的讀取/寫入效能的主機、包含其的系統及操作主機及系統的方法。
多媒體卡(multimedia card,MMC)是非揮發性記憶卡中的代表性記憶卡。MMC為快閃記憶卡標準。eMMC是由聯合電子裝置工程委員會(Joint Electron Devices Engineering Council,JEDEC)定義的嵌式MMC標準。在eMMC中,通信是基於10信
號匯流排(10-signal bus)。eMMC可嵌入於如智慧型手機的行動通信裝置中。
根據本發明概念的一些實例實施例,提供一種操作經由時脈匯流排、命令匯流排及一或多個資料匯流排而與非揮發性記憶卡連接的主機的方法。所述方法包含:經由命令匯流排將第一命令傳輸至非揮發性記憶卡;經由一或多個資料匯流排將對應於第一命令的第一資料傳輸至非揮發性記憶卡或經由一或多個資料匯流排自非揮發性記憶卡接收第一資料;以及在第一資料的傳送期間或之前經由命令匯流排將第二命令傳輸至非揮發性記憶卡至少一次。
可在非揮發性記憶卡處於忙碌狀態中時傳輸第二命令。
非揮發性記憶卡的忙碌狀態可由一或多個資料匯流排中的一者來指示。
所述方法更可包含:操作用於管理命令匯流排的狀態的命令匯流排狀態機;以及獨立於命令匯流排狀態機來操作用於管理一或多個資料匯流排的狀態的資料匯流排狀態機。一或多個資料匯流排的狀態可包含閒置狀態、資料傳送狀態及接收回應或等待狀態。可在一或多個資料匯流排的狀態為資料傳送狀態或接收回應或等待狀態時將第二命令傳輸至非揮發性記憶卡。
第一命令可為伴隨資料的命令且第二命令可為不伴隨資料的命令。
所述方法更可包含管理第二命令的傳輸次數。
根據本發明概念的其他實例實施例,提供一種操作非揮發性記憶卡系統的方法,所述非揮發性記憶卡系統包含經由時脈匯流排、命令匯流排及一或多個資料匯流排而與非揮發性記憶卡連接的主機。所述方法包含:主機經由命令匯流排將第一命令傳輸至非揮發性記憶卡;經由一或多個資料匯流排在主機與非揮發性記憶卡之間傳送對應於第一命令的第一資料;以及主機在第一資料的傳送期間經由命令匯流排將第二命令傳輸至非揮發性記憶卡。
所述方法更可包含非揮發性記憶卡順序地接收多個第二命令且將其儲存於命令暫存器中。將第二命令傳輸至非揮發性記憶卡可包含主機將相同類型的多個第二命令傳輸至非揮發性記憶卡。
第二命令中的每一者可為準備讀取命令,所述準備讀取命令包含指示待讀取的資料的大小的資料大小及開始位址。資料大小及開始位址可儲存於命令暫存器中。
所述方法更可包含非揮發性記憶卡回應於每一第二命令而自非揮發性記憶體讀取資料且將資料儲存於包含於非揮發性記憶卡中的資料緩衝器中。
所述方法更可包含:主機將第三命令傳輸至非揮發性記憶卡;以及非揮發性記憶卡回應於第三命令而將儲存於資料緩衝器中的資料傳輸至主機。
所述方法更可包含:主機將用於特定取消多個第二命令的全部或一些第二命令的取消命令傳輸至非揮發性記憶卡;以及非揮發性記憶卡回應於取消命令而使由取消命令規定的第二命令
的全部或一些第二命令或對應於第二命令中的所規定的全部或一些第二命令的資料失效。
第二命令中的每一者可為準備寫入命令,所述準備寫入命令包含指示待寫入的資料的大小的資料大小及開始位址。
所述方法更可包含:主機經由一或多個資料匯流排將對應於多個第二命令中的第一個第二命令的第二資料傳輸至非揮發性記憶體;非揮發性記憶卡回應於第一個第二命令而接收第二資料且將第二資料程式化至非揮發性記憶體;主機在第二資料正經由一或多個資料匯流排傳輸的同時將多個第二命令中的第二命令傳輸至非揮發性記憶卡;主機在第二資料被完全傳輸之後經由一或多個資料匯流排將對應於第二命令的第三資料傳輸至非揮發性記憶卡;以及非揮發性記憶卡回應於第二命令而接收第三資料且將第三資料程式化至非揮發性記憶體。
根據本發明概念的另外實例實施例,提供一種經由時脈匯流排、命令匯流排及一或多個資料匯流排而與非揮發性記憶卡連接的主機。主機包含經組態以控制主機的總體操作的處理器,以及經組態以與處理器電連接且與非揮發性記憶卡介接的主機控制器。
主機控制器可經由命令匯流排將第一命令傳輸至非揮發性記憶卡、經由資料匯流排將對應於第一命令的第一資料傳輸至非揮發性記憶卡或經由一或多個資料匯流排自非揮發性記憶卡接收第一資料,且在第一資料的傳送期間或之前經由命令匯流排將第二命令傳輸至非揮發性記憶卡。
根據本發明概念的實例實施例,一種操作連接至非揮發
性記憶體的主機的方法包含:經由命令匯流排將第一命令自主機傳輸至非揮發性記憶卡,第一命令指示第一資料;藉由執行以下操作中的至少一者來傳送第一資料:經由一或多個資料匯流排將第一資料自主機傳輸至非揮發性記憶卡,以及在主機處經由一或多個資料匯流排自非揮發性記憶卡接收第一資料;以及在第一資料的傳送期間或之前經由命令匯流排將第二命令傳輸至非揮發性記憶卡。
100‧‧‧嵌式多媒體卡(eMMC)系統/非揮發性記憶卡系統
101‧‧‧時脈匯流排
102‧‧‧雙向命令匯流排
103‧‧‧雙向資料匯流排
200‧‧‧主機
210‧‧‧作業系統(OS)/主機韌體
215‧‧‧處理器
220‧‧‧記憶體
230‧‧‧主機控制器
231‧‧‧命令產生單元
232‧‧‧任務管理單元
233‧‧‧狀態控制單元
234‧‧‧資料輸入/輸出(I/O)單元
235‧‧‧主機命令暫存器
300‧‧‧裝置/eMMC
310‧‧‧裝置控制器/eMMC控制器
320‧‧‧eMMC主機介面
325、325A、325B‧‧‧裝置命令暫存器
325-1~325-3、325-N‧‧‧暫存器
326-1~326-3、326-N‧‧‧資料大小暫存器
327-1~327-3、327-N‧‧‧位址暫存器
330‧‧‧中央處理單元(CPU)
340‧‧‧隨機存取記憶體
360‧‧‧錯誤校正碼(ECC)區塊
365‧‧‧快閃介面
370‧‧‧快閃記憶體
371‧‧‧擴充卡特定資料(CSD)暫存器/EXT_CSD暫存器
411‧‧‧讀取-讀取(RD)命令
412‧‧‧回應R1
413‧‧‧讀取操作的時序
414‧‧‧後續讀取-讀取(RD)命令
415‧‧‧回應R1
421、422‧‧‧對應於讀取-讀取(RD)命令的資料
431~433‧‧‧讀取操作的時序
441‧‧‧第一準備讀取(PR)命令
442‧‧‧回應R1
443‧‧‧第二準備讀取(PR)命令
444‧‧‧回應R1
445‧‧‧資料讀出(RO)命令
446‧‧‧回應R1
447‧‧‧資料讀出(RO)命令
448‧‧‧回應R1
451、452‧‧‧資料
461~463‧‧‧讀取操作的時序
471~473‧‧‧讀取操作的時序
511‧‧‧寫入(WR)命令
512‧‧‧回應R1
513‧‧‧寫入操作的時序
514‧‧‧後續寫入(WR)命令
515‧‧‧回應R1
521、522、525‧‧‧寫入操作的時序
531‧‧‧第一寫入(WR)命令
532‧‧‧回應R1
533‧‧‧第二寫入(WR)命令
534‧‧‧回應R1
541、542、545、546‧‧‧寫入操作的時序
610‧‧‧讀取操作的時序
620‧‧‧正常讀取命令
621‧‧‧正常資料讀取命令
622‧‧‧回應R1
623‧‧‧正常資料讀取命令
624‧‧‧回應R1
625、627‧‧‧讀取操作的時序
710‧‧‧資料傳送/先前資料
720‧‧‧準備讀取(PR)命令
721‧‧‧CMD57
722‧‧‧回應R1
723‧‧‧CMD58
724‧‧‧回應R1
725‧‧‧CMD59
726‧‧‧回應R1
731、732、733‧‧‧資料
811‧‧‧先前資料
812‧‧‧資料DAT-a
813‧‧‧資料DAT-b
814‧‧‧資料DAT-c
815‧‧‧資料DAT-d
821~824‧‧‧寫入命令
831‧‧‧先前資料
841~844‧‧‧準備寫入命令CS
845‧‧‧資料寫入命令
911‧‧‧讀取-讀取(RD)命令
912~914‧‧‧讀取操作的時序
915‧‧‧讀取-讀取(RD)命令
916~918‧‧‧讀取操作的時序
921‧‧‧準備讀取(PR)命令
922‧‧‧讀取操作的時序
923‧‧‧資料讀出(RO)命令
924~925‧‧‧讀取操作的時序
926‧‧‧準備讀取(PR)命令
927‧‧‧讀取操作的時序
928‧‧‧資料讀出(RO)命令
929~930‧‧‧讀取操作的時序
951‧‧‧第一準備讀取(PR)命令
952‧‧‧操作的時序
953‧‧‧資料讀出(RO)命令
954、956‧‧‧操作的時序
957‧‧‧第二準備讀取(PR)命令
958‧‧‧操作的時序
959‧‧‧第三準備讀取(PR)命令
960‧‧‧取消命令
961‧‧‧操作的時序
962‧‧‧資料讀出(RO)命令
963、964‧‧‧操作的時序
CE0~CE3‧‧‧記憶體元件
CLK‧‧‧時脈信號
CMD‧‧‧命令
CMD_ds‧‧‧大小規定命令
CMD_ro‧‧‧資料讀出命令
CMD_sa‧‧‧位址規定命令
CMD_wr‧‧‧資料寫入命令
DAT‧‧‧資料匯流排
DAT-a、DAT-b、DAT-c、DAT-d‧‧‧資料
DAT[7:0]‧‧‧資料
DS1~DS3、DSN‧‧‧資料大小
RES‧‧‧回應
R1‧‧‧回應
S10‧‧‧閒置狀態
S11‧‧‧傳輸命令狀態
S13‧‧‧接收回應狀態
S20‧‧‧閒置狀態
S21‧‧‧資料傳送狀態
S22‧‧‧接收循環冗餘檢查(CRC)狀態或等待狀態
S110、S115、S120、S130、S135、S140、S145、S150‧‧‧操作
S510、S515、S520、S525、S530、S540、S545、S550、S555、S560、S565‧‧‧操作
S610、S615、S620、S625、S630、S640、S650、S655、S660、S665、S670、S675、S680‧‧‧操作
SA1~SA3、SAN‧‧‧開始位址
tPRG1~tPRG4‧‧‧程式化
tR‧‧‧讀取操作的時序
藉由參看附圖詳細地描述實例實施例,實例實施例的以上及其他特徵以及優點將變得更顯而易見。隨附圖式意欲描繪實例實施例且不應被解釋為限制申請專利範圍的預期範疇。除非明確地表示,否則隨附圖式不應被視為按比例繪製。
圖1為根據本發明概念的一些實例實施例的非揮發性記憶卡系統的方塊圖。
圖2為根據本發明概念的一些實例實施例的圖1中所說明的主機控制器的方塊圖。
圖3為根據本發明概念的一些實例實施例的嵌式多媒體卡(eMMC)的方塊圖。
圖4A為圖3中所說明的裝置命令暫存器的實例的圖。
圖4B為儲存於圖4A中所說明的暫存器中的命令資訊的實例的圖。
圖5為圖3中所說明的裝置命令暫存器的另一實例的圖。
圖6為根據本發明概念的一些實例實施例的命令匯流排狀態
機的圖。
圖7為根據本發明概念的一些實例實施例的資料匯流排狀態機的圖。
圖8為根據本發明概念的一些實例實施例的操作非揮發性記憶卡系統的方法的流程圖。
圖9為用於在eMMC的習知讀取操作與根據本發明概念的一些實例實施例的讀取操作之間進行比較的示意時序圖。
圖10為說明根據本發明概念的一些實例實施例的非揮發性記憶卡系統的操作的示意時序圖。
圖11為用於在eMMC的習知讀取操作與根據本發明概念的其他實例實施例的讀取操作之間進行比較的示意時序圖。
圖12為用於在eMMC的習知寫入操作與根據本發明概念的一些實例實施例的寫入操作之間進行比較的示意時序圖。
圖13為根據本發明概念的另外實例實施例的讀取操作的流程圖。
圖14為用於在eMMC的習知讀取操作與根據本發明概念的其他實例實施例的讀取操作之間進行比較的示意時序圖。
圖15為根據本發明概念的其他實例實施例的寫入操作的流程圖。
圖16為用於在eMMC的習知寫入操作與根據本發明概念的另外實例實施例的寫入操作之間進行比較的示意時序圖。
現將在下文中參看展示本發明的實施例的隨附圖式來更
完全地描述本發明概念的實例實施例。然而,本發明可以許多不同形式具體化且不應被解釋為限於本文中所陳述的實施例。實情為,提供此等實施例,使得本發明透徹且完整,且將向熟習此項技術者完整地傳達本發明的範疇。在圖式中,為清楚起見,可誇示層及區的大小及相對大小。相同數字始終指代相同元件。
將理解,當元件被稱為「連接」或「耦接」至另一元件時,所述元件可直接連接或耦接至另一元件,或可存在介入元件。
與之相比,當元件被稱為「直接連接」或「直接耦接」至另一元件時,不存在介入元件。如本文中所使用,術語「及/或」包含相關聯所列項目中的一或多者的任何及全部組合且可縮寫為「/」。
將理解,雖然本文中可使用術語第一、第二等來描述各種元件,但此等元件不應受此等術語限制。此等術語僅用以區分一個元件與另一元件。舉例而言,在不脫離本發明教示的情況下,可將第一信號稱作第二信號,且類似地,可將第二信號稱作第一信號。
本文中所使用的術語僅用於描述特定實施例的目的且不欲為本發明的限制。如本文中所使用,除非上下文另有清晰指示,否則單數形式「一」及「所述」意欲亦包含複數形式。將進一步理解,術語「包括」或「包含」在用於本說明書中時規定所陳述的特徵、區、整數、步驟、操作、元件及/或組件的存在,但不排除一或多個其他特徵、區、整數、步驟、操作、元件、組件及/或其群組的存在或添加。
除非另外定義,否則本文中所使用的所有術語(包含技術及科學術語)具有與一般熟習本發明所屬技術者通常所理解的
意義相同的意義。將進一步理解,術語(諸如,常用辭典中所定義的彼等術語)應被解釋為具有與其在相關技術背景及本說明書中的意義一致的意義,且不應以理想化或過度形式化的意義來解釋,除非本文中明確地如此定義。
亦應注意,在一些替代實施中,所表明的功能/動作可不以諸圖中所表明的次序發生。舉例而言,視所涉及的功能性/動作而定,連續展示的兩個圖實際上可實質上同時地執行或有時可以相反次序執行。
特此以引用方式併入由聯合電子裝置工程委員會(JEDEC)(http://www.jedec.org)於2012年六月公佈的嵌式多媒體卡(eMMC)電氣標準(版本4.51)(亦即,JESD84-B451)。因此,除非另有定義,否則本文中所使用的術語及定義具有與JESD84-B451中所定義的意義相同的意義。
本發明概念的各種實例實施例包含除現有10導線(10-wire)匯流排外的其他線(或通道)以便增加在主機與裝置的間傳送的資料的抗噪性及傳輸速度。
在本文中,傳輸信號或電壓的通道可為主機焊墊、eMMC焊墊、匯流排、線、驅動器(在一些實施例中包含差動放大器)、接收器(在一些實施例中包含差動放大器)或前述各者中的至少兩者的組合。將在下文中詳細地描述線及電路的功能及用於產生將信號經由線傳輸的方法。
出於描述的便利性起見,除非以特定意圖另外明確地進行描述,否則不考慮功能電路(諸如匯流排、導線、焊墊(或接腳)、驅動器、接收器及/或差動放大器)的傳播延遲。
圖1為根據本發明概念的一些實例實施例的eMMC系統100的方塊圖。eMMC系統100包含主機200及裝置300。裝置300為非揮發性記憶卡,諸如安全數位(secure digital,SD)卡、MMC或eMMC。然而,本發明概念的實例實施例不限於此。
在本發明概念的一些實例實施例中,裝置300為eMMC。
主機200可控制諸如資料讀取操作及資料寫入操作的資料處理操作。可以單一資料速率(single data rate,SDR)或雙倍資料速率(double data rate,DDR)執行所述資料處理操作。
主機200可為可處理資料的資料處理裝置,諸如中央處理單元(central processing unit,CPU)、處理器、微處理器或應用程式處理器。所述資料處理裝置可嵌入於或實施於電子裝置中。
電子裝置可實施為個人電腦(personal computer,PC)、膝上型電腦、行動電話、智慧型手機、平板PC、個人數位助理(personal digital assistant,PDA)、企業數位助理(enterprise digital assistant,EDA)、數位靜態相機、數位視訊攝影機、音訊裝置、攜帶型多媒體播放器(enterprise digital assistant,PMP)、個人導航裝置或攜帶型導航裝置(personal navigation device或portable navigation device,PND)、MP3播放器、手持型遊戲機或電子書。
eMMC 300可經由連接構件(例如,焊墊、接腳、匯流排或通信線)而與電子裝置電連接以與主機200A通信。
主機200可包含處理器215、記憶體200及主機控制器230。作業系統(operating system,OS)/主機韌體210可由處理器215來驅動。記憶體220可包含DRAM及SRAM。
主機200亦可包含時脈產生器(未繪示)。所述時脈產生
器產生用於主機200及eMMC 300中的時脈信號CLK。所述時脈產生器可由鎖相迴路(phase locked loop,PLL)來實施。
處理器215可為控制命令CMD的產生、對回應RES的分析、對儲存於擴充卡特定資料(extended card specific data,CSD)暫存器(或EXT_CSD暫存器)371中的資料的處理及/或對其他資料的處理的硬體。處理器215可驅動OS/主機韌體210以執行此等操作。
主機控制器230與eMMC 300介接。主機控制器230發出命令CMD至eMMC 300,接收對命令CMD的回應RES,將寫入資料傳輸至eMMC 300,且自eMMC 300接收讀取資料。
主機控制器230可包含用於儲存關於傳輸至eMMC 300的命令的資訊的主機命令暫存器235。可與主機200內的記憶體(例如,220)分開地設置主機命令暫存器235或主機命令暫存器235可設置於記憶體(例如,220)中。
圖1中所說明的eMMC匯流排可包含十個習知匯流排101、102及103(例如,eMMC 4.51中所界定)。然而,本發明概念的實例實施例不限於此。舉例而言,eMMC匯流排亦可包含將傳回時脈信號(未繪示)自eMMC 300傳輸至主機200的單向傳回時脈匯流排(未繪示)。
時脈匯流排101傳輸時脈信號CLK。雙向命令匯流排102將命令CMD傳輸至eMMC 300且將對命令CMD的回應RES傳輸至主機200。雙向資料匯流排103將寫入資料DAT[7:0]傳輸至eMMC 300以用於資料寫入操作且將讀取資料DAT[7:0]傳輸至主機200以用於資料讀取操作。
主機200可經由重設線(未繪示)將硬體重設信號傳輸至eMMC 300。主機200可產生eMMC 300的操作所必需的操作電壓且將所述操作電壓傳輸至eMMC 300。
圖2為根據本發明概念的一些實例實施例的圖1中所說明的主機控制器230的方塊圖。主機控制器230包含命令產生單元231、資料輸入/輸出(I/O)單元234、任務管理單元232及狀態控制單元233。任務管理單元232可管理任務的產生及終止。
命令產生單元231可應任務的請求而產生命令CMD且將命令CMD發送至eMMC 300。所述命令產生單元亦可接收對命令CMD的回應RES。
資料I/O單元234可在寫入操作中經由雙向資料匯流排103將資料DAT[7:0]傳輸至eMMC 300且可在讀取操作中經由雙向資料匯流排103自快閃記憶體370接收資料DAT[7:0]。
狀態控制單元233可獨立地控制用於管理雙向命令匯流排102的狀態的命令匯流排狀態機及用於管理雙向資料匯流排103的狀態的資料匯流排狀態機。稍後將參看圖6及圖7來描述狀態控制單元233的操作。
可以硬體、軟體或其組合來實施圖2中所說明的主機控制器230的元件。舉例而言,可以韌體來實施主機控制器230的元件的一些或全部。
圖3為根據本發明概念的一些實例實施例的eMMC 300的方塊圖。參看圖3,eMMC 300包含裝置控制器(例如,eMMC控制器310)及快閃記憶體370。
eMMC控制器310控制主機200與快閃記憶體370之間
的資料通信。eMMC控制器310包含eMMC主機介面320、CPU330、隨機存取記憶體340、錯誤校正碼(error correction code,ECC)區塊360及快閃介面365。
eMMC主機介面320自主機200接收時脈信號CLK及命令CMD,解譯命令CMD,根據解譯結果產生回應RES,且將回應RES及基於回應RES而產生的資料傳輸至主機200。eMMC主機介面320可包含用於儲存關於自主機200接收的命令的資訊的裝置命令暫存器325。可與裝置控制器310內的記憶體(例如,340)分開地實施裝置命令暫存器325或可使用記憶體來實施裝置命令暫存器325。
圖4A為圖3中所說明的裝置命令暫存器325的實例325A的圖。裝置命令暫存器325A包含N個暫存器325-1至325-N,其中N是至少為2的自然數且指示裝置命令暫存器325A的大小,亦即裝置命令暫存器325A中所包含的暫存器的數目。此處,將N定義為多佇列深度。因此,eMMC主機介面320可自主機200接收多達與最大多佇列深度一樣多的命令且將所述命令分別儲存於暫存器325-1至325-N中。
根據當前實施例的命令是在主機200與eMMC 300之間預定義的命令,其用以允許自主機200接收的命令被儲存於eMMC 300中,使得在對應於當前命令的操作完成之前(例如,在自快閃記憶體370讀取的資料被傳輸至主機200之前或在自主機200接收的資料被程式化至快閃記憶體370之前),可接收後續命令。
換言之,根據當前實施例的命令並非eMMC中的習知定義的命令,而是新定義的命令,以便藉由允許eMMC 300甚至在
忙碌狀態(例如,資料讀取操作或資料寫入操作)中接收另一命令來增加總體資料傳送速率。
根據習知eMMC協定,在資料傳送期間或當eMMC處於忙碌狀態中時,主機不能將除停止或中止命令及狀態檢查命令外的命令(讀取命令及寫入命令)發送至eMMC。停止或中止命令是用於停止資料傳送,且狀態檢查命令是用於檢查裝置的狀態。
舉例而言,根據習知eMMC協定,不能在發送資料狀態、接收資料狀態及程式化狀態中傳輸命令,且僅可在操作完成之後在傳送狀態中傳輸命令。因此,效能由於協定額外負擔而減小。
根據本發明概念的實例實施例,即使在資料傳送或eMMC 300的忙碌狀態期間,主機200亦可將命令發送至eMMC 300,使得eMMC 300為後續資料傳輸做準備,藉此增加資料傳送效能。根據本發明概念的實例實施例的命令可能不是停止或中止命令或狀態檢查命令,而可能是用於準備後續資料傳送的準備命令、用於取消準備命令的命令或用於讀取回應於準備命令而準備的資料的命令。可將命令儲存於圖4A中所說明的暫存器325-1至325-N中。
暫存器325-1至325-N儲存關於自主機200發出的命令的資訊(在下文中被稱為命令資訊)。舉例而言,eMMC主機介面320可將關於第一命令的資訊儲存於第一暫存器325-1中且將關於第二命令的資訊儲存於第二暫存器325-2中。以此方式,eMMC主機介面320可將關於多達N個命令的命令資訊儲存於暫存器325-1至325-N中。
圖4B為儲存於圖4A中所說明的暫存器325-N中的命令
資訊的實例的圖。命令資訊可包含命令類型、位址及資料大小。
然而,本發明概念的實例實施例不限於當前實施例。命令類型、位址及資料大小可包含於由主機200發出的命令中且被傳送至eMMC 300。
命令類型是指示命令的類型的欄位,且可包含準備讀取命令及準備寫入命令。位址指示命令執行所在的位址。資料大小指示將對其執行命令的資料的大小。舉例而言,當命令是準備讀取命令時,位址為100,且資料大小為1024;所述命令可指示在位址100處讀取1024個位元組的資料。然而,資料大小的單位不限於位元組。可使用不同單位,諸如具預定大小的區塊或分頁的數目。
圖5為圖3中所說明的裝置命令暫存器325的另一實例325B的圖。裝置命令暫存器325B可包含分別儲存資料大小DS1至DSN的資料大小暫存器326-1至326-N,及分別儲存開始位址SA1至SAN的位址暫存器327-1至327-N。資料大小DS1至DSN及開始位址SA1至SAN可為包含於命令中的資訊。
在本發明概念的實例實施例中,命令可包含用於規定待讀取或寫入的資料的大小的命令(在下文中被稱為大小規定命令(size specifying command))及用於規定指示資料的位置的開始位址的命令(在下文中被稱為位址規定命令(address specifying command))。
大小規定命令可包含命令類型及資料大小。命令類型為指示命令的類型的欄位或引數。資料大小可為區塊計數,但本發明概念的實例實施例不限於此。區塊為具預定大小的資料單元且
可對應於(例如)快閃記憶體的分頁。然而,本發明概念的實例實施例不限於此。可將大小規定命令的資料大小儲存於資料大小暫存器326-1至326-N中的對應暫存器中。
位址規定命令可包含命令類型及開始位址。可將位址規定命令中的開始位址儲存於位址暫存器327-1至327-N中的對應暫存器中。
主機200的主機命令暫存器235可類似於圖4A或圖5中所說明的裝置命令暫存器325A或325B。
主機控制器230可包含管理傳輸至eMMC 300以儲存命令資訊的命令的主機命令暫存器235。
CPU 330控制介面320及365的操作且控制eMMC 300的總體操作。隨機存取記憶體340暫時地儲存在介面320與介面365之間傳送的資料。隨機存取記憶體340可由揮發性記憶體來實施。
快閃記憶體370儲存資料。當快閃記憶體370是由NAND快閃記憶體實施時,快閃介面365可由NAND快閃介面來實施。
快閃記憶體370包含儲存裝置性質及選定模式的EXT_CSD暫存器371。
快閃記憶體370可包含多個記憶體元件CE0至CE3。雖然在圖3中說明四個記憶體元件CE0至CE3,但本發明概念的實例實施例不限於當前實施例。快閃記憶體370可具有支援至少兩個通道的結構。主機200可發出SEND_EXT_CSD(CMD8)以讀取EXT_CSD暫存器371。eMMC 300將EXT_CSD暫存器371中的資料(其長度為512位元組)作為資料區塊傳輸至主機200。可
在EXT_CSD暫存器371的保留欄位中設定多佇列深度。或者,可在可由主機200控制或設定的另一主機控制暫存器中設定多佇列深度。
圖6為根據本發明概念的一些實例實施例的命令匯流排狀態機的圖。圖7為根據本發明概念的一些實例實施例的資料匯流排狀態機的圖。
參看圖6,命令匯流排狀態可為閒置狀態S10、傳輸命令狀態S11或接收回應狀態S13。然而,命令匯流排狀態不限於圖6中的此等三個狀態。當存在待傳輸至eMMC 300的命令時,主機控制器230將命令匯流排狀態自閒置狀態S10切換至傳輸命令狀態S11,使得所述命令被傳輸至eMMC 300。在所述命令被傳輸至eMMC 300之後,命令匯流排狀態被切換至接收回應狀態S13,此時所述命令期待回應。當自eMMC 300接收到對所述命令的回應時,命令匯流排狀態被切換至閒置狀態S10。當所述命令不期待回應時,命令匯流排狀態被自傳輸命令狀態S11切換至閒置狀態S10。可在自接收回應狀態S13至閒置狀態S10的轉變及自傳輸命令狀態S11至閒置狀態S10的轉變中插入在預定數目個時脈循環期間持續的待用狀態(未繪示)。
參看圖7,資料匯流排狀態可為閒置狀態S20、資料傳送狀態S21或接收回應或等待狀態(且特定言之,接收循環冗餘檢查(cyclic redundancy check,CRC)狀態或等待狀態S22)。然而,資料匯流排狀態不限於圖7中的此三個狀態。當主機控制器230將伴隨資料傳送的命令(在下文中被稱為資料傳送命令)傳輸至eMMC 300時,資料匯流排狀態被自閒置狀態S20切換至資料傳
送狀態S21,使得對應於資料傳送命令的資料被傳輸至eMMC 300。資料可以區塊為單位傳輸。舉例而言,當區塊的資料傳輸完成時,資料匯流排狀態被切換至接收CRC狀態或等待狀態S22,且主機控制器230待用,直至接收到對應於所述區塊的CRC狀態回應為止。
當接收CRC狀態回應時,主機控制器230切換至資料傳送狀態S21中且傳輸下一區塊的資料,然後接著切換至接收CRC狀態或等待狀態S22中。當所有區塊的資料的傳輸完成時,主機控制器230切換至閒置狀態S20中。
狀態控制單元233獨立地操作命令匯流排狀態機及資料匯流排狀態機。顯然,命令匯流排狀態及資料匯流排狀態可彼此相關。然而,不是在單一狀態機中,而是分別在單獨狀態機中操作命令匯流排狀態及資料匯流排狀態。
舉例而言,即使當資料匯流排狀態不是閒置狀態(亦即,資料匯流排狀態為資料傳送狀態或接收CRC狀態或等待狀態)時,主機200亦可將命令(例如,不伴隨資料傳送的命令、取消命令或類似者)傳輸至eMMC 300。命令可主要分成兩個類型:一個類型是資料傳送命令;且另一類型是不伴隨資料傳送的命令(在下文中被稱為非資料傳送命令)。
圖8為根據本發明概念的一些實例實施例的操作非揮發性記憶卡系統的方法的流程圖。可使用圖1中所說明的非揮發性記憶卡系統100來執行所述方法。
在操作S110中,主機200將準備讀取(prepare-read,PR)命令傳輸至裝置控制器310。裝置控制器310可將回應R1發送至
主機200以回應PR命令(在操作S115中)且將PR命令資訊儲存於命令暫存器中。
PR命令指示eMMC 300準備資料讀取操作且為非資料傳送命令。即使資料正被傳輸或eMMC 300處於忙碌狀態中時,PR命令亦可被傳輸至裝置控制器310。另外,可傳輸多個(例如,多佇列深度)PR命令。換言之,操作S110及S115可重複多次。主機200亦可包含命令計數器(未繪示)以對所傳輸的PR命令的數目計數。
PR命令可包含規定待讀取的資料的大小的資料大小及規定資料的開始位址的開始位址。可將資料大小及開始位址儲存於如圖4A或圖5中所展示的裝置命令暫存器325A或325B中。
裝置控制器310根據儲存於裝置命令暫存器325中的開始位址及資料大小而將讀取命令發送至快閃記憶體370(在操作S120中)且自快閃記憶體370讀取資料(在操作S125中)。在操作S130中,將讀取資料儲存於資料緩衝器中。
提供資料緩衝器以根據PR命令儲存資料。可使用圖3中所展示的隨機存取記憶體340作為資料緩衝器。
當先前資料傳送完成(亦即,先前資料傳送為是)(在操作S135中)時,在操作S140中,主機200將資料讀出(read-out,RO)命令傳輸至裝置控制器310。回應於來自主機200的資料RO命令,裝置控制器310將回應R1發送至主機200(在操作S145中)且將資料緩衝器中的資料傳輸至主機200(在操作S150中)。
資料RO命令指示將根據PR命令已儲存於資料緩衝器中的資料傳輸至主機200。資料RO命令為資料傳送命令。在先前資
料傳送完成之後,可在資料匯流排狀態為閒置狀態時將資料RO命令傳輸至eMMC 300。
圖9為用於在eMMC的習知讀取操作與根據本發明概念的一些實例實施例的讀取操作之間進行比較的示意時序圖。圖9中的部分(a)展示習知讀取操作,且圖9中的部分(b)展示根據本發明概念的當前實例實施例的讀取操作。
參看圖9中的部分(a),當主機經由命令匯流排將讀取-讀取(read-read,RD)命令911發送至eMMC時,eMMC回應於RD命令911自快閃記憶體讀取(912)資料且經由資料匯流排DAT將資料傳輸(913)至主機。主機經由資料匯流排DAT來接收讀取資料且將資料儲存(914)於主機記憶體中。
僅在接收(913)對應於RD命令911的資料之後,主機才可將下一RD命令915發送至eMMC。因此,在發送RD命令911之後,主機被迫等待待接收(913)的資料。
參看圖9中的部分(b),主機200將第一PR命令921發送至eMMC 300。eMMC 300回應於第一PR命令921而自快閃記憶體讀取資料且將資料儲存(922)於資料緩衝器中。
主機200將資料RO命令923發送至eMMC 300以便自資料緩衝器讀取資料。eMMC 300回應於資料RO命令923而經由資料匯流排DAT將儲存於資料緩衝器中的資料傳輸(924)至主機200。主機200經由資料匯流排DAT來接收資料且將資料儲存(925)於主機記憶體中。與此同時,在資料傳送924完成之前,亦即,當資料正被傳送(924)時,主機200將下一PR命令926發送至eMMC 300,使得eMMC 300可準備下一讀取操作。eMMC
300回應於PR命令926而自快閃記憶體讀取資料且將資料儲存(927)於資料緩衝器中。
以此方式,即使資料正被傳送或eMMC 300處於忙碌狀態中時,主機200亦將PR命令發送至eMMC 300,以允許eMMC300準備用於下一讀取操作的資料,藉此增加資料讀取效能。換言之,由於eMMC 300預先接收PR命令且為下一讀取操作做準備(例如,eMMC 300自快閃記憶體讀取資料且將資料儲存於資料緩衝器中),藉此增加讀取效能。
在圖9中的部分(b)中所展示的實施例中,資料RO命令與PR命令一一對應,但本發明概念的實例實施例不限於當前實施例。在其他實施例中,可使用單一資料RO命令將使用多個PR命令準備的全部讀取資料一次性傳輸至主機200。
圖10為說明根據本發明概念的一些實例實施例的非揮發性記憶卡系統100的操作的示意時序圖。主機200將第一PR命令951發送至eMMC 300。eMMC 300回應於第一PR命令951而自快閃記憶體讀取資料且將資料儲存(952)於資料緩衝器中。
主機200將資料RO命令953發送至eMMC 300以便自資料緩衝器讀取資料。eMMC 300回應於資料RO命令953而經由資料匯流排DAT將儲存於資料緩衝器中的資料傳輸(954)至主機200。主機200經由資料匯流排DAT來接收資料且將資料儲存(956)於主機記憶體中。
在資料傳送(954)期間,主機200將第二PR命令957及第三PR命令959連續地發送至eMMC 300。eMMC 300回應於第二PR命令957而自快閃記憶體讀取資料且將資料儲存(958)
於資料緩衝器中,且回應於第三PR命令959而自快閃記憶體讀取資料且將資料儲存(961)於資料緩衝器中。主機200可在自資料緩衝器讀取資料之前取消第三PR命令959。
舉例而言,主機200可將用於取消第三PR命令959的取消命令960發送至eMMC 300。取消命令960可特定取消先前PR命令的部分或全部。eMMC 300回應於取消命令960而取消第三PR命令959。舉例而言,當在自快閃記憶體讀取對應於第三PR命令959的資料之前接收到取消命令960時,可在不執行資料讀取操作的情況下自命令暫存器移除第三PR命令959。當在回應於第三PR命令959讀取資料且將資料儲存於資料緩衝器中之後接收到取消命令960時,可移除資料緩衝器中的資料或使其失效。
主機200將資料RO命令962發送至eMMC 300以便自資料緩衝器讀取資料。eMMC 300回應於資料RO命令962而經由資料匯流排DAT將儲存於資料緩衝器中的資料958傳輸(963)至主機200。主機200經由資料匯流排DAT來接收資料且將資料儲存(964)於主機記憶體中。
圖11為用於在eMMC的習知讀取操作與根據本發明概念的其他實例實施例的讀取操作之間進行比較的示意時序圖。圖11中的部分(a)展示習知讀取操作,且圖11中的部分(b)展示根據本發明概念的實例實施例的讀取操作。
參看圖11中的部分(a),當主機經由命令匯流排將RD命令411發送至eMMC時,eMMC經由命令匯流排將對RD命令411的回應R1 412發送至主機。eMMC準備(431)回應於RD命令411而自快閃記憶體NAND讀取資料,自快閃記憶胞讀取(432
及433)資料,且經由資料匯流排將資料傳輸(421)至主機。
主機僅在接收對應於RD命令411的資料421之後才可發送後續RD命令414。因此,自接收對RD命令411的回應R1 412起,主機被迫待用(413),直至接收到資料421為止。
然而,參看圖11中的部分(b),主機200將第一PR命令441發送至eMMC 300。eMMC 300將對第一PR命令441的回應R1 442發送至主機200。又,eMMC 300回應於第一PR命令441而自記憶體元件CE0讀取(461及462)資料且將資料儲存(463)於資料緩衝器中。
在自eMMC 300接收到回應R1 442時,主機200將第二PR命令443發送至eMMC 300。換言之,主機200可在對應於第一PR命令441的資料尚未被接收的狀態中將用於讀取下一資料的第二PR命令443發送至eMMC 300。
eMMC 300將對第二PR命令443的回應R1 444發送至主機200且亦回應於第二PR命令443而自記憶體元件CE1讀取(471及472)資料且將資料儲存(473)於資料緩衝器中。
以此方式,主機200可發送多達與最大多佇列深度N一樣多的PR命令。舉例而言,當多佇列深度N為4時,主機200可發送多達四個PR命令。可將多佇列深度N儲存於eMMC 300的EXT_CSD暫存器371中。主機200可使用特定命令(例如,SEND_EXT_CSD)來讀取EXT_CSD暫存器371,且辨識多佇列深度N。
eMMC 300可使用平行操作自快閃記憶體370讀取資料。舉例而言,eMMC 300可使用多平面讀取操作來平行地執行自
快閃記憶體370的第一記憶體元件CE0讀取資料的操作(461至463)及自快閃記憶體370的第二記憶體元件CE1讀取資料的操作(471至473)。
主機200將資料RO命令445發送至eMMC 300以便讀出儲存於資料緩衝器中的資料。eMMC 300發送對資料RO命令445的回應R1 446且亦經由資料匯流排將儲存於資料緩衝器中的資料傳送至主機200。此時,所傳送的資料451可為回應於第一PR命令441而自記憶體元件CE0讀取的資料463。資料RO命令445可為在主機200與eMMC 300之間新定義的用於根據本發明概念的一些實例實施例的資料讀取操作的命令。
主機200將資料RO命令447發送至eMMC 300以便讀出儲存於資料緩衝器中的下一資料。eMMC 300發送對資料RO命令447的回應R1且亦經由資料匯流排將儲存於資料緩衝器中的資料傳送至主機200。此時,所傳送的資料452可為回應於第二PR命令443而自記憶體元件CE1讀取的資料473。
如上所述,根據本發明概念的實例實施例,命令之間的閒置時間被減少,使得讀取效能被增加。換言之,eMMC 300預先接收PR命令且一次性地或平行地為讀取操作做準備(例如,準備自快閃記憶體370讀取資料及將資料儲存於資料緩衝器中),藉此增加讀取效能。
圖12為用於在eMMC的習知寫入操作與根據本發明概念的一些實例實施例的寫入操作之間進行比較的示意時序圖。圖12中的部分(a)展示習知寫入操作,且圖12中的部分(b)展示根據本發明概念的實例實施例的寫入操作。
參看圖12中的部分(a),當主機經由命令匯流排將寫入(write,WR)命令511發送至eMMC時,eMMC經由命令匯流排將對WR命令511的回應R1 512發送至主機。在接收到回應R1 512時,主機經由資料匯流排將與WR命令511有關的資料傳送(521)至eMMC。eMMC將自主機接收的資料程式化(525)至快閃記憶體。直至eMMC完成資料至快閃記憶體的程式化,eMMC皆處於忙碌狀態中。eMMC可經由資料匯流排中之一者(例如,DAT[0])來向主機通知忙碌狀態。主機僅在待用(513)直至向快閃記憶體的資料寫入完成之後才可將後續WR命令514發送至eMMC。
然而,參看根據本發明概念的實例實施例的圖12中的部分(b),主機200將第一WR命令531發送至eMMC 300。eMMC 300將對第一WR命令531的回應R1 532發送至主機200。
在接收到回應R1 532時,主機經由資料匯流排將與第一WR命令531有關的資料傳送(541)至eMMC 300且亦可在傳送資料時將第二WR命令533發送至eMMC 300。eMMC 300可在其完全將與第一WR命令531有關的資料541程式化(545)至快閃記憶體370之前自主機200接收第二WR命令533且將回應R1 534發送至主機200。
以此方式,主機200可發送多達與最大多佇列深度N一樣多的WR命令。舉例而言,當多佇列深度N為4時,主機200可發送多達四個WR命令。
eMMC 300可將資料順序地寫入(545及546)至快閃記憶體370。在其他實施例中,eMMC 300可使用平行操作將資料寫入至快閃記憶體370。舉例而言,eMMC 300可使用多平面程式化
操作來平行地執行將資料程式化至快閃記憶體,370的第一記憶體元件CE0的操作及將資料程式化至快閃記憶體370的第二記憶體元件CE1的操作。
圖13為根據本發明概念的另外實例實施例的讀取操作的流程圖。在操作S510中,主機200將用於規定待讀取的資料的大小的大小規定命令CMD_ds發送至裝置控制器310。回應於大小規定命令CMD_ds,裝置控制器310將回應R1發送至主機200(在操作S515中)且將包含於大小規定命令CMD_ds中的資料大小儲存於裝置命令暫存器325中。
在自eMMC 300接收回應R1之後,在操作S520中,主機200將位址規定命令CMD_sa發送至裝置控制器310。裝置控制器310將回應R1發送至主機200以回應位址規定命令CMD_sa(在操作S525中)且將開始位址儲存於裝置命令暫存器325中。
操作S510至S525可重複多達與最大多佇列深度N一樣多的次數且甚至可在正經由資料匯流排傳送先前資料時執行。
大小規定命令CMD_ds及位址規定命令CMD_sa可對應於上文已描述的PR命令。換言之,可將PR命令實施為包含至少兩個命令的命令集。
裝置控制器310根據儲存於裝置命令暫存器325中的開始位址及資料大小而將讀取命令發送至快閃記憶體370(在操作S530中)且自快閃記憶體370讀取資料(在操作S540中)。在操作S545中,裝置控制器310將資料儲存於資料緩衝器中。
當先前資料傳送完成(是)(在操作S550中)時,在操作S555中,主機200將資料讀出命令CMD_ro發送至裝置控制器
310。回應於資料讀出命令CMD_ro,在操作S560中,裝置控制器310將回應R1發送至主機200。另外,在操作S565中,裝置控制器310將資料緩衝器中的資料傳輸至主機200。資料讀出命令CMD_ro可與上文所描述的資料RO命令相同。
圖14為用於在eMMC的習知讀取操作與根據本發明概念的其他實例實施例的讀取操作之間進行比較的示意時序圖。圖14中的部分(a)展示習知讀取操作,且圖14中的部分(b)展示根據本發明概念的實例實施例的讀取操作。
參看圖14中的部分(a),當當前狀態為資料傳送狀態時,亦即當資料正被經由資料匯流排傳送(610)時,主機不能發送除特定命令(例如,用於停止先前命令的停止命令或中止命令)外的用於自快閃記憶體讀取資料或寫入資料至快閃記憶體的命令。
僅在資料傳送610完成之後,主機才可將正常讀取命令620發送至eMMC。eMMC回應於正常資料讀取命令621及623而自快閃記憶體讀取(tR或625)資料且將資料傳輸(627)至主機。當eMMC正自快閃記憶體讀取(625)資料及將資料傳輸(627)至主機時,主機不能發送後續讀取命令。因此,自發送讀取命令起,主機需要等待資料被完全接收。
然而,參看圖14中的部分(b),即使在資料傳送710期間,主機200亦將PR命令720發送至eMMC 300。詳細地,主機200將大小規定命令(亦即,CMD57 721)發送至eMMC 300,且eMMC 300將對CMD57 721的回應R1 722發送至主機200。接下來,主機200將位址規定命令(亦即,CMD58 723)發送至eMMC 300,且eMMC 300將對CMD58 723的回應R1 724發送至主機200。此
處,CMD57 721對應於圖13中所說明的大小規定命令CMD_ds,且CMD58 723對應於圖13中所說明的位址規定命令CMD_sa。將PR命令720實施為包含CMD57 721及CMD58 723的命令集。主機200可將包含CMD57及CMD58的PR命令發送至eMMC 300N次,其中N是至少為1的整數。
eMMC 300回應於PR命令720而自快閃記憶體370讀取資料且將資料儲存於資料緩衝器中。與此同時,可將被傳送的資料710儲存於與資料緩衝器分開的一般緩衝器中。
當先前資料710的傳送完成時,主機200將資料讀出命令(亦即,CMD59 726)發送至eMMC 300以便自資料緩衝器讀出資料731至733。eMMC 300回應於CMD59 726而將回應R1 726發送至主機200且經由資料匯流排將儲存於資料緩衝器中的資料731至733傳輸至主機200。
圖15為根據本發明概念的其他實例實施例的寫入操作的流程圖。在操作S610中,主機200將用於規定待寫入的資料的大小的大小規定命令CMD_ds傳輸至裝置控制器310。裝置控制器310回應於大小規定命令CMD_ds而將回應R1發送至主機200(在操作S615中)且將對應於大小規定命令CMD_ds的資料大小儲存於裝置命令暫存器325中。
在自eMMC 300接收回應R1之後,在操作S620中,主機200將位址規定命令CMD_sa發送至裝置控制器310。裝置控制器310將回應R1發送至主機200以回應位址規定命令CMD_sa(在操作S625中)且將開始位址儲存於裝置命令暫存器325中。
操作S610至S625可重複多達與最大多佇列深度N一樣
多的次數且甚至可在正經由資料匯流排(雖然未繪示)傳送先前資料時執行。即使裝置控制器310正將程式化命令施加至快閃記憶體370(在操作S630中)以用於先前資料的程式化且正將先前資料程式化至快閃記憶體370(在操作S640中)時,亦可執行操作S610至S625。此時,可將正被傳送或程式化至快閃記憶體370的先前資料儲存於一般緩衝器中。
當先前資料的傳送完成(亦即,是)(在操作S650中)時,在操作S655中,主機200將資料寫入命令CMD_wr發送至裝置控制器310。回應於來自主機200的資料寫入命令CMD_wr,在操作S660中,裝置控制器310將回應R1發送至主機200。接著,在操作S665中,主機200將寫入資料傳送至eMMC 300。
在操作S670中,eMMC 300將寫入資料儲存於資料緩衝器中。裝置控制器310將用於程式化儲存於資料緩衝器中的資料的程式化命令施加至快閃記憶體370(在操作S675中)且將寫入資料程式化至快閃記憶體370(在操作S680中)。
在圖15中所說明的實施例中,大小規定命令CMD_ds及位址規定命令CMD_sa可形成準備寫入命令,其為不伴隨資料傳送的某種非資料傳送命令。資料寫入命令CMD_wr可為伴隨寫入資料的傳送的資料傳送命令。
圖16為用於在eMMC的習知寫入操作與根據本發明概念的另外實例實施例的寫入操作之間進行比較的示意時序圖。圖16中的部分(a)展示習知寫入操作,且圖16中的部分(b)展示根據本發明概念的實例實施例的寫入操作。
參看圖16中的部分(a),在先前資料811的傳送的完成之
後,主機發送eMMC資料812、寫入命令821及對應於寫入命令821的資料DAT-a或812。eMMC將資料DAT-a或812程式化(tPRG1)至快閃記憶體。僅當資料DAT-a或812被完全程式化至快閃記憶體時,資料DAT-a或812的傳送才完成。因此,主機待用,直至資料DAT-a的程式化完成為止,且僅在此時才將另一寫入命令822及對應於寫入命令822的資料DAT-b或813發送至eMMC。
然而,參看圖16中的部分(b),主機200即使在先前資料831的傳送期間亦將準備寫入命令CS或841至844發送至eMMC300。如圖15中所展示,準備寫入命令CS或841至844可包含大小規定命令CMD_ds及位址規定命令CMD_sa。
eMMC 300順序地接收準備寫入命令CS或841至844且將所述準備寫入命令儲存於裝置命令暫存器325中。當先前資料831的傳送及程式化(tPROG)完成時,主機200將資料寫入命令845及對應於資料寫入命令845的資料DAT-a、DAT-b、DAT-c及DAT-d發送至eMMC 300。eMMC 300將資料DAT-a、DAT-b、DAT-c及DAT-d儲存於資料緩衝器中,且將儲存於資料緩衝器中的資料DAT-a、DAT-b、DAT-c及DAT-d程式化至快閃記憶體370。
在本發明概念的實例實施例中,將eMMC解釋為實例。
然而,本發明概念的實例實施例不限於此,而是可應用於包含命令匯流排及資料匯流排的任何非揮發性記憶卡及控制所述卡的任何主機。
如上所述,根據本發明概念的一些實例實施例,主機可在資料傳送期間或在eMMC完成讀取/寫入操作之前將命令發送至
eMMC,使得即使在eMMC的讀取/寫入操作期間亦可執行用於下一讀取/寫入命令的準備。結果,eMMC的讀取/寫入效能被增加。
因此已描述本發明概念的實例實施例,明顯地,本發明概念的實例實施例可在許多方面改變。此等變化不應被視為脫離本發明概念的實例實施例的所欲精神及範疇,且熟習此項技術者可顯而易見的所有此等修改意欲包含於以下申請專利範圍的範疇內。
Claims (26)
- 一種操作連接至非揮發性記憶卡的主機的方法,所述方法包括:經由命令匯流排將第一命令自所述主機傳輸至所述非揮發性記憶卡,所述第一命令指示第一資料;藉由執行以下操作中的至少一者來傳送所述第一資料:經由一或多個資料匯流排將所述第一資料自所述主機傳輸至所述非揮發性記憶卡,以及在所述主機處經由所述一或多個資料匯流排自所述非揮發性記憶卡接收所述第一資料;以及在所述第一資料的所述傳送期間或之前經由所述命令匯流排將第二命令傳輸至所述非揮發性記憶卡,其中在所述非揮發性記憶卡處於忙碌狀態中時傳輸所述第二命令,其中所述非揮發性記憶卡的所述忙碌狀態是由所述一或多個資料匯流排中的一者來指示。
- 如申請專利範圍第1項所述的方法,其更包括:操作用於管理所述命令匯流排的狀態的命令匯流排狀態機;以及獨立於所述命令匯流排狀態機來操作用於管理所述一或多個資料匯流排的狀態的資料匯流排狀態機,其中,所述一或多個資料匯流排的所述狀態包含閒置狀態、資料傳送狀態及接收回應或等待狀態,且 在所述一或多個資料匯流排的狀態為所述資料傳送狀態或所述接收回應或等待狀態時將所述第二命令傳輸至所述非揮發性記憶卡。
- 如申請專利範圍第1項所述的方法,其中所述第一命令是伴隨資料的命令且所述第二命令是不伴隨資料的命令。
- 如申請專利範圍第1項所述的方法,其更包括:管理傳輸所述第二命令的次數。
- 如申請專利範圍第4項所述的方法,其更包括:儲存主機多佇列深度,所述主機多佇列深度識別可傳輸所述第二命令的最大次數。
- 如申請專利範圍第5項所述的方法,其中所述儲存所述主機多佇列深度包括:自所述非揮發性記憶卡的擴充卡特定資料暫存器讀取資訊;自所述資訊提取多佇列深度;以及儲存所述提取的多佇列深度以作為所述主機多佇列深度。
- 如申請專利範圍第1項所述的方法,其中所述第二命令是準備讀取命令而包含指示待讀取的資料的大小的資料大小及開始位址。
- 如申請專利範圍第7項所述的方法,其更包括:將第三命令傳輸至所述非揮發性記憶卡以自包含於所述非揮發性記憶卡中的資料緩衝器讀取資料,其中所述非揮發性記憶卡回應於所述第二命令而自非揮發性記憶體單元讀取所述資料且將所述讀取資料儲存於所述資料緩衝器中。
- 如申請專利範圍第8項所述的方法,其中所述第三命令規 定所述一或多個第二命令的全部或部分且所述非揮發性記憶卡回應於所述第三命令而將資料傳輸至所述主機,回應於所述第三命令所傳輸的所述資料僅包含對應於所述規定的一或多個第二命令的資料。
- 如申請專利範圍第8項所述的方法,其更包括:將取消命令傳輸至所述非揮發性記憶卡以特定取消所述一或多個第二命令的全部或部分。
- 如申請專利範圍第1項所述的方法,其中所述一或多個所述第二命令中的至少一者是準備寫入命令而包含指示待寫入的資料的大小的資料大小及開始位址。
- 如申請專利範圍第11項所述的方法,其更包括:經由所述一或多個資料匯流排將對應於來自所述一或多個第二命令中的第一個第二命令的資料傳輸至所述非揮發性記憶卡,其中在正經由所述一或多個資料匯流排傳輸對應於所述第一個第二命令的所述資料的同時將所述一或多個第二命令中的第二個第二命令傳輸至所述非揮發性記憶卡。
- 如申請專利範圍第11項所述的方法,其更包括:經由所述命令匯流排將用於傳輸對應於所述一或多個第二命令中的至少一者的資料的第三命令傳輸至所述非揮發性記憶卡;以及經由所述一或多個資料匯流排將對應於所述至少一第二命令的所述資料傳輸至所述非揮發性記憶卡。
- 一種操作非揮發性記憶卡系統的方法,所述非揮發性記憶卡系統包含經由時脈匯流排、命令匯流排及一或多個資料匯流 排而與非揮發性記憶卡連接的主機,所述方法包括:經由所述命令匯流排將第一命令自所述主機傳輸至所述非揮發性記憶卡;經由所述一或多個資料匯流排在所述主機與所述非揮發性記憶卡之間傳送對應於所述第一命令的第一資料;以及在所述第一資料的所述傳送期間將一或多個第二命令自所述主機傳輸至所述非揮發性記憶卡,其中所述一或多個第二命令中的每一者是準備讀取命令或準備寫入命令,其包含指示待讀取或待寫入的資料的大小的資料大小及開始位址。
- 如申請專利範圍第14項所述的方法,其更包括:在所述非揮發性記憶卡處順序地接收多個所述一或多個第二命令且將所述多個第二命令儲存於命令暫存器中,其中所述將所述一或多個第二命令傳輸至所述非揮發性記憶卡包含所述主機將所述多個第二命令傳輸至所述非揮發性記憶卡,所述多個第二命令具有相同命令類型。
- 如申請專利範圍第15項所述的方法,其中,所述資料大小及所述開始位址儲存於所述命令暫存器中。
- 如申請專利範圍第16項所述的方法,其更包括:在所述非揮發性記憶卡處回應於每一第二命令而自非揮發性記憶體單元讀取資料且將所述讀取資料儲存於包含於所述非揮發性記憶卡中的資料緩衝器中。
- 如申請專利範圍第17項所述的方法,其更包括:將第三命令自所述主機傳輸至所述非揮發性記憶卡;以及 回應於所述第三命令而將儲存於所述資料緩衝器中的所述讀取資料自所述非揮發性記憶卡傳輸至所述主機。
- 如申請專利範圍第18項所述的方法,其中回應於所述第三命令而傳輸至所述主機的所述資料是回應於所述多個第二命令而自所述非揮發性記憶體讀取的資料。
- 如申請專利範圍第15項所述的方法,其更包括:將用於取消所述多個第二命令中的一或多者的取消命令自所述主機傳輸至所述非揮發性記憶卡;以及在所述非揮發性記憶卡處回應於所述取消命令而使以下各者中的至少一者失效:所述多個第二命令中的由所述取消命令規定的所述一或多個第二命令,以及對應於所述多個第二命令中的由所述取消命令規定的所述一或多個第二命令的資料。
- 如申請專利範圍第14項所述的方法,其更包括:經由所述一或多個資料匯流排將對應於來自所述多個第二命令中的第一個第二命令的第二資料自所述主機傳輸至所述非揮發性記憶體;在所述非揮發性記憶卡處接收所述第二資料;回應於所述第一個第二命令而將所述接收的第二資料程式化至非揮發性記憶體單元;在正經由所述一或多個資料匯流排傳輸所述第二資料的同時將所述多個第二命令中的第二個第二命令自所述主機傳輸至所述非揮發性記憶卡; 在所述第二資料被完全傳輸之後,經由所述一或多個資料匯流排將對應於所述多個第二命令中的所述第二個第二命令的第三資料自所述主機傳輸至所述非揮發性記憶卡;在所述非揮發性記憶卡處接收所述第三資料;以及回應於所述第二命令而將所述接收的第三資料程式化至所述非揮發性記憶體。
- 如申請專利範圍第14項所述的方法,其更包括:經由所述命令匯流排將第三命令自所述主機傳輸至所述非揮發性記憶卡;經由所述一或多個資料匯流排將對應於所述多個第二命令的第二資料順序地自所述主機傳輸至所述非揮發性記憶卡;在所述非揮發性記憶卡處接收所述第二資料;以及回應於所述第三命令而將所述第二資料程式化至非揮發性記憶體單元。
- 一種經由時脈匯流排、命令匯流排及一或多個資料匯流排而與非揮發性記憶卡連接的主機,所述主機包括:處理器,其經組態以控制所述主機的總體操作;以及主機控制器,其經組態以與所述處理器電連接且與所述非揮發性記憶卡介接,其中所述主機控制器經組態以經由所述命令匯流排將第一命令傳輸至所述非揮發性記憶卡,經由所述資料匯流排將對應於所述第一命令的第一資料傳輸至所述非揮發性記憶卡或經由所述一或多個資料匯流排自所 述非揮發性記憶卡接收所述第一資料,且在所述第一資料的傳送期間或之前經由所述命令匯流排將第二命令傳輸至所述非揮發性記憶卡,其中所述主機控制器經組態以使得在所述非揮發性記憶卡處於忙碌狀態中時傳輸所述第二命令,其中所述非揮發性記憶卡的所述忙碌狀態是由所述一或多個資料匯流排中的一者來指示。
- 如申請專利範圍第23項所述的主機,其中所述主機控制器包括:狀態控制單元,其經組態以操作用於管理所述命令匯流排的狀態的命令匯流排狀態機且獨立於所述命令匯流排狀態機而操作用於管理所述一或多個資料匯流排的狀態的資料匯流排狀態機,所述狀態控制單元經組態以使得所述一或多個資料匯流排的所述狀態包含閒置狀態、資料傳送狀態及接收回應或等待狀態,所述主機控制單元經組態以使得在所述一或多個資料匯流排的狀態為所述資料傳送狀態或所述接收回應或等待狀態時將所述第二命令傳輸至所述非揮發性記憶卡。
- 如申請專利範圍第24項所述的主機,其中所述第一命令是伴隨資料的命令且所述第二命令是不伴隨資料的命令。
- 如申請專利範圍第24項所述的主機,其中所述主機控制器更包括:計數器,其經組態以管理傳輸所述第二命令的次數。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120102484A KR101932920B1 (ko) | 2012-09-14 | 2012-09-14 | 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법 |
??10-2012-0102484 | 2012-09-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201418990A TW201418990A (zh) | 2014-05-16 |
TWI626544B true TWI626544B (zh) | 2018-06-11 |
Family
ID=49640124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102133275A TWI626544B (zh) | 2012-09-14 | 2013-09-13 | 用於控制非揮發性記憶卡的主機、以及操作主機及系統的方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US9389804B2 (zh) |
JP (1) | JP6341642B2 (zh) |
KR (1) | KR101932920B1 (zh) |
CN (1) | CN103678193B (zh) |
AU (1) | AU2013228071A1 (zh) |
DE (1) | DE102013110085B4 (zh) |
NL (1) | NL2011439B1 (zh) |
TW (1) | TWI626544B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9166918B1 (en) * | 2013-09-30 | 2015-10-20 | Juniper Networks, Inc. | Methods and apparatus for scheduling transmission of data in a network |
US8935465B1 (en) * | 2014-06-16 | 2015-01-13 | Sandisk Technologies Inc. | System and method of communicating command data in a master-slave environment |
US9367392B2 (en) | 2014-08-01 | 2016-06-14 | Winbond Electronics Corporation | NAND flash memory having internal ECC processing and method of operation thereof |
US9851902B2 (en) | 2014-10-09 | 2017-12-26 | Memobit Technologies Ab | Searching memory for a search key |
US10067688B2 (en) * | 2015-01-23 | 2018-09-04 | Qualcomm Incorporated | Storage resource management in virtualized environments |
US10127172B2 (en) * | 2015-06-22 | 2018-11-13 | Qualcomm Technologies International, Ltd. | Single SDIO interface with multiple SDIO units |
US9542269B1 (en) * | 2015-06-29 | 2017-01-10 | SK Hynix Inc. | Controller controlling semiconductor memory device and operating method thereof |
CN105046296B (zh) * | 2015-06-30 | 2018-06-22 | 上海玮舟微电子科技有限公司 | 安全数码卡的数据传输方法及装置 |
KR102615659B1 (ko) * | 2016-07-08 | 2023-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
KR102558947B1 (ko) * | 2016-08-25 | 2023-07-25 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
KR102618699B1 (ko) * | 2016-09-28 | 2024-01-02 | 삼성전자주식회사 | 호스트에 의해 제어되는 스토리지 장치를 포함하는 컴퓨팅 시스템 |
CN107885671B (zh) | 2016-09-30 | 2021-09-14 | 华为技术有限公司 | 一种非易失性内存的持久化方法和计算设备 |
CN108228405A (zh) * | 2016-12-15 | 2018-06-29 | 北京兆易创新科技股份有限公司 | 一种数据传输方法及装置 |
US11210019B2 (en) | 2017-08-23 | 2021-12-28 | Micron Technology, Inc. | Memory with virtual page size |
US10394456B2 (en) | 2017-08-23 | 2019-08-27 | Micron Technology, Inc. | On demand memory page size |
KR102430983B1 (ko) * | 2017-09-22 | 2022-08-09 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102536637B1 (ko) | 2018-03-29 | 2023-05-26 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR102686917B1 (ko) * | 2018-10-31 | 2024-07-19 | 삼성전자주식회사 | 스토리지 장치의 구동 방법, 이를 수행하는 스토리지 장치 및 이를 이용한 스토리지 시스템의 구동 방법 |
KR20210012439A (ko) * | 2019-07-25 | 2021-02-03 | 삼성전자주식회사 | 마스터 지능 소자 및 이의 제어 방법 |
US11397684B2 (en) * | 2019-11-13 | 2022-07-26 | Sandisk Technologies Llc | Command interface and pre-fetch architecture |
CN111176566B (zh) * | 2019-12-25 | 2023-09-19 | 山东方寸微电子科技有限公司 | 一种支持queue命令的eMMC读写控制方法及存储介质 |
EP3869315B1 (en) | 2020-02-20 | 2024-07-31 | Samsung Electronics Co., Ltd. | Storage device and storage system including the same |
WO2022133397A1 (en) * | 2020-12-14 | 2022-06-23 | Micron Technology, Inc. | Exclusion regions for host-side memory address translation |
US11734193B2 (en) | 2020-12-14 | 2023-08-22 | Micron Technology, Inc. | Exclusion regions for host-side memory address translation |
US11989458B2 (en) * | 2022-09-12 | 2024-05-21 | Western Digital Technologies, Inc. | Splitting sequential read commands |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1475922A (zh) * | 2002-07-30 | 2004-02-18 | 三星电子株式会社 | 使用源同步传递的异步存储器和采用它的系统 |
US20090094678A1 (en) * | 2007-10-05 | 2009-04-09 | Nokia Corporation | Mulimode device |
US7984214B2 (en) * | 2006-01-30 | 2011-07-19 | Thomson Licensing | Data bus interface with interruptible clock |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69133216T2 (de) * | 1990-11-09 | 2003-12-18 | Seagate Technology Llc, Scotts Valley | Festplattenantriebsteuerungsarchitektur mit mehreren Mikrokontrollern |
US5526484A (en) * | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
US6323867B1 (en) * | 1999-04-26 | 2001-11-27 | Mediaq Inc. | Parsing graphics data structure into command and data queues |
US7243185B2 (en) | 2004-04-05 | 2007-07-10 | Super Talent Electronics, Inc. | Flash memory system with a high-speed flash controller |
US6496192B1 (en) * | 1999-08-05 | 2002-12-17 | Matsushita Electric Industrial Co., Ltd. | Modular architecture for image transposition memory using synchronous DRAM |
JP2003233993A (ja) | 2002-02-08 | 2003-08-22 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置の書き換え方法 |
US6870774B2 (en) | 2002-12-10 | 2005-03-22 | Micron, Technology, Inc. | Flash memory architecture for optimizing performance of memory having multi-level memory cells |
JP4460867B2 (ja) * | 2003-09-26 | 2010-05-12 | 東芝ストレージデバイス株式会社 | インターフェース装置及びパケット転送方法 |
JP2006252079A (ja) | 2005-03-09 | 2006-09-21 | Kyodo Printing Co Ltd | 情報記録媒体、情報通信システム、情報通信方法及び情報通信プログラム |
JP2007058518A (ja) | 2005-08-24 | 2007-03-08 | Renesas Technology Corp | メモリカード |
JP5158740B2 (ja) | 2006-08-28 | 2013-03-06 | 株式会社メガチップス | メモリシステム |
WO2009039222A2 (en) | 2007-09-19 | 2009-03-26 | Marvell World Trade Ltd. | Flexible sequencer design architecture for solid state memory controller |
US8266371B2 (en) * | 2008-07-30 | 2012-09-11 | Panasonic Corporation | Non-volatile storage device, host device, non-volatile storage system, data recording method, and program |
US20100131701A1 (en) | 2008-11-25 | 2010-05-27 | Samsung Electronics Co., Ltd. | Nonvolatile memory device with preparation/stress sequence control |
JP5330409B2 (ja) * | 2008-11-28 | 2013-10-30 | パナソニック株式会社 | メモリ制御装置、データプロセッサ及びデータ読み出し方法 |
JP2012511789A (ja) | 2008-12-09 | 2012-05-24 | ラムバス・インコーポレーテッド | 並行且つパイプライン化されたメモリ動作用の不揮発性メモリデバイス |
US8386736B2 (en) * | 2008-12-18 | 2013-02-26 | Spansion Llc | Rapid memory buffer write storage system and method |
CN101515221A (zh) | 2009-03-17 | 2009-08-26 | 成都市华为赛门铁克科技有限公司 | 一种读数据的方法、装置和系统 |
US20100262979A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
KR20100115583A (ko) | 2009-04-20 | 2010-10-28 | 삼성전자주식회사 | 데이터 저장 시스템 |
US8321647B2 (en) | 2009-05-06 | 2012-11-27 | Apple Inc. | Multipage preparation commands for non-volatile memory systems |
JP2010287128A (ja) * | 2009-06-12 | 2010-12-24 | Toshiba Corp | コントローラ、記憶媒体、及び情報制御方法 |
US9003414B2 (en) * | 2010-10-08 | 2015-04-07 | Hitachi, Ltd. | Storage management computer and method for avoiding conflict by adjusting the task starting time and switching the order of task execution |
JP5296041B2 (ja) * | 2010-12-15 | 2013-09-25 | 株式会社東芝 | メモリシステムおよびメモリシステムの制御方法 |
JP5884276B2 (ja) | 2011-03-08 | 2016-03-15 | 富士ゼロックス株式会社 | 静電荷像現像用トナー、トナーカートリッジ、静電荷像現像剤、プロセスカートリッジ及び画像形成装置 |
US20130019053A1 (en) * | 2011-07-14 | 2013-01-17 | Vinay Ashok Somanache | Flash controller hardware architecture for flash devices |
-
2012
- 2012-09-14 KR KR1020120102484A patent/KR101932920B1/ko active IP Right Grant
-
2013
- 2013-09-12 US US14/025,334 patent/US9389804B2/en active Active
- 2013-09-13 AU AU2013228071A patent/AU2013228071A1/en not_active Abandoned
- 2013-09-13 DE DE102013110085.6A patent/DE102013110085B4/de active Active
- 2013-09-13 TW TW102133275A patent/TWI626544B/zh active
- 2013-09-13 NL NL2011439A patent/NL2011439B1/en active
- 2013-09-16 CN CN201310421932.9A patent/CN103678193B/zh active Active
- 2013-09-17 JP JP2013192280A patent/JP6341642B2/ja active Active
-
2016
- 2016-06-24 US US15/191,749 patent/US10108373B2/en active Active
-
2018
- 2018-09-17 US US16/133,111 patent/US20190018615A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1475922A (zh) * | 2002-07-30 | 2004-02-18 | 三星电子株式会社 | 使用源同步传递的异步存储器和采用它的系统 |
US7984214B2 (en) * | 2006-01-30 | 2011-07-19 | Thomson Licensing | Data bus interface with interruptible clock |
US20090094678A1 (en) * | 2007-10-05 | 2009-04-09 | Nokia Corporation | Mulimode device |
Also Published As
Publication number | Publication date |
---|---|
CN103678193A (zh) | 2014-03-26 |
NL2011439A (en) | 2014-03-18 |
KR101932920B1 (ko) | 2019-03-18 |
US20190018615A1 (en) | 2019-01-17 |
JP6341642B2 (ja) | 2018-06-13 |
NL2011439B1 (en) | 2016-02-10 |
AU2013228071A1 (en) | 2014-04-03 |
US20140082268A1 (en) | 2014-03-20 |
TW201418990A (zh) | 2014-05-16 |
US20160306594A1 (en) | 2016-10-20 |
US9389804B2 (en) | 2016-07-12 |
DE102013110085B4 (de) | 2023-12-21 |
DE102013110085A1 (de) | 2014-03-20 |
JP2014059876A (ja) | 2014-04-03 |
US10108373B2 (en) | 2018-10-23 |
CN103678193B (zh) | 2018-02-16 |
KR20140036094A (ko) | 2014-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI626544B (zh) | 用於控制非揮發性記憶卡的主機、以及操作主機及系統的方法 | |
JP6622446B2 (ja) | エンベデッドマルチメディアカード(eMMC)、それを制御するホスト、及びeMMCシステムの動作方法 | |
US11151027B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
US9563368B2 (en) | Embedded multimedia card and method of operating the same | |
CN107967221B (zh) | 具有非易失性存储器的计算系统及其操作方法 | |
KR101988260B1 (ko) | 임베디드 멀티미디어 카드, 및 이의 동작 방법 | |
US10649692B2 (en) | Storage device, system including the same and method of operating the same | |
TWI639086B (zh) | 具有可中斷指令序列的記憶體及其操作方法 | |
CN110069426B (zh) | 存储器控制器及具有存储器控制器的存储器系统 | |
TW201447897A (zh) | 自記憶體讀取資料同時將寫入資料傳送至該記憶體之系統及方法 | |
KR20190088734A (ko) | 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
WO2009115058A1 (zh) | 提供闪存存储功能的主板及其存储方法 | |
CN109542336B (zh) | 存储设备及其操作方法 | |
KR20220045342A (ko) | 호스트 장치, 데이터 저장 장치, 데이터 처리 시스템 및 데이터 처리 방법 | |
TW201604772A (zh) | 資料儲存裝置及操作該資料儲存裝置的方法 | |
CN116069691A (zh) | 存储器控制器和存储装置 |