TW201633136A - 回應讀取方法及資料傳輸系統 - Google Patents

回應讀取方法及資料傳輸系統 Download PDF

Info

Publication number
TW201633136A
TW201633136A TW104107591A TW104107591A TW201633136A TW 201633136 A TW201633136 A TW 201633136A TW 104107591 A TW104107591 A TW 104107591A TW 104107591 A TW104107591 A TW 104107591A TW 201633136 A TW201633136 A TW 201633136A
Authority
TW
Taiwan
Prior art keywords
data
identification message
response
preset
memory
Prior art date
Application number
TW104107591A
Other languages
English (en)
Other versions
TWI521345B (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 群聯電子股份有限公司
Priority to TW104107591A priority Critical patent/TWI521345B/zh
Priority to US14/706,998 priority patent/US9483195B2/en
Application granted granted Critical
Publication of TWI521345B publication Critical patent/TWI521345B/zh
Publication of TW201633136A publication Critical patent/TW201633136A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/177Smart card

Abstract

一種回應讀取方法及資料傳輸系統。此方法包括:由系統發送對應於第一暫時檔的第一操作指令至記憶體儲存裝置,其中第一操作指令指示智慧卡執行第一操作。此方法還包括:由系統執行第一虛設檔的第一寫入操作,此第一寫入操作用以更新快取記憶體中的第一資料。此方法更包括:由系統執行對應於第二暫時檔的回應讀取操作,其中所述回應讀取操作用以讀取智慧卡對應於所述第一操作指令的回應。

Description

回應讀取方法及資料傳輸系統
本發明是有關於一種回應讀取方法,且特別是有關於一種用於具有主機系統與包括可複寫式非揮發性記憶體模組與智慧卡之記憶體儲存裝置的資料傳輸系統的回應讀取方法。
隨著使用者逐漸接受使用電子錢包及預付儲值,使得智慧卡的使用日益普及。智慧卡(Smart Card)是具有例如微處理器、卡操作系統、安全模組及記憶體之組件的積體電路晶片(IC晶片),以允許持有者執行預定操作。智慧卡提供計算、加密、雙向通信及安全功能,使得這張卡片除了儲存資料的功能外還能達到對其所儲存的資料加以保護的功能。使用全球行動通信系統(GSM)機制之蜂巢式電話中所使用的用戶識別模組(Subscriber Identification Module,SIM)卡為智慧卡的其中一個應用範例。然而,智慧卡本身受限於儲存容量,因此近年來開始與大儲存容量的記憶卡作結合,以擴增智慧卡的儲存容量。
記憶卡是一種數據儲存設備,其一般是以NAND快閃記 憶體作為儲存媒體。NAND快閃記憶體具有可寫入、可抹除、以及斷電後仍可保存數據的優點,此外,隨著製造技術的改良,NAND快閃記憶體具有體積小、存取速度快、與耗電量低等優點。一般來說,若使用者要存取記憶卡內的資料必須透過讀卡機來存取,因此在將智慧卡結合至記憶卡的應用中,亦僅能透過讀卡機來以接觸式(contact)讀取記憶卡與智慧卡內的資料。然而,隨著近距離無線通訊(Near Field Communication,NFC)的發展,許多非接觸式(contactless)感應技術已廣泛應用於生活中,例如捷運票卡、門禁卡等。
然而,當主機系統在讀取某些屬於智慧卡的資料時,主 機系統可能無法直接讀取智慧卡回覆的資料,而是讀到主機系統之快取記憶體內的舊資料。基此,需要發展一套能夠在結合快閃記憶體與智慧卡的應用中無誤地傳遞智慧卡之回應訊息的系統和方法。
本發明提供一種回應讀取方法及資料傳輸系統,其可確保主機系統所接收到的回應資料之正確性。
本發明的一範例實施例提供一種回應讀取方法,其用於系統與記憶體儲存裝置之間的資料傳輸,其中所述系統具有快取記憶體,所述記憶體儲存裝置具有智慧卡與可複寫式非揮發性記 憶體模組,所述回應讀取方法包括:由所述系統發送對應於第一暫時檔的第一操作指令序列至所述記憶體儲存裝置,其中所述第一操作指令序列用以指示所述智慧卡執行第一操作;由所述系統執行對應於第一虛設檔的第一寫入操作,其中所述第一寫入操作用以更新所述快取記憶體中的第一資料;以及由所述系統執行對應於第二暫時檔的回應讀取操作,其中所述回應讀取操作用以讀取所述智慧卡對應於所述第一操作指令序列的回應。
在本發明的一範例實施例中,在所述系統執行對應於所述第二暫時檔的所述回應讀取操作的步驟之前,所述回應讀取方法更包括:由所述系統執行對應於所述第一虛設檔的第一讀取操作;由所述系統判斷所述第一讀取操作所獲得的第一讀取資料中的識別訊息是否與第一預設識別訊息一致;以及若所述第一讀取資料中的所述識別訊息與所述第一預設識別訊息不一致,由所述系統執行對應於第二虛設檔的第二寫入操作,其中所述第二寫入操作用以更新所述快取記憶體中的第二資料,其中所述第一虛設檔與所述第二虛設檔不同。
在本發明的一範例實施例中,由所述系統執行對應於所述第一虛設檔的所述第一寫入操作的步驟包括:由所述系統發送第一寫入指令序列至所述記憶體儲存裝置,其中所述第一寫入指令序列指示將第一預設資料寫入至對應於所述第一虛設檔的第一邏輯單元,其中所述第一預設資料包含與所述第一預設識別訊息一致的第一識別訊息;以及由所述系統發送第二寫入指令序列至 所述記憶體儲存裝置,其中所述第二寫入指令序列指示將第二預設資料寫入至所述第一邏輯單元,其中所述第二預設資料包含與所述第一預設識別訊息不一致的第二識別訊息,其中所述第二預設資料是用以取代暫存於所述快取記憶體中的所述第一預設資料。
在本發明的一範例實施例中,由所述系統執行對應於所述第一虛設檔的所述第一讀取操作的步驟包括:由所述系統發送第一讀取指令序列至所述記憶體儲存裝置,其中所述第一讀取指令序列用以讀取儲存於所述第一邏輯單元的所述第一預設資料。
在本發明的一範例實施例中,所述回應讀取方法更包括:由所述記憶體儲存裝置接收所述第一寫入指令序列並且將所述第一預設資料儲存至所述可複寫式非揮發性記憶體模組中;以及由所述記憶體儲存裝置接收所述第二寫入指令序列並且不將所述第二預設資料儲存至所述可複寫式非揮發性記憶體模組中。
在本發明的一範例實施例中,由所述系統執行對應於所述第二暫時檔的所述回應讀取操作的步驟是在所述系統判定所述第一讀取資料中的識別訊息與所述第一預設識別訊息一致之後執行。
在本發明的一範例實施例中,由所述系統執行對應於所述第二暫時檔的所述回應讀取操作的步驟包括:由所述系統判斷所述回應讀取操作所獲得的回應資料中的識別訊息是否與第二預設識別訊息一致,其中由所述系統執行對應於所述第一虛設檔的 所述第一寫入操作的步驟是在所述系統判斷所述回應資料中的所述識別訊息與所述第二預設識別訊息不一致之後執行。
在本發明的一範例實施例中,所述第一操作指令序列包括與所述第二預設識別訊息一致的第三識別訊息,所述回應讀取方法更包括:由所述記憶體儲存裝置接收所述第一操作指令序列並且記錄所述第一操作指令序列中的所述第三識別訊息;以及由所述記憶體儲存裝置將所述第三識別訊息加入至所述智慧卡對應於所述第一操作指令序列的所述回應中。
在本發明的一範例實施例中,由所述系統執行對應於所述第一虛設檔的所述第一寫入操作的步驟包括:由所述系統判斷所述第一虛設檔是否已存在;若所述第一虛設檔不存在,由所述系統建立所述第一虛設檔並且發送第三寫入指令序列至所述記憶體儲存裝置,其中所述第三寫入指令序列指示將第三預設資料寫入至對應於所述第一虛設檔的第一邏輯單元,其中所述第三寫入指令序列包含與第三預設識別訊息一致的第四識別訊息;以及若所述第一虛設檔已存在,由所述系統發送第四寫入指令序列至所述記憶體儲存裝置,其中所述第四寫入指令序列指示將第四預設資料寫入至所述第一邏輯單元,其中所述第四寫入指令序列包含與所述第三預設識別訊息不一致的第五識別訊息。
在本發明的一範例實施例中,所述回應讀取方法更包括:由所述記憶體儲存裝置接收所述第三寫入指令序列並且將所述第三預設資料儲存至所述可複寫式非揮發性記憶體模組中;以 及由所述記憶體儲存裝置接收所述第四寫入指令序列並且不將所述第四預設資料儲存至所述可複寫式非揮發性記憶體模組中。
本發明的另一範例實施例提供一種資料傳輸系統,其包 括系統與記憶體儲存裝置,所述系統包括快取記憶體,所述記憶體儲存裝置包括連接介面單元、記憶體控制電路單元、可複寫式非揮發性記憶體模組及智慧卡,所述連接介面單元用以耦接至所述系統,所述記憶體控制電路單元耦接至所述連接介面單元,所述可複寫式非揮發性記憶體模組與所述智慧卡分別耦接至所述記憶體控制電路單元,其中所述系統用以發送對應於第一暫時檔的第一操作指令序列至所述記憶體儲存裝置,其中所述第一操作指令序列用以指示所述智慧卡執行第一操作,其中所述系統更用以執行對應於第一虛設檔的第一寫入操作,其中所述第一寫入操作用以更新所述快取記憶體中的第一資料,其中所述系統更用以執行對應於第二暫時檔的回應讀取操作,其中所述回應讀取操作用以讀取所述智慧卡對應於所述第一操作指令序列的回應。
在本發明的一範例實施例中,在所述系統執行對應於所述第二暫時檔的所述回應讀取操作之前,所述系統更用以執行對應於所述第一虛設檔的第一讀取操作,所述系統更用以判斷所述第一讀取操作所獲得的第一讀取資料中的識別訊息是否與第一預設識別訊息一致,若所述第一讀取資料中的所述識別訊息與所述第一預設識別訊息不一致,所述系統更用以執行對應於第二虛設檔的第二寫入操作,其中所述第二寫入操作用以更新所述快取記 憶體中的第二資料,其中所述第一虛設檔與所述第二虛設檔不同。
在本發明的一範例實施例中,所述系統執行對應於所述第一虛設檔的所述第一寫入操作包括:發送第一寫入指令序列至所述記憶體儲存裝置,其中所述第一寫入指令序列指示將第一預設資料寫入至對應於所述第一虛設檔的第一邏輯單元,其中所述第一預設資料包含與所述第一預設識別訊息一致的第一識別訊息;以及發送第二寫入指令序列至所述記憶體儲存裝置,其中所述第二寫入指令序列指示將第二預設資料寫入至所述第一邏輯單元,其中所述第二預設資料包含與所述第一預設識別訊息不一致的第二識別訊息,其中所述第二預設資料是用以取代暫存於所述快取記憶體中的所述第一預設資料。
在本發明的一範例實施例中,所述系統執行對應於所述第一虛設檔的所述第一讀取操作包括:發送第一讀取指令序列至所述記憶體儲存裝置,其中所述第一讀取指令序列用以讀取儲存於所述第一邏輯單元的所述第一預設資料。
在本發明的一範例實施例中,所述記憶體控制電路單元用以接收所述第一寫入指令序列並且將所述第一預設資料儲存至所述可複寫式非揮發性記憶體模組中,所述記憶體控制電路單元更用以接收所述第二寫入指令序列並且不將所述第二預設資料儲存至所述可複寫式非揮發性記憶體模組中。
在本發明的一範例實施例中,所述系統是在判定所述第一讀取資料中的所述識別訊息與所述第一預設識別訊息一致之後 執行對應於所述第二暫時檔的所述回應讀取操作。
在本發明的一範例實施例中,所述系統執行對應於所述 第二暫時檔的所述回應讀取操作包括:判斷所述回應讀取操作所獲得的回應資料中的識別訊息是否與第二預設識別訊息一致,其中所述系統是在判斷所述回應資料中的所述識別訊息與所述第二預設識別訊息不一致之後執行對應於所述第一虛設檔的所述第一寫入操作。
在本發明的一範例實施例中,所述第一操作指令序列包 括與所述第二預設識別訊息一致的第三識別訊息,所述記憶體控制電路單元用以接收所述第一操作指令序列並且記錄所述第一操作指令序列中的所述第三識別訊息,所述記憶體控制電路單元更用以將所述第三識別訊息加入至所述智慧卡對應於所述第一操作指令序列的所述回應中。
在本發明的一範例實施例中,所述系統執行對應於所述 第一虛設檔的所述第一寫入操作包括:判斷所述第一虛設檔是否已存在;若所述第一虛設檔不存在,建立所述第一虛設檔並且發送第三寫入指令序列至所述記憶體儲存裝置,其中所述第三寫入指令序列指示將第三預設資料寫入至對應於所述第一虛設檔的第一邏輯單元,其中所述第三寫入指令序列包含與第三預設識別訊息一致的第四識別訊息;以及若所述第一虛設檔已存在,發送第四寫入指令序列至所述記憶體儲存裝置,其中所述第四寫入指令序列指示將第四預設資料寫入至所述第一邏輯單元,其中所述第 四寫入指令序列包含與所述第三預設識別訊息不一致的第五識別訊息。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以接收所述第三寫入指令序列並且將所述第三預設資料儲存至所述可複寫式非揮發性記憶體模組中,所述記憶體控制電路單元更用以接收所述第四寫入指令序列並且不將所述第四預設資料儲存至所述可複寫式非揮發性記憶體模組中。
基於上述,透過對使用不同邏輯單元的虛設檔執行寫入操作,本發明可加速排除掉快取記憶體中的舊資料。藉此,可增加主機系統從智慧卡讀取到「正確的」回應訊息之機率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
11‧‧‧主機系統
12‧‧‧電腦
122‧‧‧微處理器
124‧‧‧隨機存取記憶體(RAM)
13‧‧‧輸入/輸出裝置
126‧‧‧系統匯流排
128‧‧‧資料傳輸介面
21‧‧‧滑鼠
22‧‧‧鍵盤
23‧‧‧顯示器
24‧‧‧印表機
25‧‧‧隨身碟
26‧‧‧記憶卡
27‧‧‧固態硬碟
31‧‧‧數位相機
32‧‧‧SD卡
33‧‧‧MMC卡
34‧‧‧記憶棒
35‧‧‧CF卡
36‧‧‧嵌入式儲存裝置
10‧‧‧記憶體儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
408‧‧‧智慧卡
410(0)~410(F)‧‧‧實體抹除單元
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
508‧‧‧緩衝記憶體
510‧‧‧電源管理電路
512‧‧‧錯誤檢查與校正電路
610(0)~610(D)‧‧‧邏輯單元
710(0)~710(M)‧‧‧快取區
700‧‧‧資料傳輸系統
710‧‧‧快取記憶體
712‧‧‧處理器
714‧‧‧應用程式
810(0)~810(A)‧‧‧實體單元
D1、D2、D3‧‧‧資料
H1、H2、Token 0、Token 1‧‧‧識別訊息
S1001~S1003‧‧‧步驟
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
圖6是根據本發明的一範例實施例所繪示的管理實體單元的示意圖。
圖7是根據本發明的一範例實施例所繪示的資料傳輸系統的概要方塊圖。
圖8A至圖8I是根據本發明的第一範例實施例所繪示的更新快取與讀取回應的示意圖。
圖9A至圖9C是根據本發明的第二範例實施例所繪示的更新快取與讀取回應的示意圖。
圖10是根據本發明的一範例實施例所繪示的回應讀取方法的流程圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
請參照圖1,主機系統11一般包括電腦12與輸入/輸出 (input/output,I/O)裝置1106。電腦12包括微處理器122、隨機存取記憶體(random access memory,RAM)124、系統匯流排126與資料傳輸介面128。輸入/輸出裝置13包括如圖2的滑鼠21、鍵盤22、顯示器23與印表機24。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置13,輸入/輸出裝置13可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置10是透過資料傳輸介面128與主機系統11的其他元件電性連接。藉由微處理器122、隨機存取記憶體124與輸入/輸出裝置13的運作可將資料寫入至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。例如,記憶體儲存裝置10可以是如圖2所示的隨身碟25、記憶卡26或固態硬碟(Solid State Drive,SSD)27等的可複寫式非揮發性記憶體儲存裝置。
圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
一般而言,主機系統11為可實質地與記憶體儲存裝置10配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統11是以電腦系統來做說明,然而,在另一範例實施例中主機系統11可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為圖3中的數位相機(攝影機)31時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡32、MMC卡33、記憶棒(memory stick)34、CF卡35或嵌入式儲存裝置36(如圖3所示)。嵌入式儲存裝置36包括嵌入式多媒體卡 (Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接於主機系統的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404、可複寫式非揮發性記憶體模組406以及智慧卡408。
連接介面單元402是相容於安全數位(Secure Digital,SD)介面標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、序列先進附件(Serial Advanced Technology Attachment,SATA)標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。在本範例實施例中,連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406與智慧卡408中進行資料的寫入、讀取、抹除與合併等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元資料的快閃記憶體模組)、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
智慧卡408耦接至記憶體控制電路單元404並且用以執行計算、加密、雙向通信及安全認證等功能。在一範例實施例中,智慧卡408為相容於ISO 7816標準的接觸式智慧卡。然而,必須瞭解的是,本發明不限於此。例如,智慧卡408亦可是相容於ISO 14443、ISO 15408或其他安全智慧卡標準的接觸或非接觸式智慧卡。又例如,智慧卡408可為射頻識別(Radio Frequency Identification,RFID)晶片、無線傳輸晶片(如:藍芽晶片)或多媒體控制晶片(如:數位錄音晶片)等。此外,值得說明的是,記憶體控 制電路單元404與智慧卡408可各為一獨立晶片,亦可合併封裝為一單一晶片。在本範例實施例中,智慧卡408是用以儲存加/解密金鑰、帳號及/或密碼等與安全驗證有關的敏感資料。然而,在另一範例實施例中,智慧卡408亦可以用以儲存一般資料。
圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504與記憶體介面506。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路502的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體 (未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
主機介面504是耦接至記憶體管理電路502並且用以耦接至連接介面單元402,以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面504來傳送至記憶體管理電路502。在本範例實施例中,主機介面504是相容於SD標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、UHS-I介面標準、UHS-II介面標準、SATA標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406與智慧卡408。也就是說,欲寫入至可複寫式非揮發性記憶體模組406或智慧卡408的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406或智慧卡408所能接受的格式。例如,若記憶體管理電路502要存取可複寫式非揮發性記憶體模組406,記憶體介面506會傳送對應的指令序列。這些指令序列可包括一或多個訊號,或是在匯流 排上的資料。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體508、電源管理電路510與錯誤檢查與校正電路512。
緩衝記憶體508是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406或智慧卡408的資料。
電源管理電路510是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
錯誤檢查與校正電路512是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路512會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤檢查與校正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路512會依據此錯誤檢查與校正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。
圖6是根據本發明之範例實施例所繪示的管理實體抹除 單元的示意圖。
必須瞭解的是,在此描述實體抹除單元的運作時,以“選 擇”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,實體抹除單元在可複寫式非揮發性記憶體模組406中的實際位置並未更動,而是邏輯上對此些實體抹除單元進行操作。
請參照圖6,可複寫式非揮發性記憶體模組406具有實體 抹除單元410(0)~410(F)。實體抹除單元410(0)~410(F)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。
在本範例實施例中,實體程式化單元為程式化的最小單 元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面或是實體扇(sector)。若實體程式化單元為實體頁面,則每一個實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體扇,用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤更正碼)。在本範例實施例中,一個資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte,B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區 塊。
記憶體管理電路502會配置邏輯單元610(0)~610(D)以映 射至實體抹除單元410(0)~410(F)的至少一部份。例如,在本範例實施例中,主機系統11是透過邏輯區塊位址(logical block address,LBA)來存取儲存在實體抹除單元410(0)~410(F)中的資料,因此每一個邏輯單元610(0)~610(D)是指一個邏輯區塊位址。在本範例實施例中,一個邏輯區塊位址的大小等於一個邏輯扇的大小。例如,一個邏輯扇的大小為512位元組。然而,在另一範例實施例中,一個邏輯區塊位址的大小也可以是更大或更小,並且每一個邏輯單元610(0)~610(D)也可以是指一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續的邏輯區塊位址組成。每一個邏輯單元610(0)~610(D)是映射至一或多個實體單元。在本範例實施例中,一個實體單元是指一個實體扇。然而,在另一範例實施例中,一個實體單元也可以是一個實體位址、一個實體程式化單元、一個實體抹除單元或者是由多個連續的實體位址組成,本發明不加以限制。記憶體管理電路502會將邏輯單元與實體單元之間的映射關係記錄於一或多個邏輯-實體映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路502可根據此一或多個邏輯-實體映射表來執行對於記憶體儲存裝置10的資料存取。
圖7是根據本發明的一範例實施例所繪示的資料傳輸系統的概要方塊圖。
資料傳輸系統700包括記憶體儲存裝置10與主機系統11。主機系統11包括快取記憶體710與處理器712。
快取記憶體710用以暫存主機系統11最近曾使用過的資料。快取記憶體710例如是隨機存取記憶體。例如,當屬於某一個邏輯單元的資料被從記憶體儲存裝置10傳送到主機系統11時,此資料會被暫存在快取記憶體710。爾後,若主機系統11需要再次使用到屬於此邏輯單元的資料且此資料仍存在於快取記憶體710中,則此資料可以快速地被從快取記憶體710中讀取出來。藉此,主機系統11不需要花費額外的時間與系統資源從記憶體儲存裝置10中讀取相同的資料。
處理器712耦接至快取記憶體710。處理器712用以負責主機系統11的整體運作。處理器712例如是中央處理器(central processing unit,CPU)。處理器712運行有應用程式714。例如,應用程式714可以是即時通訊應用程式、簡訊應用程式、通話應用程式或安全驗證應用程式等各種類型的應用程式,且應用程式714的種類不限於上述。此外,主機系統11亦可以運行一或多個作業系統(operating system,OS)並且基於此作業系統來運行應用程式714。此作業系統例如是安卓(android)或其他類型/版本的作業系統。
在本範例實施例中,主機系統11(或應用程式714)可透過一或多個暫時檔來存取智慧卡408。此暫時檔可以是靜態或動態地被建立。例如,在主機系統11的檔案系統中,動態建立之暫時檔 (亦稱為動態暫時檔)的檔案位置及/或存取權限與一般作業系統自行建立的暫時檔(亦稱為靜態暫時檔)的檔案位置及/或存取權限不一定會相同。例如,動態暫時檔的檔案位置可能會是在屬於應用程式714的一個預設目錄/路徑下,而靜態暫時檔的檔案位置可能是位於根目錄或任意預設目錄下。一般來說,動態暫時檔與靜態暫時檔皆可供應用程式714存取。然而,在某些特定的作業系統(例如,Android 4.4.2)中,由於存取權限的設定,應用程式714僅可以動態建立暫時檔而無法直接存取預先建立的靜態暫時檔。每一個暫時檔會佔據N個邏輯單元,並且N為任意的正整數。每一個暫時檔的大小可以視實務上的需求調整。透過存取屬於某一個暫時檔的邏輯單元,主機系統11(或應用程式714)即可執行對於智慧卡408的資料存取操作。
主機系統11(或應用程式714)是透過特殊操作指令來操作智慧卡408。例如,此特殊操作指令包括符合ISO 7816標準的指令-應用程式協定資料單元(Command-Application Protocol Data Unit,C-APDU)。例如,當應用程式714欲操作智慧卡408時,主機系統11(或應用程式714)會產生一個特殊操作指令。此特殊操作指令會被暫存在快取記憶體710中並且被傳送給記憶體儲存裝置10。記憶體管理電路502會識別此特殊操作指令並且指示智慧卡408執行對應於此特殊操作指令的存取操作。在智慧卡408完成對應於此特殊操作指令的存取操作之後,智慧卡408會傳送對應於此特殊操作指令的一個回應給記憶體管理電路502。此回應是用以 告知主機系統11對應於此特殊操作指令的操作結果。例如,此回應包括符合ISO 7816標準的回應-應用程式協定資料單元(Response-Application Protocol Data Unit,R-APDU)。另一方面,在發出一個特殊操作指令之後,主機系統11(或應用程式714)會執行一回應讀取操作以嘗試讀取對應於此特殊操作指令的回應。
一般來說,在回應讀取操作中,應用程式714會指示主機系統11讀取某一回應。反應於應用程式714之指示,主機系統11會嘗試從快取記憶體710中讀取回應。若無法從快取記憶體710中讀取到回應,則主機系統11才會發送一個讀取指令至記憶體儲存裝置10以讀取來自智慧卡408的回應。例如,主機系統11可能會嘗試從快取記憶體710中讀取屬於某一個暫時檔的資料。若主機系統11無法從快取記憶體710中讀取到所需的資料,則主機系統11會發送一個讀取指令(亦稱為回應讀取指令)至記憶體儲存裝置10。此回應讀取指令例如指示讀取屬於某一個暫時檔之某一邏輯單元的資料。在接收到此回應讀取指令之後,記憶體管理電路502會識別此回應讀取指令並且根據此回應讀取指令將來自智慧卡408之回應傳送給主機系統11。當主機系統11接收到此回應時,此回應會被暫存在快取記憶體710中並且被傳送給應用程式714。然而,在回應讀取操作中,若主機系統11可以直接從快取記憶體710中讀取到屬於某一個暫時檔的資料(即,不發送回應讀取指令),則不管此資料是否是應用程式714「真正」要讀取的回應,主機系統11可能會視為已經讀取到智慧卡408根據前一次接 收到的特殊操作指令而產生的回應並且將此回應提供給應用程式714。應用程式714可以對回應進行驗證,從而得知所接收到的回應是否是正確的回應。若所接收到的回應不是正確的回應,則應用程式714可以再次指示主機系統11執行另一次的回應讀取操作。例如,在另一次的回應讀取操作中,主機系統11可能會讀取屬於下一個暫時檔的資料。若快取記憶體710儲存的「舊的」回應越多,則主機系統11直接讀取到快取記憶體710中的「舊的」回應的機率越大,從而可能導致主機系統11要重複執行多次的回應讀取操作才可以讀取到應用程式714「真正」要讀取的回應。在某些例子中,甚至有可能導致主機系統11完全無法讀取到應用程式714「真正」要讀取的回應。
一般來說,記錄在快取記憶體710中的資料是以資料所屬的邏輯單元為依據進行儲存。例如,快取記憶體710可被劃分為多個快取區。以圖8B為例,快取記憶體710可被劃分快取區710(0)~710(M)。每一個快取區的大小例如是等於一個邏輯單元的大小而可用以儲存屬於某一個邏輯單元的資料。此外,每一個快取區的大小也可以是更大或更小。在上述範例實施例中,假設當前快取記憶體710中記錄有應用程式714對於某一個邏輯單元的一個特殊操作指令(亦稱為「舊的」特殊操作指令)以及智慧卡407對應於此「舊的」特殊操作指令的一個回應(亦稱為「舊的」回應)。 若應用程式714又執行了對於智慧卡407的另一個存取操作,則此存取操作所對應的特殊操作指令(亦稱為「新的」特殊操作指令) 也會被暫存在快取記憶體710中。爾後,當應用程式714欲讀取對應於「新的」特殊操作指令之回應(亦稱為「新的」回應)時,此「舊的」回應可能會被從快取記憶體710中讀取出來並且傳送給應用程式714。換言之,基於一般快取記憶體710的快取機制,在應用程式714請求讀取對應於某一個「新的」特殊操作指令之「新的」回應時,若快取記憶體710中屬於某一個暫時檔之某一個邏輯單元之「舊的」回應尚未被清除或覆蓋,則應用程式714可能會讀取到此「舊的」回應。藉此,除了需要花費更多的讀取時間來讀取「新的」回應之外,也有可能因快取記憶體710儲存了太多「舊的」回應而導致無法讀取到「新的」回應。
在以下的範例實施例中,主機系統11(或應用程式714)會執行對於一或多個虛設檔(dummy file)的寫入操作來更新快取記憶體710中的資料以嘗試清空或覆蓋快取記憶體710中可能存在的「舊的」回應。每一個虛設檔會佔據P個邏輯單元,並且P可為任意的正整數。每一個虛設檔的大小可以視實務上的需求調整。特別是,在此提及的虛設檔並不等同於上述暫時檔。例如,透過執行對於虛設檔的寫入操作,主機系統11(或應用程式714)可以將資料寫入至屬於虛設檔的邏輯單元並且據以更新快取記憶體710中的資料。在本範例實施例中,用以寫入至虛設檔的資料是無效資料(或虛設資料)。然而,在另一範例實施例中,用以寫入至虛設檔的資料亦可以是有效資料(或實際資料)。此外,透過執行對於虛設檔的讀取操作,主機系統11(或應用程式714)則可以獲得 快取記憶體710的更新狀態。例如,根據快取記憶體710的更新狀態,主機系統11(或應用程式714)可以決定是否要繼續執行對於其他虛設檔的寫入操作。換言之,在本範例實施例中,虛設檔是配置為只用來更新快取記憶體710中的資料,而不具有其他功能。 然而,在另一範例實施例中,虛設檔亦可以是用以操作智慧卡408或存取可複寫式非揮發性記憶體模組406中的資料。值得一提的是,執行上述對於虛設檔的寫入操作的時間點可以是在發送某一個特殊操作指令之前、發送某一個特殊操作指令之後並且讀取對應於此特殊操作指令的回應之前或者任意時間點,本發明不加以限制。透過在讀取智慧卡408的回應之前先執行對於虛設檔的寫入操作,可以有效降低讀取到上述「舊的」回應之機率。
第一範例實施例
圖8A至圖81是根據本發明的第一範例實施例所繪示的更新快取與讀取回應的示意圖。
請參照圖8A,假設第一暫時檔是配置在邏輯單元610(0),第二暫時檔是配置在邏輯單元610(1),第三暫時檔是配置在邏輯單元610(2),第一虛設檔是配置在邏輯單元610(3),並且第二虛設檔是配置在邏輯單元610(4)。此對應關係可被以任意形式記錄於主機系統11所使用的檔案系統中。例如,此檔案系統可以是檔案配置表(File Allocation Table,FAT)、新技術檔案系統(New Technology File System,NTFS)、高效能檔案系統(High Performance File System,HPFS)或其他類型之管理檔案系統。每一個暫時檔或 虛設檔與邏輯單元的對應關係可以是在此暫時檔或虛設檔被建立時即時地配置或者在此暫時檔或虛設檔被建立之前就預先配置,本發明不加以限制。在使用者的操作過程中,檔案系統中的檔案可能會被刪除或搬移等,故每一個暫時檔或虛設檔與邏輯單元的對應關係也可能會被改變。更多或更少的暫時檔及/或虛設檔與邏輯單元的對應關係也可以被記錄於主機系統11所使用的檔案系統中。此外,雖然本範例實施例是假設一個暫時檔的大小等於一個邏輯單元的大小且一個虛設檔的大小等於一個邏輯單元的大小,然而,在另一範例實施例中,每一個暫時檔與每一個虛設檔的大小也可以是更大或更小。例如,在另一範例實施例中,邏輯單元610(0)~610(2)亦可以是屬於同一個暫時檔。值得一提的是,以下所提及之主機系統11(或應用程式714)執行對應於某一個檔案的讀取操作/寫入操作,指的是由主機系統11(或應用程式714)讀取對應於此檔案的邏輯單元所儲存的資料或者將資料寫入至此邏輯單元。
請參照圖8B,可複寫式非揮發性記憶體模組406包括實體單元810(0)~810(A)。每一個實體單元810(0)~810(A)例如是映射至邏輯單元610(0)~610(D)的其中之一。關於實體單元的大小等資訊已於前述說明,在此便不贅述。此外,假設快取區710(0)儲存有屬於邏輯單元610(1)的「舊的」回應之資料。此「舊的」回應例如是智慧卡408根據「舊的」特殊操作指令所產生並且主機系統11藉由讀取邏輯單元610(1)而從記憶體儲存裝置10接收的。
請參照圖8C,主機系統11發送對應於第一暫時檔的一操作指令序列(亦稱為第一操作指令序列)至記憶體儲存裝置10。 第一操作指令序列可包括一或多個程式碼或指令碼並且用以指示智慧卡408執行某一操作(亦稱為第一操作)。例如,第一操作指令序列可包含C-APDU並且用以指示將第一操作指令序列中的資料寫入至邏輯單元610(0)。此外,假設快取區710(1)是配置以暫存屬於邏輯單元610(0)的資料,則第一操作指令序列中的資料亦會被暫存於快取區710(1)。
在發送第一操作指令序列之後,主機系統11(或應用程式714)可以在任意的時間點執行對應於某一個暫時檔的回應讀取操作以讀取智慧卡408對應於第一操作指令的回應。然而,主機系統11(或應用程式714)可能會讀取到錯誤回應。以圖8C為例,若主機系統11(或應用程式714)執行對應於第二暫時檔的回應讀取操作,則主機系統11(或應用程式714)可能會讀取到仍然存在於快取記憶體710中屬於邏輯單元610(1)的「舊的」回應。因此,在本範例實施例中,在執行回應讀取操作之前,主機系統11(或應用程式714)會執行對應於一或多個虛設檔的寫入操作,以嘗試清除或覆蓋快取區710(0)中的「舊的」回應。
請參照圖8D,在發送第一操作指令之後,主機系統11(或應用程式714)會執行對應於第一虛設檔的第一寫入操作,此第一寫入操作用以更新快取記憶體710中的部份資料(亦稱第一資料)。例如,主機系統11會發送一個寫入指令序列(亦稱為第一寫 入指令序列)至記憶體儲存裝置10。此第一寫入指令序列指示將資料D1(亦稱為第一預設資料)儲存至對應於第一虛設檔的邏輯單元610(3)。特別是,資料D1包含識別訊息H1(亦稱為第一識別訊息),並且識別訊息H1與一個預設識別訊息(亦稱為第一預設識別訊息)一致。在本範例實施例中,識別訊息H1與第一預設識別訊息一致,指的是識別訊息H1的資料內容與第一預設識別訊息的資料內容相同。然而,在另一範例實施例中,識別訊息H1與第一預設識別訊息一致,也可以是指經過邏輯運算(例如,解碼或解密)的識別訊息H1的資料內容與第一預設識別訊息的資料內容相同,視實務上的需求而定。在接收到第一寫入指令序列之後,記憶體管理電路502會將資料D1儲存至可複寫式非揮發性記憶體模組406。例如,記憶體管理電路502會將資料D1寫入至邏輯單元610(3)所映射的實體單元810(3)。此外,對應於第一寫入指令序列,資料D1也會被暫存在快取記憶體710中用以暫存屬於邏輯單元610(3)之資料的快取區710(2)。
請參照圖8E,在發送上述第一寫入指令序列之後,主機系統11(或應用程式714)會發送另一個寫入指令序列(亦稱為第二寫入指令序列)至記憶體儲存裝置10。此第二寫入指令序列指示將資料D2(亦稱為第二預設資料)儲存至對應於第一虛設檔的邏輯單元610(3)。特別是,資料D2不包含上述識別訊息H1。例如,資料D2可以包含與識別訊息H1不同的識別訊息H2(亦稱為第二識別訊息)。識別訊息H2與上述第一預設識別訊息不一致。例如, 識別訊息H2的資料內容與第一預設識別訊息的資料內容不相同。或者,經過邏輯運算(例如,解碼或解密)的識別訊息H2的資料內容與第一預設識別訊息的資料內容不相同。值得一提的是,在接收到第二寫入指令序列之後,記憶體管理電路502不會將資料D2儲存至可複寫式非揮發性記憶體模組406。例如,記憶體管理電路502會忽略資料D2或者直接捨棄資料D2。此外,對應於第二寫入指令序列,資料D2會取代資料D1而被暫存在快取區710(2)。
在將第一虛設檔的資料從資料D1更新為資料D2之後, 主機系統11(或應用程式714)可以在任意時間點執行對應於第一虛設檔的讀取操作(亦稱為第一讀取操作)。根據第一讀取操作所獲得的資料(亦稱為第一讀取資料)中的識別訊息是否與上述第一預設識別訊息一致,主機系統11(或應用程式714)可以決定要繼續更新快取記憶體710中的資料或者直接執行回應讀取操作。
請參照圖8F,假設在發送上述第二寫入指令序列之後主 機系統11(或應用程式714)隨即執行對應於第一虛設檔的第一讀取操作,則主機系統11(或應用程式714)可能會直接從快取區710(2)中讀取到屬於邏輯單元610(3)的資料D2。此時,主機系統11(或應用程式714)會判斷資料D2中的識別訊息H2與上述第一預設識別訊息不一致並且據以接續執行對應於另一個虛設檔的寫入操作(亦稱為第二寫入操作)。
請參照圖8G,反應於上述第一讀取操作所獲得的第一讀 取資料中的識別訊息與上述第一預設識別訊息不一致,主機系統11(或應用程式714)會執行對應於第二虛設檔的第二寫入操作,以持續更新快取記憶體中710的其他資料(亦稱為第二資料)。例如,在第二寫入操作中,主機系統11會發送一寫入指令序列以指示將資料D3寫入至對應於第二虛設檔的邏輯單元610(4)。同時,資料D3也會被暫存在快取記憶體710中配置以儲存屬於邏輯單元610(4)之資料的快取區710(3)。
值得一提的是,由於第一虛設檔與第二虛設檔所配置的邏輯單元並不相同,故對應於第一虛設檔的第一寫入操作與對應於第二虛設檔的第二寫入操作會更新快取記憶體710中不同的快取區。主機系統11(或應用程式714)可以持續地執行對應於不同的虛設檔的寫入操作來更新快取記憶體710中屬於不同邏輯單元的資料。此外,主機系統11(或應用程式714)可以在任意的時間點執行如圖8F之範例實施例中對應於第一虛設檔的第一讀取操作以及判斷第一讀取資料中的識別訊息是否與第一預設識別訊息一致的操作來決定對於快取記憶體710的更新是否已足夠。換言之,在本範例實施例中,是假設快取記憶體710中資料的更新是符合先進先出(First In First Out,FIFO)規則。若第一讀取操作所獲得的資料是資料D1,表示在第一寫入操作之前所存入快取記憶體710的「舊的」資料應該都已被清除,故此時執行回應讀取操作應該是可以讀取到真正來自於智慧卡408的「新的」回應。若第一讀取操作所獲得的資料是資料D2,表示在第一寫入操作之前所存入快 取記憶體710的舊資料應該尚未被清除完畢,故執行回應讀取操作仍然有機會讀取到「舊的」回應。
請參照圖8H,假設在執行對於一或多個虛設檔的寫入操作之後,快取區710(0)~710(2)中的資料被屬於其他邏輯單元的資料覆蓋。爾後,若主機系統11(或應用程式714)執行如圖8F之範例實施例中對應於第一虛設檔的第一讀取操作,則由於快取記憶體710中已經不存在屬於邏輯單元610(3)的資料,故主機系統11會真正地發送一個讀取指令序列(亦稱為第一讀取指令序列)至記憶體儲存裝置10。第一讀取指令序列用以指示讀取儲存於邏輯單元610(3)的資料。根據第一讀取指令序列,記憶體儲存裝置10會將實體單元810(3)中的資料D1傳送給主機系統11。在判定資料D1中的識別訊息H1與上述第一預設識別訊息一致之後,主機系統11(或應用程式714)會開始讀取智慧卡408對應於上述第一操作指令的回應。
請參照圖8I,在判定所獲得的資料D1中的識別訊息H1與上述第一預設識別訊息一致之後,主機系統11(或應用程式714)會執行對應於某一個暫時檔的回應讀取操作。例如,主機系統11(或應用程式714)可執行對應於第二暫時檔的回應讀取操作。在此回應讀取操作中,由於快取記憶體710中已不存在屬於邏輯單元610(1)的資料(即,「舊的」回應),故主機系統11會真正地發送一個回應讀取指令序列至記憶體儲存裝置10。此回應讀取指令序列指示讀取屬於邏輯單元610(1)的資料。在接收到此回應讀取指 令序列之後,記憶體儲存裝置10會將智慧卡408對應於上述第一操作指令所產生的回應傳送給主機系統11。換言之,此時,主機系統11(或應用程式714)即可獲得智慧卡408之「新的」回應。
值得一提的是,在第一範例實施例中,主機系統11(或應用程式714)是將屬於同一個虛設檔(或邏輯單元)的不同資料分別儲存在快取記憶體710與記憶體儲存裝置10中。藉此,根據讀取此虛設檔(或邏輯單元)所獲得的資料是來自快取記憶體710或記憶體儲存裝置10,主機系統11(或應用程式714)可得知快取記憶體710的更新狀態並且據以決定是否可以執行回應讀取操作。然而,在另一範例實施例中,主機系統11(或應用程式714)並不是透過上述機制來決定執行回應讀取操作的時間點。例如,主機系統11(或應用程式714)亦可以透過在上述操作指令序列中加入另一識別訊息(亦稱為第三識別訊息)來作為判斷當前接收到的回應是「新的」回應或「舊的」回應之依據。
第二範例實施例
圖9A至圖9C是根據本發明的第二範例實施例所繪示的更新快取與讀取回應的示意圖。在本範例實施例中,同樣是參考圖8A中檔案與邏輯單元的對應關係來進行說明。
請參照圖9A,假設快取區710(0)儲存有屬於邏輯單元610(1)的「舊的」回應之資料。特別是,在本範例實施例中,此「舊的」回應會包含一個「舊的」識別訊息token 0。此「舊的」識別訊息token 0是用於一個「舊的」C-APDU中。
請參照圖9B,在發送對應於第一暫時檔的第一操作指令 序列之前,主機系統11(或應用程式714)會將一個「新的」識別訊息token 1加入至第一操作指令序列中。識別訊息token 1例如是被加入至第一操作指令序列的指令標頭中。「新的」識別訊息token 1與「舊的」識別訊息token 0不同。此外,此「新的」識別訊息token 1會與一個預設識別訊息(亦稱為第二預設識別訊息)一致。 爾後,主機系統11會發送此包含識別訊息token 1的第一操作指令序列至記憶體儲存裝置10。第一操作指令序列用以指示智慧卡408執行第一操作。例如,第一操作指令序列可包含C-APDU並且用以指示將第一操作指令序列中的資料寫入至邏輯單元610(0)。此外,假設快取區710(1)是配置以暫存屬於邏輯單元610(0)的資料,則第一操作指令序列中包含識別訊息token 1的資料亦會被暫存於快取區710(1)。
在本範例實施例中,當記憶體儲存裝置10接收到第一操作指令序列時,記憶體管理電路502會記錄下第一操作指令序列中的識別訊息token 1並且根據此第一操作指令序列指示智慧卡408執行對應的操作。在接收到智慧卡408對應於第一操作指令序列所產生的回應之後,記憶體管理電路502會將對應於第一操作指令序列的識別訊息token 1加入至此回應中並且等待主機系統11讀取此回應。
另一方面,在發送第一操作指令序列之後,主機系統11(或應用程式714)可以在任意時間點執行回應讀取操作以讀取智 慧卡408對應於第一操作指令序列的回應。然而,若快取記憶體710中仍然儲存有「舊的」回應,則此回應讀取操作可能會讀取到此「舊的」回應,造成回應讀取錯誤。例如,以圖9B為例,由於快取區710(0)仍然儲存有屬於邏輯單元610(1)的「舊的」回應,故主機系統11(或應用程式714)可能會藉由讀取對應於第二暫時檔的邏輯單元610(1)而讀取到快取區710(0)中的「舊的」回應。 因此,類似於上述第一範例實施例中,在執行回應讀取操作之前,主機系統11(或應用程式714)可以執行對應於一或多個虛設檔的寫入操作,以更新快取記憶體710中的資料。關於如何執行對應於虛設檔(例如,第一虛設檔及/或第二虛設檔)的寫入操作以更新快取記憶體710中的資料已於第一範例實施例中說明,故在此便不贅述。
在接收到回應讀取操作所獲得的回應資料之後,主機系統11(或應用程式714)會判斷此回應資料中的識別訊息是否與上述第二預設識別訊息一致。若此回應資料中的識別訊息與上述第二預設識別訊息一致,表示此回應是智慧卡408對應於上述第一操作指令序列所產生的「新的」回應。若此回應資料中的識別訊息與上述第二預設識別訊息不一致,則表示此回應是快取記憶體710中的「舊的」回應。例如,在圖9B的範例實施例中,由於快取區710(0)仍然儲存有屬於邏輯單元610(1)的「舊的」回應,故主機系統11(或應用程式714)可能會藉由讀取邏輯單元610(1)而讀取到快取區710(0)中包含識別訊息token 0的「舊的」回應。此時, 由於識別訊息token 0與上述第二預設識別訊息(即,token 1)不一致,故主機系統11(或應用程式714)會決定繼續執行對應於其他的虛設檔的寫入操作以持續更新快取記憶體710中的資料。換言之,更新快取記憶體710中的資料之目標是為了清除快取記憶體710中可能會造成往後讀取錯誤的資料(例如,快取區710(0)中的「舊的」回應)。
請參照圖9C,假設執行了對應於多個虛設檔的寫入操作 之後,快取區710(0)中的「舊的」回應之資料已被屬於其他邏輯單元的資料覆蓋。爾後,若主機系統11(或應用程式714)執行對應於第二暫時檔的回應讀取操作(即,讀取屬於邏輯單元610(1)的資料),則由於快取記憶體710中已經不存在屬於邏輯單元610(1)的資料,故主機系統11會發送一個回應讀取指令序列至記憶體儲存裝置10。根據此回應讀取指令序列,記憶體管理電路502會將包含識別訊息token 1的回應傳送給主機系統11。由於識別訊息token 1與上述第二預設識別訊息一致,故主機系統11(或應用程式714)會判定此包含識別訊息token 1的回應為智慧卡408對應於上述第一操作指令序列所產生的「新的」回應。
值得一提的是,本發明並不限制上述第一與第二範例實 施例中執行對應於某一個虛設檔的寫入操作的時間點。例如,在另一範例實施例中,對應於一或多個虛設檔的寫入操作亦可以是在發送對應於第一暫時檔的第一操作指令序列之前執行。例如,對應於一或多個虛設檔的寫入操作可以是反應於主機系統11(或 應用程式714)即將發送上述第一操作指令序列而執行。或者,在另一範例實施例中,對應於一或多個虛設檔的寫入操作亦可以是在某一筆來自智慧卡408的回應被主機系統11(或應用程式714)讀取之後執行。例如,反應於某一筆來自智慧卡408的回應被主機系統11(或應用程式714)讀取,對應於一或多個虛設檔的寫入操作就會自動被執行。此外,在其他的範例實施例中,對應於某一個虛設檔的寫入操作亦可以是在需要更新快取記憶體710中與智慧卡408有關的資料或任意資料時執行,而不限於上述。或者,在一範例實施例中,對應於某一個虛設檔的寫入操作亦可以是在主機系統11或記憶體儲存裝置10剛開機、關機前或閒置超過一段預設時間時執行等等。
在一範例實施例中,主機系統11(或應用程式714)還可以 將額外的識別訊息加入至指示將某一資料儲存至對應於某一個虛設檔的邏輯單元的寫入指令序列中。其中此額外的識別訊息是用以作為是否儲存此寫入指令序列中的資料的依據。例如,此額外的識別訊息可被加入至一個寫入指令序列的指令標頭中。當記憶體管理電路502接收到包含與一個預設識別訊息(亦稱為第三預設識別訊息)一致的額外的識別訊息(亦稱為第四識別訊息)的寫入指令序列時,記憶體管理電路502會將此寫入指令序列所指示需儲存的資料儲存至可複寫式非揮發性記憶體模組406中。反之,當記憶體管理電路502接收到指示將某一資料儲存至對應於某一個虛設檔的邏輯單元的寫入指令序列且此寫入指令序列不包含與上 述第三預設識別訊息一致的額外的識別訊息(例如,此寫入指令序列包含與上述第三預設識別訊息不一致的第五識別訊息)時,記憶體管理電路502不會將其中的資料儲存至可複寫式非揮發性記憶體模組406。例如,在圖8D的範例實施例中,與第三預設識別訊息一致的第四識別訊息可以被加入至第一寫入指令序列中,並且記憶體管理電路502可根據第一寫入指令序列中的識別訊息(即,第四識別訊息)與第三預設識別訊息一致而將資料D1儲存至可複寫式非揮發性記憶體模組406中。又例如,在圖8E的範例實施例中,與第三預設識別訊息不一致的第五識別訊息可以被加入至第二寫入指令序列中,並且記憶體管理電路502可根據第二寫入指令序列中的識別訊息(即,第五識別訊息)與第三預設識別訊息不一致而不將資料D2儲存至可複寫式非揮發性記憶體模組406中。此外,在圖8D與圖8E的另一範例實施例中,第四識別訊息亦可以是以包含於欲儲存之資料中的第一識別訊息來取代,並且第三預設識別訊息亦可以是以第一預設識別訊息來取代。例如,在圖8D的一範例實施例中,在接收到第一寫入指令序列之後,記憶體管理電路502可以根據資料D1中的識別訊息H1與第一預設識別訊息一致而決定將資料D1儲存至可複寫式非揮發性記憶體模組406中。例如,在圖8E的一範例實施例中,在接收到第二寫入指令序列之後,記憶體管理電路502可以根據資料D2中的識別訊息H2與第一預設識別訊息不一致而決定不將資料D2儲存至可複寫式非揮發性記憶體模組406中。
在另一範例實施例中,主機系統11(或應用程式714)可以根據某一個虛設檔是否存在來決定對應於此虛設檔的寫入操作是否要「真正的」將資料儲存至可複寫式非揮發性記憶體模組406中。在此提及的存在是指存在於主機系統11的檔案系統中。此外,若某一個虛設檔已存在,則可複寫式非揮發性記憶體模組406中通常已配置有映射至對應於此虛設檔之邏輯單元的至少一個實體單元。例如,在對應於某一個虛設檔的寫入操作中,主機系統11(或應用程式714)可以判斷此虛設檔是否已存在。若此虛設檔不存在,則主機系統11(或應用程式714)會建立此虛設檔(例如,建立於主機系統11的檔案系統中)並且將與第三預設識別訊息一致的第四識別訊息加入至欲發送的寫入指令序列(亦稱為第三寫入指令序列)中。此第三寫入指令序列指示將某一資料(亦稱為第三預設資料)寫入至對應於此虛設檔的邏輯單元。當記憶體管理電路502接收到此第三寫入指令序列時,反應於此第三寫入指令序列中的第四識別訊息與第三預設識別訊息一致,記憶體管理電路502會從可複寫式非揮發性記憶體模組406中選擇一個實體單元並且將第三預設資料儲存至此實體單元。反之,若此虛設檔已存在,則主機系統11(或應用程式714)會發送一個不包含與第三預設識別訊息一致的識別訊息的寫入指令序列(亦稱為第四寫入指令序列)至記憶體儲存裝置10。例如,此第四寫入指令序列包含上述第五識別訊息。當記憶體管理電路502接收到此第四寫入指令序列時,反應於此第四寫入指令序列中的第五識別訊息與第三預設識別訊 息不一致,故記憶體管理電路502不會將第四寫入指令序列所指示需儲存的資料(亦稱為第四預設資料)儲存至可複寫式非揮發性記憶體模組406中。在此提及的第三寫入指令序列或第四寫入指令序列可以應用於第一範例實施例與第二範例實施例中對應於任意虛設檔的寫入操作。此外,在另一範例實施例中,對應於虛設檔不存在而加入的第四識別訊息亦可以是以包含於欲儲存之資料中的第一識別訊息來取代,第三預設識別訊息亦可以是以第一預設識別訊息來取代。藉此,記憶體管理電路502可以根據欲儲存之資料中的識別訊息來決定是否儲存對應資料。關於記憶體管理電路502如何根據欲儲存之資料中識別訊息來決定是否儲存對應資料已於前述說明,在此便不贅述。
在一範例實施例中,主機系統11(或應用程式714)還可以 根據所使用的虛設檔的數目與每一個虛設檔大小來估測快取記憶體710的大小。例如,對應於N個虛設檔的寫入操作被執行,則主機系統11(或應用程式714)可估測此快取記憶體710的大小是小於或等於N個虛設檔的大小。藉此,在執行回應讀取操作之前,N個虛設檔可以被同步或連續地寫入資料,以加快更新快取記憶體710的速度。或者,在另一範例實施例中,在獲得快取記憶體710的大小之後,後續使用的虛設檔的大小也可以被決定或被改變。例如,若快取記憶體710的大小是小於或等於N個虛設檔的大小,則主機系統11(或應用程式714)亦可以直接選擇大小接近N個虛設檔之大小的某一個虛設檔來進行寫入操作,減少需要執行 的寫入操作的數目。此外,若主機系統11(或應用程式714)判斷所使用的虛設檔的大小可能太大,則虛設檔的大小也可以被適當地減少,以節省記憶體空間。
圖10是根據本發明的一範例實施例所繪示的回應讀取方法的流程圖。
請參照圖10,在步驟S1001中,由系統發送對應於第一暫時檔的第一操作指令至記憶體儲存裝置,其中第一操作指令用以指示智慧卡執行第一操作。在步驟S1002中,由系統執行對應於第一虛設檔的第一寫入操作,其中第一寫入操作用以更新快取記憶體中的第一資料。在步驟S1003中,由系統執行對應於第二暫時檔的回應讀取操作,其中回應讀取操作用以讀取智慧卡對應於第一操作指令的回應。
然而,圖10中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖10中各步驟可以實作為多個程式碼或是電路,本發明並不在此限。此外,圖10的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,透過對使用不同邏輯單元的虛設檔執行寫入操作,本發明可有效排除掉主機系統的快取記憶體中的舊資料。藉此,可增加主機系統從智慧卡讀取到「正確的」回應訊息之機率。
S1001~S1003‧‧‧步驟

Claims (20)

  1. 一種回應讀取方法,用於一系統與一記憶體儲存裝置之間的資料傳輸,其中該系統具有一快取記憶體,該記憶體儲存裝置具有一智慧卡與一可複寫式非揮發性記憶體模組,該回應讀取方法包括:由該系統發送對應於一第一暫時檔的一第一操作指令序列至該記憶體儲存裝置,其中該第一操作指令序列用以指示該智慧卡執行一第一操作;由該系統執行對應於一第一虛設檔的一第一寫入操作,其中該第一寫入操作用以更新該快取記憶體中的一第一資料;以及由該系統執行對應於一第二暫時檔的一回應讀取操作,其中該回應讀取操作用以讀取該智慧卡對應於該第一操作指令序列的一回應。
  2. 如申請專利範圍第1項所述之回應讀取方法,其中在該系統執行對應於該第二暫時檔的該回應讀取操作的步驟之前,該回應讀取方法更包括:由該系統執行對應於該第一虛設檔的一第一讀取操作;由該系統判斷該第一讀取操作所獲得的一第一讀取資料中的一識別訊息是否與一第一預設識別訊息一致;以及若該第一讀取資料中的該識別訊息與該第一預設識別訊息不一致,由該系統執行對應於一第二虛設檔的一第二寫入操作,其中該第二寫入操作用以更新該快取記憶體中的一第二資料,其中 該第一虛設檔與該第二虛設檔不同。
  3. 如申請專利範圍第2項所述之回應讀取方法,其中由該系統執行對應於該第一虛設檔的該第一寫入操作的步驟包括:由該系統發送一第一寫入指令序列至該記憶體儲存裝置,其中該第一寫入指令序列指示將一第一預設資料寫入至對應於該第一虛設檔的一第一邏輯單元,其中該第一預設資料包含與該第一預設識別訊息一致的一第一識別訊息;以及由該系統發送一第二寫入指令序列至該記憶體儲存裝置,其中該第二寫入指令序列指示將一第二預設資料寫入至該第一邏輯單元,其中該第二預設資料包含與該第一預設識別訊息不一致的一第二識別訊息,其中該第二預設資料是用以取代暫存於該快取記憶體中的該第一預設資料。
  4. 如申請專利範圍第3項所述之回應讀取方法,其中由該系統執行對應於該第一虛設檔的該第一讀取操作的步驟包括:由該系統發送一第一讀取指令序列至該記憶體儲存裝置,其中該第一讀取指令序列用以讀取儲存於該第一邏輯單元的該第一預設資料。
  5. 如申請專利範圍第3項所述之回應讀取方法,更包括:由該記憶體儲存裝置接收該第一寫入指令序列並且將該第一預設資料儲存至該可複寫式非揮發性記憶體模組中;以及由該記憶體儲存裝置接收該第二寫入指令序列並且不將該第二預設資料儲存至該可複寫式非揮發性記憶體模組中。
  6. 如申請專利範圍第2項所述之回應讀取方法,其中由該系統執行對應於該第二暫時檔的該回應讀取操作的步驟是在該系統判定該第一讀取資料中的該識別訊息與該第一預設識別訊息一致之後執行。
  7. 如申請專利範圍第1項所述之回應讀取方法,其中由該系統執行對應於該第二暫時檔的該回應讀取操作的步驟包括:由該系統判斷該回應讀取操作所獲得的一回應資料中的一識別訊息是否與一第二預設識別訊息一致,其中由該系統執行對應於該第一虛設檔的該第一寫入操作的步驟是在該系統判斷該回應資料中的該識別訊息與該第二預設識別訊息不一致之後執行。
  8. 如申請專利範圍第7項所述之回應讀取方法,其中該第一操作指令序列包括與該第二預設識別訊息一致的一第三識別訊息,該回應讀取方法更包括:由該記憶體儲存裝置接收該第一操作指令序列並且記錄該第一操作指令序列中的該第三識別訊息;以及由該記憶體儲存裝置將該第三識別訊息加入至該智慧卡對應於該第一操作指令序列的該回應中。
  9. 如申請專利範圍第1項所述之回應讀取方法,其中由該系統執行對應於該第一虛設檔的該第一寫入操作的步驟包括:由該系統判斷該第一虛設檔是否已存在;若該第一虛設檔不存在,由該系統建立該第一虛設檔並且發 送一第三寫入指令序列至該記憶體儲存裝置,其中該第三寫入指令序列指示將一第三預設資料寫入至對應於該第一虛設檔的一第一邏輯單元,其中該第三寫入指令序列包含與一第三預設識別訊息一致的一第四識別訊息;以及若該第一虛設檔已存在,由該系統發送一第四寫入指令序列至該記憶體儲存裝置,其中該第四寫入指令序列指示將一第四預設資料寫入至該第一邏輯單元,其中該第四寫入指令序列包含與該第三預設識別訊息不一致的一第五識別訊息。
  10. 如申請專利範圍第9項所述之回應讀取方法,更包括:由該記憶體儲存裝置接收該第三寫入指令序列並且將該第三預設資料儲存至該可複寫式非揮發性記憶體模組中;以及由該記憶體儲存裝置接收該第四寫入指令序列並且不將該第四預設資料儲存至該可複寫式非揮發性記憶體模組中。
  11. 一種資料傳輸系統,包括:一系統與一記憶體儲存裝置,其中該系統包括一快取記憶體,其中該記憶體儲存裝置包括一連接介面單元、一記憶體控制電路單元、一可複寫式非揮發性記憶體模組及一智慧卡,該連接介面單元用以耦接至該系統,該記憶體控制電路單元耦接至該連接介面單元,該可複寫式非揮發性記憶體模組與該智慧卡分別耦接至該記憶體控制電路單元,其中該系統用以發送對應於一第一暫時檔的一第一操作指令 序列至該記憶體儲存裝置,其中該第一操作指令序列用以指示該智慧卡執行一第一操作,其中該系統更用以執行對應於一第一虛設檔的一第一寫入操作,其中該第一寫入操作用以更新該快取記憶體中的一第一資料,其中該系統更用以執行對應於一第二暫時檔的一回應讀取操作,其中該回應讀取操作用以讀取該智慧卡對應於該第一操作指令序列的一回應。
  12. 如申請專利範圍第11項所述之資料傳輸系統,其中在該系統執行對應於該第二暫時檔的該回應讀取操作之前,該系統更用以執行對應於該第一虛設檔的一第一讀取操作,其中該系統更用以判斷該第一讀取操作所獲得的一第一讀取資料中的一識別訊息是否與一第一預設識別訊息一致,其中若該第一讀取資料中的該識別訊息與該第一預設識別訊息不一致,該系統更用以執行對應於一第二虛設檔的一第二寫入操作,其中該第二寫入操作用以更新該快取記憶體中的一第二資料,其中該第一虛設檔與該第二虛設檔不同。
  13. 如申請專利範圍第12項所述之資料傳輸系統,其中該系統執行對應於該第一虛設檔的該第一寫入操作包括:發送一第一寫入指令序列至該記憶體儲存裝置,其中該第一寫入指令序列指示將一第一預設資料寫入至對應於該第一虛設檔的一第一邏輯單元,其中該第一預設資料包含與該第一預設識別訊息一致的一第一識別訊息;以及 發送一第二寫入指令序列至該記憶體儲存裝置,其中該第二寫入指令序列指示將一第二預設資料寫入至該第一邏輯單元,其中該第二預設資料包含與該第一預設識別訊息不一致的一第二識別訊息,其中該第二預設資料是用以取代暫存於該快取記憶體中的該第一預設資料。
  14. 如申請專利範圍第13項所述之資料傳輸系統,其中該系統執行對應於該第一虛設檔的該第一讀取操作包括:發送一第一讀取指令序列至該記憶體儲存裝置,其中該第一讀取指令序列用以讀取儲存於該第一邏輯單元的該第一預設資料。
  15. 如申請專利範圍第13項所述之資料傳輸系統,其中該記憶體控制電路單元用以接收該第一寫入指令序列並且將該第一預設資料儲存至該可複寫式非揮發性記憶體模組中,其中該記憶體控制電路單元更用以接收該第二寫入指令序列並且不將該第二預設資料儲存至該可複寫式非揮發性記憶體模組中。
  16. 如申請專利範圍第12項所述之資料傳輸系統,其中該系統是在判定該第一讀取資料中的該識別訊息與該第一預設識別訊息一致之後執行對應於該第二暫時檔的該回應讀取操作。
  17. 如申請專利範圍第11項所述之資料傳輸系統,其中該系統執行對應於該第二暫時檔的該回應讀取操作包括:判斷該回應讀取操作所獲得的一回應資料中的一識別訊息是 否與一第二預設識別訊息一致,其中該系統是在判斷該回應資料中的該識別訊息與該第二預設識別訊息不一致之後執行對應於該第一虛設檔的該第一寫入操作。
  18. 如申請專利範圍第17項所述之資料傳輸系統,其中該第一操作指令序列包括與該第二預設識別訊息一致的一第三識別訊息,其中該記憶體控制電路單元用以接收該第一操作指令序列並且記錄該第一操作指令序列中的該第三識別訊息,其中該記憶體控制電路單元更用以將該第三識別訊息加入至該智慧卡對應於該第一操作指令序列的該回應中。
  19. 如申請專利範圍第11項所述之資料傳輸系統,其中該系統執行對應於該第一虛設檔的該第一寫入操作包括:判斷該第一虛設檔是否已存在;若該第一虛設檔不存在,建立該第一虛設檔並且發送一第三寫入指令序列至該記憶體儲存裝置,其中該第三寫入指令序列指示將一第三預設資料寫入至對應於該第一虛設檔的一第一邏輯單元,其中該第三寫入指令序列包含與一第三預設識別訊息一致的一第四識別訊息;以及若該第一虛設檔已存在,發送一第四寫入指令序列至該記憶體儲存裝置,其中該第四寫入指令序列指示將一第四預設資料寫入至該第一邏輯單元,其中該第四寫入指令序列包含與該第三預 設識別訊息不一致的一第五識別訊息。
  20. 如申請專利範圍第19項所述之資料傳輸系統,其中該記憶體控制電路單元更用以接收該第三寫入指令序列並且將該第三預設資料儲存至該可複寫式非揮發性記憶體模組中,其中該記憶體控制電路單元更用以接收該第四寫入指令序列並且不將該第四預設資料儲存至該可複寫式非揮發性記憶體模組中。
TW104107591A 2015-03-10 2015-03-10 回應讀取方法及資料傳輸系統 TWI521345B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104107591A TWI521345B (zh) 2015-03-10 2015-03-10 回應讀取方法及資料傳輸系統
US14/706,998 US9483195B2 (en) 2015-03-10 2015-05-08 Response reading method and data transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104107591A TWI521345B (zh) 2015-03-10 2015-03-10 回應讀取方法及資料傳輸系統

Publications (2)

Publication Number Publication Date
TWI521345B TWI521345B (zh) 2016-02-11
TW201633136A true TW201633136A (zh) 2016-09-16

Family

ID=55810342

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104107591A TWI521345B (zh) 2015-03-10 2015-03-10 回應讀取方法及資料傳輸系統

Country Status (2)

Country Link
US (1) US9483195B2 (zh)
TW (1) TWI521345B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI616807B (zh) * 2016-11-17 2018-03-01 英屬維京群島商大心電子(英屬維京群島)股份有限公司 資料寫入方法以及儲存控制器
TWI797464B (zh) * 2020-07-28 2023-04-01 群聯電子股份有限公司 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108108118B (zh) * 2016-11-24 2021-02-26 深圳大心电子科技有限公司 数据写入方法以及存储控制器
CN111880749B (zh) * 2020-08-04 2023-06-13 群联电子股份有限公司 数据读取方法、存储器存储装置及存储器控制电路单元

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI363966B (en) * 2008-01-23 2012-05-11 Phison Electronics Corp Method, system and controller for transmitting and dispatching data stream
TWI397821B (zh) * 2009-01-19 2013-06-01 Phison Electronics Corp 資料串傳送方法、系統及其控制器
CN102073634B (zh) * 2009-11-20 2013-10-23 中国银联股份有限公司 一种智能卡文件系统及其文件选择方法
US9921966B2 (en) * 2014-05-09 2018-03-20 Intel Corporation Employing prefetch to reduce write overhead

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI616807B (zh) * 2016-11-17 2018-03-01 英屬維京群島商大心電子(英屬維京群島)股份有限公司 資料寫入方法以及儲存控制器
US9990152B1 (en) 2016-11-17 2018-06-05 EpoStar Electronics Corp. Data writing method and storage controller
TWI797464B (zh) * 2020-07-28 2023-04-01 群聯電子股份有限公司 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元

Also Published As

Publication number Publication date
US20160266822A1 (en) 2016-09-15
TWI521345B (zh) 2016-02-11
US9483195B2 (en) 2016-11-01

Similar Documents

Publication Publication Date Title
US9043549B2 (en) Memory storage apparatus, memory controller, and method for transmitting and identifying data stream
US8296466B2 (en) System, controller, and method thereof for transmitting data stream
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
TWI592799B (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
TWI454912B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
TWI459202B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
US8812756B2 (en) Method of dispatching and transmitting data streams, memory controller and storage apparatus
TWI521345B (zh) 回應讀取方法及資料傳輸系統
TWI489272B (zh) 保護資料的方法、記憶體控制器與記憶體儲存裝置
TWI591640B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI545581B (zh) 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元
CN112925481A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN111078146B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
TWI797464B (zh) 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元
TWI733375B (zh) 資料轉移方法與記憶體儲存裝置
TWI546667B (zh) 智慧卡管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI711048B (zh) 快閃記憶體之資料整理方法、控制電路單元與儲存裝置
TWI697778B (zh) 資料儲存裝置與資料處理方法
CN113448488B (zh) 数据转移方法与存储器存储装置
US8544424B2 (en) System, controller and method thereof for transmitting and distributing data stream
TWI777519B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US10324894B2 (en) Storage device management method and system, and memory storage device thereof
CN114708898A (zh) 表格管理方法、存储器存储装置及存储器控制电路单元
CN113360429A (zh) 数据重建方法、存储器存储装置及存储器控制电路单元