TW201033807A - Data processing system, controller, and method thereof for searching specific memory area - Google Patents
Data processing system, controller, and method thereof for searching specific memory area Download PDFInfo
- Publication number
- TW201033807A TW201033807A TW098107686A TW98107686A TW201033807A TW 201033807 A TW201033807 A TW 201033807A TW 098107686 A TW098107686 A TW 098107686A TW 98107686 A TW98107686 A TW 98107686A TW 201033807 A TW201033807 A TW 201033807A
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- read
- logical
- executed
- round
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
201033807 -------^-003 8 29959twf.doc/n 六、發明說明: 【發明所屬之技術領域】 的方法 本發明是有關於一種搜尋記憶體區的方法,且特別是 有關於一種資料處理系統、控制器及其搜尋特定記憶體區 【先前技術】 ❿ ❹ 數位相機、行動電話與MP3播放器在這幾年來的 十分迅速’使制費者對儲存舰的需求也急速増加 於快閃S己憶體(Flash Memory)具有資料非揮發性、省電、 體積小,以及無機械結構等特性,所以非常適合内 ^ 述所舉例的各種可攜式多媒體裝置中。 、 另-方面’隨著使用者逐漸接受使用電子錢包及 卡的使用曰益普及。智慧卡(Smart㈤) 疋具有例如微處理器、卡操作系統、安全模組 ) 組件的積體電路晶片(IC晶片),以允 操作。智針提供計算、加密、雙㈣錢安 得這張卡片除了儲存資料的功能㈣能達騎^儲 功能。使用全球行動通信系統(g二 =之蜂巢式電話巾所使㈣肖戶朗触(s = 例。然而,智慧卡本身受限於儲;^的因用範 曰 〇 ^ 、 ,以二增智慧卡的儲存‘ 8-0038 29959twf.d〇c/〇 201033807 在習知技術卜結合快閃記憶體與智慧卡的應用是透 過特殊命令來區別傳送給智慧卡或快閃記憶體的資料,此 特殊命令可能會造錢轉程社法支援的問 題。此外,在習知技術令是比對此特殊命令中關於所傳送 ㈣串的㈣資訊㈣斷此資料串是否為智慧卡的命令格 式二然而,此方法往往會造成一般檔案資料與層於智慧卡 碰㈣問題(即將一般播案資料誤判為智慧卡 的貧科串)。 ^外,在-祕有錄記麵(Caehe) 應用中,因這些電子產品本身的限制,智電 之間資料串的傳遞並無法繞過快取記憶體,^使得智慧卡 ^產生的回應訊息並無法被無誤地至子 在這類具有快取記憶體之== 系i並不牛支r·Java系統的行動電話中,因Java 接地對非揮;广 統的行動電話中。嗜東办I 式應用在讀Java系 (如]-系统的行動電与)一種電子產品 記憶卡12具有快閃々並具有快取記憶體Η,而 與記憶卡體16和智慧卡晶片18。主控單元 14。然而’因為料傳遞路徑都會經過快取記憶體 記_-=::暫故存== 201033807 ---8-003 8 29959twf.doc/n ;:慧=18獲得資料時’若快取記憶體14内已經存有 ^ = Ϊ資料時’則快取記憶體14就會將相符的 貧,傳运至主控早元10。然而,在這樣的架構下智藝卡 晶片18的回應訊息往往會被快取記憶體14已有的資料: 取代’而使得智針“ 18的加鼓安匈㈣魏 =費=門習知在快取記憶體中搜尋非快取記憶體區所 而化f的_過長,而使得整體的效率難以突破和提升。 區的中搜尋非快取記憶體 能快速地從具有晶“周邊=;==存【 趙之快取記憶體的邏輯區塊,進而提高系統的整 【發明内容】 搜尋ΐίΓΓ供—觀尋非快取記龍區的枝,以縮短 搜尋到非快取魏體區所需的時間。 財ί發Γ提出—種搜尋特定記憶的方法,用以從一 其資料未?餘存至-主控單元之快取記憶 括:/\^所述域單元輕接該周邊單元。此方法包 單元二H控單元設定—指標’以將該指標對應到該周邊 指令輯區塊當中的—邏輯區塊;⑼執行一讀取 讀取資d令被設定紐該指標所賴崎輯區塊中 S二主控單元接收一回傳資料串,該咖 應執_讀取指令而產生;⑷該主控單元從該回 5 2〇l〇338_0_7_29959_n 傳貧料串中擁取出一寫入符記;(e)該主控單 出=該寫人符記與該主控單柄儲存是 具有:對應關係;以及_若所擷取出的該=== 主控單7C所儲存的該寫人符記之間無 ^ :舌= 設定該指標,並重複執行步驟(b)、^、^^ ’、' 重複執行的步驟⑻中所擷取出的另2寫入符(;)在= 為與該主控單 ❹ 所為止,其令被重新設定後的該指標 塊與該指標最近-次被重新設定前所_ 區塊‘塊之間相隔該複數個邏輯區塊中的至少一個邏輯 周邊ίί明ίί:種f控單元。所述的主控單元耦接至-快取記情體==記憶體以及一資料處理模組。該 邊單元暫射料’而該資料處理模組用以從該周 塊。其絲記鍾的邏輯區 一讀取指令而^ 傳資串’該回傳資料串是因執行 應的邏輯區塊取齡被設定域該指標所對 串中料。該處理模組從該回傳資料 該主控單元所出的該寫入符記與 而倘若所擷取出的:! 之間疋否具有一對應關係’ 入符記之間無該符記與該主控單元所儲存的該寫 、士應關係,則重新設定該指標,直到該資 201033807 …一 —8-0038 29959twf d〇c/n 料處理模組從後續所接收到的回傳資料串中擷取出與該主 控單元所儲存的該寫入符記之間具有該對應關係的寫入符 記為止。該資料處理模組後續所接收到的每一回傳資料串 係因執行後續的讀取指令而產生,而每〆後續的讀取指令 棱設定為從重新設定後的該指標所對應的邏輯區塊中讀取 資料。被重斬設定後的該指標所對應的邊輯區塊與該指標 最近
次破重新設定前所對應的邏輯區塊之间相隔該複數 個邏輯區塊中的至少一個邏輯區塊。 本發明提出一種資料處理系統。所述的資料處理系統 包括一周邊單元以及一主控單元。所述的主控單元耦接該 周邊單元並包括一快取記憶體和一資料處理模組。該快取 記憶體用以暫存資料,而該資料處理模組用以從該周邊單 元中搜尋其資料未被儲存至該快取記憶體的邏輯區塊。其 中該資料處理模組設定一指標,以將該指標對應到該周邊 單兀的複數個邏輯區塊當中的一邏輯區塊。之後該資料處 ^模組接收一回傳資料串,該回傳資料串是因執行一讀取 ^令而產生,而該讀取指令被設定為從該指標所對應的 輯區塊中讀取資料。該雜處賴組從該讀資料串令掏 取出-寫人符記’並所娜出職寫人符記與該 的寫人符記之間是否具有—對應關係’、而^ 所彌取出_以符記触錄單摘轉的該寫 之間無該對顧係’财新設定該指標,^ 模組從後續所接收到的回傳資料串中擷取出盥;主押2理 所儲存的該寫入符記之間具有該對應關係的寫心記: 7 s-0038 29959twf.doc/n 201033807 止。該資料處理模組後續所接收到的每一回傳資料串係因 執行後續的讀取指令而產生,而每—後續的讀取指令被設 定為從重新設定後的該指標所對應的邏輯區塊中讀取資 料。被重新設定後的該指標所對應的邏輯區塊與該指標最 近二次被重新設定前所對應的邏輯區塊之間相隔“‘個 邏輯區塊中的至少一個邏輯區塊。 ^在本發明之一實施例中,上述步驟(d)另包括從該回傳 _ 資料串中擷取出一讀取符記,而該方法另包括:(g)該主控 單元判斷所擷取出的該讀取符記是否與該主控單元前一= 所擷取出的一讀取符記相差一預設值;以及(h)倘若所操取 ㈣該讀轉記與該主控單元前一次峨取出的讀取符記 不相差該預設值,則重新設定該指標,並重複執行步驟 (b)、(c)、(d)、(e)、(f)和(g),直到在重複執行的步驟⑷中 所擷取出的讀取符記在重複執行的步驟(g)㈣斷為與該 主控單元前一次所擷取出的讀取符記相差該預設值為止。 夕在本發明之一實施例中,所有被執行的讀取指令係在 j回合内被執行,而該多個回合係依據該指標被重新設 疋岫後所對應的兩邏輯區塊的位址之間的變異量為正值或 負值來區分。 匕在本發明之一實施例中,每一回合内所執行的多個讀 =指令中’任兩個接續地被執行的讀取指令所對應的兩邏 輯區塊之間的間距為一定值。 人在,發明之一實施例中,上述多個回合包括一第一回 口和一第一回合,而在該第二回合内被執行的讀取指令所 8 .J-0038 29959twf.doc/n 201033807 對應的多個邏輯區塊之位i止是藉由將該第一回合内被執行 的讀取指令所對應的多個邏輯區塊之位址皆偏移一預設邏 輯區塊數後獲得。 在本發明之一實施例中,於每一個回合内被執行的多 個漬取指令其所對應的邏輯區塊中,除該回合内之第一個 和最後個被執行的讀取指令所對應的兩邏輯區塊之外, 對在該回合内任一個被執行的讀取指令所對應的邏輯區塊 而言,該邏輯區塊與前一個被執行的讀取指令所對應的邏 輯區塊之間相隔的邏輯區塊之數目小於該邏輯區塊與下一 個被執行的讀取指令所對應的邏輯區塊之間相隔的邏輯區 塊之數目。 在本發明之一實施例中,上述多個回合包括一第一回 合和一第二回合’而在該第二回合内第一個被執行的讀取 指令所對應的邏輯區塊之位址是藉由將該第一回合内第一 個被執行的讀取指令所對應的邏輯區塊之位址偏移一預設 邏輯區塊數後獲得。 在本發明之一實施例中,在第一回合内,除第一個被 執行的讀取指令所對應的邏輯區塊之外,該第一回合内的 每一個被執行的讀取指令所對應的邏輯區塊與前一個被執 行的讀取指令所對應的邏輯區塊之間所相隔的邏輯區塊之 數目是依據該複數個邏輯區塊的總數以及前一個被執行的 讀取指令所對應的該邏輯區塊位於該複數個邏輯區塊中的 位置而決定。 在本發明之一實施例中,在該多個回合的第一回合内 9 201033807 Α — -^«3-0038 29959twf.doc/n 所執行的單一個讀取指令係設定為讀取該複數個邏輯區塊 當中第一個邏輯區塊與最後一個邏輯區塊之間的一第一區 塊,而預計在該多個回合的第二回合内執行的兩個讀取指 令係分別被設定為讀取該複數個邏輯區塊當中第一個邏輯 區塊與該第一區塊之間的一第一區塊,以及最後一個邏輯 區塊與該第一區塊之間的一第三區塊。
在本發明之一實施例中,預計在該多個回合的第二回 合内執行的四個讀取指令係分別被設定為讀取該複數個邏 輯區塊當中第一個邏輯區塊與該第二區塊之間的一第四區 塊、該第二區塊與該第一區塊之間的一第五區塊、該第— 區塊與該第三區塊之間的一第六區塊,以及該第三區塊與 最後一個邏輯區塊之間的一第七區塊。 /、 在本發明之一實施例中,每一回合内所執行的多個讀 =指令中,任兩個接續地被執行的讀取指令所對應的兩^ 輯區塊之間的間距是變動的間距。 在本發明之一實施例中,在每一次重 新設定該指標 時’係將-卩恤累加至該指標,以重新設定該,= ί該間距後超出該複數個邏輯“ 數個邏輯指標等於累加後的該指標減物 實施例中’所述的間距為變動的間距。 重弃實施例中’所述關距會隨著該指標被 :本二t财,依序地遞增至一最大間距為止: 之一實施例中,上述主控單元與該周邊單元 201033807 * — w “…8-0038 29959twf.doc/n 之間所有指令與資料的傳遞皆會通過該快取記憶體。 本發明提出一種搜尋特定記憶體區的方法,1由一主 ΐ翠f執行以在—周邊單元巾婦特定記憶。該主控 p輕接-周邊單元’轉主控單元儲m符記。所 2方法包括:⑻設定-指標,該指標是對應到該 個邏輯區塊中的—邏輯區塊;(b)執行一讀取指 取指令是奴從該指標所對應的邏輯區塊中 接收—回傳資料串,·其中該回傳資料串是因 次取&令而產生,(d)依據該回傳資料串判斷該回傳 寫人符記之間是否具有—對應關係;以及⑷倘 傳資料串與該寫人符記之間無該對應關係,則將一 (bW 該&標’以重聽定該指標,並重複執行步驟 =⑷和(d),直到所接收之回傳資料串與該寫入符記之間 :小係為ΐ。其中每-次累加至該指標的該間距 =為該碰個邏輯區塊中至少—個邏輯區塊的容量,且 各間距中至少有—間距大於或等於該複數 &塊之早一邏輯區塊之容量的兩倍。 ^ ,發赂出-種主鮮元。所物域單姑接至一 周邊早兀,並包括一快取記憶體以 二記,用以暫細,而該資料處==該, ί早搜尋其資料未漏存至該快取記㈣的邏輯區 診周::該:料ί理模組設定—指標,以將該指標對應到 資= 邏輯區塊當中的-邏輯區塊。之後該 貧科處理模組接收-_諸串,如傳#料 11 I 7^y^/^.〇〇38 29959twf.doc/n I 7^y^/^.〇〇38 29959twf.doc/n ❿ 一讀取指令而產生,而該讀取指令被設定為從該指標所對 應的邏輯區塊中讀取資料。該資料處理模組依據該回傳資 料串判斷該回傳資料串與該寫入符記之間是否具有一對應 關係。倘若該回傳資料串與該寫入符記之間無該對應關 係,則將一間距累加至該指標,以重新設定該指標,直到 所接收之轉龍串無寫人符記之有靖應關係為 止。該資料處理模組後續所接收到的每一回傳資料串係 執仃後續的讀取指令而產生、而每―後續的讀取指令被执 定為從重新狀後龍指標所對應的邏輯區塊中讀取= ^此外,每—次累加至該指標的該間距至少為該複數^ η:二少一個邏輯區塊的容量,且所累加的各間距 區塊:容量=於或等於該複數個邏輯區塊之單-邏輯 本發日出-歸财理系統。所述的 參 。所述的主控單元耦= 記憶伽以暫;資:取:=處;f該快取 ;二其一邊其單 數個邏輯區塊當:: 輯區塊中讀取資料。該資料處组^標所對應的邏 斷該回傳資物該寫入符記之間是否判 12 201033807 一* — —8-0038 29959twf.doc/n 倘若該回傳資料串與該寫入符記之間無該對應關係,則將 一間距累加至該指標,以重新設定該指標,直到所接收之 回傳資料串與該寫入符記之間具有該對應關係為止。該資 料處理模組後續所接收到的每一回傳資料串係因執行後續 的讀取指令而產生,而每一後續的讀取指令被設定為從重 新設定後的該指標所對應的邏輯區塊中讀取資料。此外, 每一次累加至該指標的該間距至少為該複數個邏輯區塊中 • 至少一個邏輯區塊的容量,且所累加的各間距中至少有一 間距大於或等於該複數個邏輯區塊之單一邏輯區塊之容量 的兩倍。 在本發明之一實施例中,上述的複數個邏輯區塊中的 每一個邏輯區塊具有相同的容量。 -在本發明之一實施例中,所述的資料處理模組從該回 傳貝料串中棘出另—寫人符記,而當所娜出的該寫入 符記與該主控單元觸存的該寫人符記—致時,該資料處
^莫組即判斷該回傳資料串與該寫人符記之間具有該對應 關係。 本發明在執行讀取指令以等待接收晶 取指令所對應的邏輯區塊彼此:Ϊ )-個邏減喊地從 被储存至一主控單元之快取記== £塊’進而達到提高系統的整體效能的目的。 兴較ίΐΐη上述特徵和優點能更明顯易懂,下文特 牛較佳實施例’並配合所_式,作詳細說明如下。 2〇1〇3歷—飯_ 【實施方式】 本發明提供-種資料處理系統、控制器及其搜尋特定 把憶體區的方法,以在複數個邏輯區塊中搜尋 儲ί至快取的邏龍塊,岭可無誤地傳遞智慧卡之 訊心的同時,又此快速地從具有晶片的周邊單元中搜复 ==被_至主控單元之快取記憶體的邏輯區塊,進^ ^南系統的整體效能。資料串得以藉由寫人指令而從主控 I7G被傳送至晶片。其中,值得說明的是主 手機,個人數位助理(personal Digital Assistant,PDA)為個 ❹ 人電腦或其他具有快取記憶體之電子產品,周邊單元可 記憶卡,齡裝置或_具有智慧卡及其_存單元之電 子η又備。之後,主控單元藉由執行複數個讀取指令,晶片 所產生的回應訊息可無誤地被接收。其中,一寫入符圮 被用來檢驗_資料的正確性,以使主控單元得以區別所 ,收,回應訊息是暫存在快取記賴巾的舊有回應訊息, 亦或是晶片所產生的最新回應訊息。其中,此文所稱之快 ^憶體’泛指當主控單元處理資料時,會㈣邊單元更 先去搜尋#料的記贿單元,其巾,如果所欲搜尋之資料 =暫存於錄取記随,縣控單元單元就不f再至周邊 中讀取資料。以下將以數個範例實施例並配合所附圖 式來詳細卿本㈣。但必㈣觸是,此些範例實施例 並非限制本發明,舉例來說,上述晶片除了可為智慧卡晶 片之外,亦可以是射頻識別(Radio Frequency Identification, 砂®)晶片' 無線傳輪晶片(如··藍芽晶片)或多媒體控 14 8-0038 29959twf.doc/n 201033807 制晶片(如:數位錄音晶片)等。 請參照圖2,圖2是根據本發明一實施例繪示的資料 處,系統的功能方塊圖,此資料處理系統會採用本發明之 搜尋非快取特定記憶體區的方法,以從周邊單元刚中搜 尋其資料未被儲存至主控單元之快取記憶體212的邏 輯區塊。資料處理系、统包括主控單元2〇〇與周邊單元⑽。 其中,主控單元200具有-資料處理模组2〇6,而資 ❹ 理模組施可以一勃體或硬體方式實施。周邊單元1〇 具有-控制器110,用以控制周邊單元1〇〇的操作,以 元刚與主控單元鳥之間的資料傳遞。通常 周邊早兀100會與主控單元200 一起使用,以一 綱可將指令和資料傳送到周邊單元1〇〇。特別是, 疋⑽料括用讀行安全驗料功能的智 及主控單_會將訊息傳送至ΐ慧 卡a曰片140,並無誤地回傳智慧卡晶片14〇的回應 主控單元2〇〇。主控單元細的快取記 會暫二 3=最近曾使用過的資料’以提升主控單 體的育料處理速度。 堂 在本實施例中,周邊單元卿具有用以 =揮=記憶體130,電性連接控制器110。然而般3 二而非必要的元件。控制器 整體運作,例如資料串的傳遞、儲存、讀取鱼 0 ^ 制器110包括微處理單元11Ga、記憶體介面、11(^緩= 201033807 一一…8-0038 29959twfdoc/n mc。微處理單元110喚匯流排連接介面i2〇, θ執订匯流排連接介面120從主控單元2〇〇所接收的指 調控繼11G_各個元件以控難㈣ιι〇的 正,運作。雜體介面輕接於非揮發性記憶體13〇與微處 理早=n〇a之間,用以存取非揮發性記憶體13〇。換言之, ,控早70 欲寫人至轉發性記憶體13()的資料會經由 5己憶體介Φ 11Gb概為轉雜記,隱體丨賴能接受的格 參 式。然而,須說明的,因非揮發性記憶體130對本發明來 說是選擇性的元件,而非必要的元件。故在本發明的其他 不具非揮發性s己憶體130的實施例當中,控制器11〇不必 具有記憶體介面ii〇b。緩衝記憶體110c用以暫時地儲存 系統資料(例如邏輯實體對映表)或者主控萆元2〇〇所讀 取或寫入的資料。在本實施例中,缓衝記憶體n〇c為靜態 隨機存取記憶體(static random access memory, SRAM)。 然而,必須瞭解的是,本發明不限於此,動態隨機存取記 憶體(Dynamic Random Access memory,DRAM)、磁阻式 修 n己隐體(Magnetoresistive Random Access.. Memory, MRAM)、相變化s己憶體(phase Change Random Access
Memory,PRAM)、同步動態隨機存取記憶體(Synchr_us DRAM’SDRAM)或其他適合的記憶體亦可應用於本發明。 智慧卡晶片140電性連接控制器no,並且用以執行 計算、加密、雙向通信及安全認證等功能。在本發明實施 例中,智慧卡晶片140為相容於ISO 7816標準的接觸式智 慧卡晶片。然而,必須瞭解的是,本發明不限於此。例如’ 16 201033一8见〇3829— 智慧卡晶片140亦可是相容於ISO 14443、ISO 15408或其 他安全晶片標準的接觸或非接觸式智慧卡晶片,此外,值 得說明的是,控制器110與智慧卡晶片14〇可各為一獨立 晶片’亦可合併封裝為一單一晶片。 在本發明實施例中’非揮發性記憶體13〇為單層記憶 胞(Single Level Cell,SLC)反及(NAND)快閃記憶體。 然而,本發明不限於此,在本發明另一實施例中,非揮發 參 性記憶體130為亦可為多層記憶胞(Multi Level Cell, MLC)反及(NAND)快閃記憶體或其他適合的非揮發性 圮憶體。此外,雖未緣示於本實施例中,但控制器110可 更包括錯誤校正模組(ECC Module,Error Correction Code Module)與電源管理模組等功能模組。 在本實施例中,周邊單元100可為智慧卡或整合了智 慧卡和非揮發性記憶體之整合性安全數位(secure digital, SD)記憶卡。但必須瞭解的是,在本發明另一實施例中周 邊單兀1〇〇亦可以是多媒體卡(MultiMediaCard,MMC) β 記憶卡或其他的記憶裝置。 本實施例中,周邊單元100除了控制器11〇、非揮發 性記憶體130以及智慧卡晶片刚之外還包括紐排連接 介面120。匯流排連接介面12〇電性連接控制器u〇,並且 與主控單元200耦接,用以從主控單元200接收指令和資 料,並將周邊單元1〇〇的訊息傳送至主控單元2〇〇。在本 實施例中,匯流排連接介面120則為一 SD介面。必須瞭 解的是,匯流排連接介面120亦可為其他適合的介面。例 17 201033807 .8-0038 29959twf.doc/n 如當周邊單元100為MMC記憶卡時,匯流排連接介面12〇 為MMC介面。 主控單元200藉由資料處理模組206來操作周邊單元 10〇,以完成根據本發明實施例的搜尋特定記憶體區的方 法。此外,必須瞭解的是主控單元2〇〇亦包含其他元件, 例如.處理器、作業系統…等。在本實施例中,主控單元 2〇〇與周邊單元1〇〇之間所有指令與資料的傳遞皆會通過 # 快取記憶體212。此外,上述主控單元200可為個人電腦、 行動電話、筆記型電腦、個人數位助理機(PDA)….等。 基此,在主控單元200在對上述含有智慧卡晶片14〇 的周邊單元100進行操作時,控制器11〇配合主控單元2〇〇 的資料處理模組206能夠正確地將資料或指令傳送至智慧 卡晶片140,並無誤地將智慧卡晶片14〇的回應訊息傳遞 至主控單元200。以下將配合圖3和圖4詳細說明控制器 與主控單元200之間所執行資料傳送程序的流程。其 馨 =,圖3是根據本發明第一實施例繪示主控單元2〇〇運作 時的流程圖,而圖4是根據本發明第一實施例繪示周邊單 元100運作時的流程圖。 請先參照圖3,每當主控單元2〇〇要傳送資料至智慧 ,晶片140之前,主控單元2〇〇會先獲得或產生一寫入g 記(write token ) WT ’並記錄該寫入符記WT (步驟s 3 〇丨)。 其中,寫入符記WT可依一設定之原則產生,如依序、亂 數或是依據一系統時間產生,故一般說來,在每次主控單 疋200欲傳送資料至智慧卡晶片140時,主控單元2〇〇所 18 8-0038 29959twf.doc/n 201033807 獲知的寫入符記WT大多會彼此不同。此外,當主控單元 200傳送寫入指令至智慧卡晶片14〇時,寫入符記WT會 隨著寫入指令被傳送到控制器11(),且寫入符記WT亦會 被包含在回傳至主控單元2〇〇的資料串中。主控單元2〇〇 ,資料處理模組206會比較傳送至控制器110的寫入符記 是否與控制器110所回傳的寫入符記一致,以作為在判斷 回傳資料是否正確時的依據。在另一實施例中,當主控單 產生寫入符記WT後,寫入符記WT會再經編輯並 隨著寫入指令被傳送到控制器11〇,故當主控單元2⑻傳 送寫入指令至控制器11〇時,此編輯過之寫入符記會隨著 寫入指令被傳送到控制器11〇,且此編輯過之寫入符記亦 ^被包含在控制器11G回傳至主控單元·的資料串中。 貝料處理模組206會依據控制器11〇所回傳的資料串,判 斷此回傳資料串與主控單元所儲存的寫人符記之間是 有—對應懸,以作為在饋回傳資料是否正確時的 ❹ 合施例中,主控單元200的資料處理模組施 θ比較傳輕㈣H 11G之編輯 ,傳的寫入符記之間是否具有一對應== 判斷回傳#料是否正確時的依據。此外 例、、 =:=r。時,經微處理單= 並意體隱或非揮發性記憶體130, 串中、。輯過的寫人符記加人到回傳至主控單元·的資料 之後在主控單凡200傳送資料或指令至周邊單元⑽ 19 J-0038 29959twf.doc/n 201033807 的智慧卡晶片140之前,主控單元2〇〇會將所欲傳送資料 或指令與一特定標記502及寫入符記WT合併,以形成資 料串(步驟S303)。如圖5所示,在本實施例中,主控單 元200傳送至控制器11〇的資料或指令5〇4為一指令_應用 程式協定資料單元(Command-Application Protocol Data Unit,C-APDU) ’而C-APDU 504與特定標記502以及寫 入符記506合併後,即可形成資料串5〇〇,以作為主控單 兀200與智慧卡晶片14〇之間的聯繫之用。然而須注意的, 在本發明周邊單元100不具有非揮發性記憶體13〇的其他 實施例中,資料串500可不具有特定標記5〇2。亦即,對. 這些不具有非揮發性記憶體13〇的實施例而言,特定標記 502不必包含在資料串500當中。換言之,在上述不具有 非揮發性記憶體130的實施例,當進行步驟S3〇3時,只 須合併C-APDU504與寫入符記5〇6,以形成資料串5〇〇。 ❿ ,本實施例中,特定標記502是位於資料串5〇〇的數個最 局有效字元(Most Significant Bit,MSB)而形成在 c_ApDu 504之前,寫入符記獨則是位於資料串的數個最低 ,效字兀(Least Signiflcant Bit,LSB)而形成在 C A丽 在須注意的’特定標記5〇2和寫入符記506 500 t的位置並不以此為限,例如:在 =:個實施例t,可藉由-編碼器,將特定標記5〇2和寫 付纪506的各個位元分散在資料串5〇〇之中, 蕤 :碼^資料串,中練出特定標記5〇2“ 入叙506。另外,在本發明的—實施例中,特定標記搬 20 201033807 8-0038 29959twf.doc/n
❹ 和寫入符記506位於資料串500的同一端;在本發明的另 一實施例中’特定標記502位於資料串500的右端,而寫 入符記506位於資料串500的左端。此外,在另一實施例 中,特定標記是由控制器110依據欲傳送資料或指令之位 址產生。在另一實施例中,主控單元2〇〇是將所欲傳送資 料或指令與寫入符記WT合併以形成資料串後傳送至控制 =110’而在所傳送的指令(如讀取指令或寫入指令)中具有 資料讀取位址或資料寫入位址,控制器110則於接收^主 控單元200所傳送的指令後,依據指令中的位址對相對應 之位址執行相關的操作(讀取或寫入)。此外,由於智慧 卡晶片140及非揮發性記憶體13〇具有不同之位址區 故在本實施例中,無需產生該特定標記5〇2。 力須說明的,在本實施例_ 同右王徑單元2〇〇存] 的對象為非揮發性記憶體13〇而不是智慧卡晶片14〇 ^ 述的特定標記5〇2及寫入符記506並不會姚 主控+ 70 200傳送給控制器11G的資料串巾。在後如 進一步地說明控制器· U〇如何依據所她 所^傳〜的疋否含有上述的特定標記502,來判斷資料$ 片14f 是_發性記請亦或是智慧卡』 人,5〇0形成之後,主控單元細會藉由寫入指 7將貪料_ 500傳送至周邊單元1〇〇的控制器ιι〇 主控單元2⑻會傳送寫入指令至周邊單 而此-寫人指令係被設定為將資料串5⑽寫入至 21 3-0038 29959twf.doc/n 201033807 周邊單元100。 當資料串500被傳送到控制器n〇之後,主控單元2〇〇 會依序地傳送複數個讀取指令至周邊單元1〇〇的控制器 110,直到該主控單元自周邊單元接收到智慧卡晶片 140所產生的回應訊息為止。其中,上述每一個讀取指令 被設定為讀取周邊單元1〇〇的複數個邏輯區塊匕至BN當 中的一邏輯區塊的資料。在本發明中,上述複數個邏輯區 ⑩ 塊Βι至Bn可以屬於單一特定檔案,或屬於多個特定檔 案。此外,上述複數個邏輯區塊仏至Bn*的每一個邏輯 區塊具有相同的容量。請參考圖3,在將複數個讀取指令 傳送到周邊單元100之前,主控單元200的資料處理模組 206會設定指標BP,以將指標Bp對應到上述複數個邏輯區 塊^至^當中的一邏輯區塊bs (步驟S307)。其中, 邏輯區塊Bs在本文中係被定義為「啟始邏輯區塊」,用以 表示第一個被執行的讀取指令所對應的邏輯區塊。須說明 的,啟始邏輯區塊Bs可以是複數個邏輯區塊^至bn當中 參 的任何一個邏輯區塊。舉例來說,本發明的部分實施例中 係將啟始邏輯區塊Bs設定為第一個邏輯區塊Bl,而在本 發明的另外部分實施例中係從複數個邏輯區塊h至BN當 中隨機地選出一個邏輯區塊作為啟始邏輯區塊Bs。當將指 標BP設定為啟始邏輯區塊Bs之後,主控單元2〇〇會傳送 一讀取指令(步驟S309),而此一讀取指令被設定讀取指 標BP所對應的邏輯區塊中讀取資料。另須說明的,在主控 單元200傳送該讀取指令之前,資料管理模組206會先確 22 201033807,00382995^ 認該快取記憶體212是奸_
區塊的資料,若有,則資料管有扣軚BP所對應的邏輯 憶體212中讀取,而不會再從206會直接從快取記 面,倘若快取記憶體212尚未錯^單广1〇〇讀取。另—方 區塊的資料,則步驟S3〇9中=^有指標Bp所對應的邏輯 單元刚的控制器110,並由控^取指令則會傳送到周邊 例中,當控制器110接收到主二二器ηο執行。在本實施 令之後’控制器11〇會先判斷=70 200所輸出的讀取指 令被設找·上述複數個邏’而倘若該讀取指 制器m是由一暫存器中直箱至如的資料’控 資料(例如所有位元全為零的資钭—預,樣式(轉一的 而耗費的時間。轉的資枓),以減少因讀取資料 明再參考圖3,主控單元綱的資料處理模組施由 周邊單元100或快取記憶體212得到的所需讀取位址所對 應的資料串(步驟S311),其中,上述回傳的資料串中包 s有上述的寫入符§己1WT。詳言之,當微處理單元11〇a接 收到包含有寫入符記WT的資料串500時,會儲存其中的 寫入符記WT,之後當微處理早元ll〇a回應主控單元2〇〇 所傳送的讀取指令時,會將所儲存的寫入符記WT加到要 回傳的資料串内。請參考圖6,圖6為微處理單元110a回 傳至資料處理模組206的資料串600之資料結構圖。資料 串600包含有一資料區602,以及一寫入符記區604,其中 資料區602用來記載智慧卡晶片H0所產生的訊息或記載 23 8-0038 29959twf.doc/n 201033807 Λ- %^Λ. Λ-f yj 上述預設樣式的資料’ 4人符記區6() 述的寫入符記WT。如圖6所示,寫 己載上 馬入付S己區604位於咨 料區602之後。然而,她並不以此為限,例如= 發明的另-實施例巾,寫人符記區_位於資料區6〇2 丽〇 ❹ 當主控單元200的資料處理模組2〇6在步驟⑶ 接收到回傳的資料串_後,會從回傳 取出寫入符記WT (步驟S313)。1 中榻 寫入符記wt可以是編輯過:是 ,;之後’在步驟S315中,主控單元 組2〇6會判斷相對應該讀取指令之資料㈣Q中的U 記WT是否與主控單元200所儲存的寫入符記WT 一致。 =上述兩寫入符記WT彼此—致,則進行步驟S319;而 it述兩寫入符記WT並不—致,則進行步驟㈣。-5來,在不重新啟動資料處理模組2G6的情況下,微處 理單凡腕所回傳的資料串600中的寫入符記WT大多會 與主?單元2。°所儲存的寫入符記WT-致。然而,因為 元具有快取兄憶體212的緣故,快取記憶體212 ^會存有先前微處理單元職所回傳的資料串,而當資料 處=模組206被重新啟動而使得主控單元所記錄的寫 入,记WT有所變動後,即很有可能會發生主控單元2〇〇 己錄的寫人符記WT與回傳的資料串_中的寫入符記 彼此不—致的情形。因此,在步驟S315中,偶若回傳 的貧料串600令的寫入符記资與主控單元所儲存的 24 201033807s,03829959^ = 則此回傳的資料串600即可被判 =0 轉存㈣㈣料,畴紐制器 100因口應备夂§賣取}日令所產生的新回應訊息。 f上述步驟S315中’資料處理模組2:判斷回傳的 貧料串600中的寫入符記WT是否與 的寫入符謂一致,其目的在本質上是== ^ _與主控單元200所儲存的寫入符記WT之間是否^ 判斷回傳的資料串咖中的寫入倾 ,、主控單兀200所儲存的寫入符記 一對應關係。其中,對於未經資料處理_2Q6 WT ^ 5 了藉由直接咏轉的資料帛6⑼巾的寫 與主控單元200所儲存的寫入符 .,、站付° 疋否 的對應關係是否存在。詳言之:傳== ==與主控單元㈣所儲存:=: 致則表不上述的對應關係存在;反之, 一致,則表示上述的對應關係並不存在:此Γ ==理,,6或微處理單元11心 付《•己WT來說,當資料處理模組2G6 衫存树,f料處理模纟 從 回傳貧料串600中所擷敌Φ宜λ # 嘗无將從 還原為原先未被編輯前的寫二符經由逆,輯程序 ^入符記是赖球單元2GG _存的< 致,而倘若還原後的寫入符記術與主控單/二存 25 201033807 -------S-0038 29959twf.doc/n ϊϊm 示上述的對應關係存在;反之, =後的寫入=與主控單元200所儲存的寫入符記 WT並不-致’則表示上述的對應關係並不存在。當判斷 出上述對顧係存錢,會騎辣S319 步驟S317。 久心幻逛仃 S317卜主控單元2GG的資料處理模組206 會重新設定指標BP,以重複執行步驟S3u〜s3i9。至於 ❿ *何重新設定指標BP,將會在後續的說财詳加說明。 在步驟S319中’主控單元2〇〇的資料處理模組施 會判斷回傳的資料串_的資料區6〇2内的資料是否與上 述的預設樣式-致。倘若資料串議的資料區親内的資 料^與上述的預設樣式一致,則表示控制器110的微處 理早兀110a尚未接收到智慧卡晶片M〇的回應訊息,而會 進打步驟S317;而相對的,倘若資料串㈣的資料區6〇2 内的資料與上述的預設樣式並不一致,則表示控制器⑽ 的微處理單元110a可能已經接收到智慧卡晶片14〇的回應 ❹訊息,而會進行步驟S321,以將所回傳的資料串的資 料區501内〜的-貝料視為智慧卡晶片14〇所產生的回應訊息。 即使貧料串600的資料區6〇2内的資料並不是上述的 預設樣式,只要主控單元2〇〇所記錄的寫入符記wt與回 傳的資料600中的寫入符記WT之間並無上述的對應關 係’主控單元200的資料處理模組2〇6仍不會將所接收到 的資料Ψ 600之資料區6〇2_資料視為智慧卡晶片14〇 的回應訊息。故就資料的正確性而言,藉由步驟S317中 26 5-0038 29959twf.doc/n 201033807 ❿ 對於寫入符記WT的比對動作,可避免主控單元2〇〇的資 料處理模組206將快取記憶體212先前所暫存的資料誤認 為由智慧卡晶片140所產生的回應訊息。舉例來說,假設 在主控單元200開機至關機的期間,資料處理模組2〇6 = 後被啟動兩次。在前一次資料處理模組2〇6啟動期間,主 控單元200藉由上述步驟S3〇1〜S311從智慧卡晶片14〇 接收到回應訊息,而此一回應訊息在資料處理模組2〇6重 新被啟動後仍存於快取記憶體212中。在此情況下,倘若 重新啟動的資料處理模組206在傳送訊息至智慧卡晶片 140並等待智慧卡晶片140㈣應訊息的期間並不進行步 驟S315的判斷的話,則主控單元200的資料處理模組2〇6 P可月b會將暫存在快取§己憶體212的前次回應訊息誤認為 本次的回應訊息,而導致資料上的錯誤。換言之,藉由步 驟S315的判斷動作,資料處理模組2〇6即;區別‘接二 到的回應訊息是本次的回應訊息還是快取記憶體2丨2所暫 存的1次回應訊息,進而使得資料的準確性會大幅地提高。 當主控單元200的資料處理模組206確認所接收到的 回應訊息是本次的回應訊息後’資料處理模組施即會將 :接收_資料串_之資料區6G2 $的資料視為智慧卡 日日片140的回應訊息(步驟S321) 〇 相對於圖3所繪示的主控單元2〇〇與一智議卡晶片 ,運作時的流程,周邊單*刚與該主控單元二 則可參考圖4。首先,#周邊單元1⑼開始運作時, 工1盗U0的微處理單元ll〇a會取得關於上述複數個邏輯 27 .8-0038 29959twf.doc/n 201033807 ❹ ❿ 區塊Bi至BN的位址資訊(步驟S4〇1 ),以作為後續比對 主控單元200所傳送的讀取指令之用。之後,控制器ιι〇 即可開始接收域單元所輪㈣寫人指令(°步驟 S403) ’其中該寫入指令係被設定為寫入第—資料串至周 邊單元綱,而該第—㈣串可以是如圖5中所示的資料 串500或是其他的資料串。當控制器110接收到寫入指令 之後,即會判斷該第-資料串是否含有如圖5所示 標記502 (㈣S405)。倘若第一資料串不含有特定標記 5〇2’則控㈣11G的微處理單元U()a會依據寫入指令所 才曰派的位址’將第一資料串寫入至非揮發性記憶體⑽(步 ^讀)’相對的’倘若第—資料串含有特定標記502, =控制器110的微處理單元11Qa會將第—資料串中的寫入 :WT (如圖5令的寫入符記5〇6)記錄在緩衝記憶體 11 〇 c ’並削寺定標記5 〇 2與寫入符記WT從第一資料串中 去除:以產生第二資料串(如圖5中所示的綱), 再將第一·,料串傳送至智慧卡晶片⑽(步驟8彻)。如 ’藉由_第—資料串中是否含有特定標記502, 的微處理單元腕即可判斷資料串應該送往 記憶體130或送往智慧卡晶片⑽。須說明的’在 祖具有非揮發性記㈣13G的其他實施例中,因資 不具有特定標記5()2,故®4的流程中的步驟S405 50”Λ會予以省略’且在步驟_9中即不須將特定標記 =攸資料串谓除去,而直接將資料串的至少一部 刀、*、到智慧卡晶片140 〇另須說明的,在本發明的另一 28 ,8-0038 29959twf.doc/n 201033807 :實施例中,上述的第二資料串即為上述的第—資料串。 換言之,微處理單元110a不會將特 5 資料串_去除,而是將第_資料串2轉^ ”片140。之後’智慧卡晶片14。再從所接收到的 Ο ❹ 定標記—DU504和寫: wt。此外,本實施例中’第一資料串中的寫入符記wt 除如上所述會記錄在_記倾UGe之外。在本發明的另 -實施例巾’微處理單元i 1Ga會將第—資料串巾的 記WT記錄在非揮發性記憶體〖go。 當第二資料串被送往智慧卡晶片14G之後,控制器110 的微處理早TLllOa即會等待接收主控單元所傳送過來 的讀取指ίί步驟S411),其中上述的讀取指令包含但不 限於主控早兀200於圖3之步驟s勤所傳送的讀取指令。 之後,控制器m的微處理單元11Ga會判斷所接㈣讀取 指令所指派的位址是否屬於上述的邏輯區塊仏至B 驟S413),亦即微處理單元_會判斷所接收取指 令是否被設定為讀取上述複數個邏輯區塊^ i 料。若上述讀取指令所指派的位址並.非屬於邏輯區塊& 至BN ’則微,理單元110a會依據讀取指令所指派的位址 讀取對應的資料(步驟S415),並將資料傳送至主控單元 200;相對的,若上述讀取指令所指派的位址屬於上^的 -特定檔案,職處理單元11()&會再靖使否已經接收到 智慧卡晶片140的回應訊息(步驟sw),而在本實施侈, 中,此回應訊息為智慧卡晶片14〇因接收到上述的第二養 29 8-0038 29959twf.doc/n 201033807 料串而產生,並且為一回應_應用程式協定資料單元 (Response-Application Protocol Data Unit, R-APDU )。在 步驟S417中,倘若微處理單元11〇a已經接收到智慧卡晶 片140的回應訊息,則微處理單元n〇a會將智慧卡晶片 140所產生的回應訊息會與記錄在緩衝記憶體u〇c (或非 揮發性記憶體130)内的寫入符記WT合併成一第一回應 訊息(步驟S421),再將此第一回應訊息回傳至主控單元 ❹ 200 (步驟S423)。上述的第一回應訊息的資料結構與圖 6所示資料串600的資料結構一致,其中資料區602用來 記載智慧卡晶片140所產生的回應訊息,而寫入符記區6〇4 則用來記載寫入符記WT。 倘若在步驟S417中,微處理單元ii〇a尚未接收到智 慧卡晶片140的回應訊息,則控制器11()的微處理單元 110a會回傳一第二回應訊息至主控單元2〇〇 ’以回應所接 收到的讀取指令(步驟S419)。在本實施例中,第二回應 訊息的資料結構亦與圖6所示資料串600的資料結構一 參致’其中資料區602内的資料為上述的預設樣式,而寫入 符記區604則用來記載寫入符記WT。當進行完步驟§419 之後’微處理單元ll〇a會再繼續等待主控單元2〇〇的下一 個讀取指令’直到接收到智慧卡晶片140所產生的回應訊 息,並回傳上述的第一回應訊息至主控單元200為止。 以下將就上述步驟S317中如何重新設定指標Bp詳加 說明。請參考圖3和圖7A至圖7C,其中圖7A至圖7C 用以說明本發明—實施例巾設定指標BP的方式。為方便說 30 δ-0038 29959tw£doc/n 201033807 明起見’在圖7Α至圖7C中所繪示的複數個邏輯區塊^ 至BN係依序地排列成一列。複數個邏輯區塊氏至如可 區分為以白色區域標示的非快取區700以及以網點標示的 快取區702和704 ’其中上述非快取區7〇〇内的邏輯區塊 (例如:邏輯區塊Bh)其資料尚未被儲存至快取記憶體 212,而上述快取區内702和704的邏輯區塊(例如:邏輯 區塊h、B2、BN)其資料已被儲存至快取記憶體212。 φ 如上所述,在步驟S315中,倘若回傳的資料串6〇〇 中的寫入符記WT與主控單元200所儲存的寫入符記WT 之間並無上述的對應關係,則此回傳的資料串600即可被 判定為是快取記憶體212所暫存的舊有資料,而非由控制 器100因回應當次讀取指令所產生的新回應訊息。因此, 在圖3藉由重複執行步驟S309〜S317以重新設定指標BP 的循環過程中,所執行的複數個讀取指令會讀取到多個落 於快取區内702和704的邏輯區塊,且這些讀取指令會在 —個回合或多個回合内執行。如圖7a至7C所示,即繪示 了在尋找位於非快取區700的邏輯區塊]^的過程中,共歷 經了三個回合來執行讀取指令。其中,讀取指令會依序地 在時間點 t!、t2、t3、t4、t5、t6、t7、t8、t9、t10 和 tu 被執行, 以讀取邏輯區塊 Βι、Ba、Bb、Bc、B2、Bd、Bf、B3、Bg、 和Bh的資料’其中邏輯區塊B!、Ba、Bb、Bc、B2、Bd、 和Bg的資料已經暫存在快取記憶體212,而邏輯區 塊Bh的資料尚未被儲存在快取記憶體212。因在時間點& 斤執行的第一次讀取指令係被設定為讀取邏輯區塊的 31 201033807 一一一„S-〇〇38 29959twf doc/n 區塊B。Μ·/ /,上述的啟始邏龍塊&即為邏輯 二本實施例中’當步驟s317被執行時, 曰不p «被設定為等於目前的指標Bp再加上—間距心 而^ 寻相繼被執行的兩個讀取指令所對應的兩個邏輯區塊 之間相間隔(d-ι)個邏輯區塊。舉例來說,在時間點“和 所執打的兩個讀取指令所對應的邏輯區塊分別為匕和 Ba,其。中邏輯區塊Ba的位址等於邏輯區塊&的位址加上d 個邏輯區塊之貢料位移,而邏輯區塊仏和邏輯區 間相隔(d-Ι)個邏輯區塊。 a 須說明的’在本實施例中,d會是一個大於2的整數, 故(d-Ι)會是大於1的整數,而使得被重新設定後的指標Bp 所對應的邏輯區塊與指標Bp最近一次被重新設定前所對 應的邏輯區塊之間相隔複數個邏輯區塊B1〜BN中的至少 一個邏輯區塊。因變數d的存在,而使得相繼地被執行的 讀取指令所對應的兩邏輯區塊之間的間隔被加大,故可使 搜尋到非快取區700所需花費的時間縮短。 此外’ ^步驟S317被執行時’倘若目前的指標%再 加上間距d後會超出最後一個邏輯區塊Bn的位址,則會 進行下一回合的讀取指令,而下一回合内被執行的讀取指 令所對應的多個邏輯區塊之位址是藉由將目前回合内被執 行的讀取指令所對應的多個邏輯區塊之位址皆偏移一預設 邏輯區塊數i後獲得,其中上述預設邏輯區塊數i為正整 數’並可視情況調整。舉例來說,圖7A、圖7B和圖7C 分別繪示在第一回合、第二回合和第三回合被執行的讀取 32 201033807 α-0038 29959twf.doc/n 指令所對應的邏輯區塊的位置’其中第二回合内所對應的 多個邏輯區塊&、Bd、Be和Bf之位址是藉由楚一
内所對應的多個邏輯區塊仏、Ba、仇和民之位址皆偏^ 預設邏輯區塊數i後獲得,其中i等於一。同樣地,第三 回合内所對應的多個邏輯區塊B3、\和&之位址是藉: 將第二回合内所對應的邏輯區塊B2、心和Be之位址^偏 移預設邏輯區塊數i後獲得’即每-回合的起始邏輯區塊 位址是為上-回合之祕邏輯區塊位址再偏移⑽邏輯區 塊數。另,值得說明地是,在另一實施例中,丨是大於等 於一且小於d。3因在本實施例中,變數』為_定值,、故 每-回合内所執行的多個讀取指令中,任兩個接續地被執 行的讀取指令所對應的兩邏輯區塊之間的一〜 值。舉例來說,在第-回合中,兩邏輯區塊^之^
的間距會等於兩邏輯區塊Ba* Bb之間的間距,並^於兩 邏輯區塊Bb和Bc之間的間距。 ' 此外,須說明的 〜/丨.上述多個回合係依據指標^被1 新設定前後所對應的兩邏輯區塊的位址之間的變異量為」 值或負值來區分,其中所述賴異量等於指標~被^^ 定後所對應的邏輯區塊的位址減去指標Bp被重新 所對應的邏輯區塊的位址。以圖7A至圖7C為例, 點t4和^先後被執行的兩讀取指令其所對應的邏輯區塊> 別為心和B2 ’故指標Bp於時間點心前後分別 : B2’又因邏輯區塊%的位址減去邏輯區魂 : 的變異量為負值’故可將在時間點_所執行的兩個; 33 2〇1〇33靈„— 取指令歸屬到不同的回合。另,又以圖7B為例,在時間 點t6和t7先後被執仃的兩讀取指令其所對應的邏輯區^ ^為仏和Be =指標Bp於時間點t7前後分別被
Be的位址減去邏 =;:= 將在時間點_ t7所執行的兩個讀 取指令~屬到同一個回合。 請參考® 8A和圖8B,圖8八和圖 ❹ 實關中設找標Bp財式。在本實_/ = 個邏輯區塊Bl至Bn可區分為非快取區麵以及快取^ 繼 =快取區_内的邏輯區塊其資料尚未被儲存至快取 ,,體212。在本實施例中,每一個回合内被執行 讀取指令其所對應的邏輯區塊之間所相隔的邏輯區 塊的數目會依序地遞減。 ^ 诗言之,在本實施例中,每一個回合内被執行的多個 ❹=日令其崎應的轉區塊巾,除朗合内之第一個和 .=4-個被執行的讀取指令所對應的兩邏輯區塊之外,對 :亥回合=任一個被執行的讀取指令所對應的邏輯區塊而 ^此邏輯區塊鱗—個被執行的讀取指令所對應的邏輯 品之間相隔的邏輯區塊之數目會小於此邏輯區塊與下一 =破執行的讀取指令所對應的賴區塊之_隔的邏輯區 =數目。如圖8Α和圖8Β所示,在時間點tl、t2、t3、t4、 B5、t6依序地執行讀取指令,以讀取邏輯區塊 3 Bc和Bd的資料其中間距汜小於間距⑴,且第二回 34 201033807 -----8-0038 29959twf.doc/n 合中所被執行的讀取指令所對應的邏輯區塊B3、队和Bd 的位址是藉由將第一回合内所被執行的讀取指令所對應的 多個邏輯區塊、Ba和Bb之位址皆偏移預設邏輯區塊數 i後獲得’其中i等於二。此外,在第一回合内,除第一個
被執行的讀取指令所對應的邏輯區塊之外,第一回合内的 每一個被執行的讀取指令所對應的邏輯區塊與前一個被執 行的讀取指令所對應的邏輯區塊之間所相隔的邏輯區塊之 數目是依據所有邏輯區塊Bi〜Bn的總數以及前一個被執 行的項取指令所對應的邏輯區塊位於複數個邏輯區塊Βι 〜bn中的位置而決定。舉例來說,因邏輯區塊Bi〜Bn的 總數為N,而第一回合内之第一次被執行的讀取指令所對 應的邏輯區塊為B!,故間距dl約等於@_1)/2 ;又假設第 回合内之第二次被執行的讀取指令所對應的邏輯區塊
Ba是邏輯區塊Bi〜Bn當中第a個邏輯區塊,則間距汜會 約等於(N-a)/2。其中,倘若(队1)/2或(N_a)/2並非整數,則 以四捨五入的方式取整數位,以決定間距以和汜。 明參考圖9A〜圖9C,圖9A〜圖9C用以說明本發明 另一實施财設定指標Bp的方式。在本實關巾,複數個 邏輯區塊至Bn可區分為非快取區_以及快取區· ^ 904。非快取區__邏槪塊其㈣尚未被儲存至 、取&己憶體212 ’而快取區内9〇2和刪的邏輯區 料已被儲存至快取記憶體212。在本實施例中,如圖9A ^ 不’在第-回合巾’啟始賴區塊Bs被設定為介於 邏輯區塊Bl與最後-個邏輯區塊〜之_第_區塊。2 35 201033_807一― 外’如圖9B所示,預朴太 指令係被設定為讀取第回合内執行^第-個讀取 間的第二區塊Ba;而預叶在^區塊匕與第一區塊仏之 指令係被歧為讀取最後回合内執行的第二個讀取 之間的第三區塊化。倘邏輯區塊如與第一區塊仏 未搜尋到非快取區_内的^完第二回合的=取指令仍 回合的讀取指令,而c區塊,:會繼續執行第三 八及\ T在第三回合内執行的四個讀取指
被:定為讀取邏輯 至Bn當中第 。、第二區塊 ί =-區塊Bs之間的第五區塊队、第一區塊匕與第三區 b之間的第六區塊Be’以及第三區塊队與最後一個邏 =塊BN之間的第七區塊Bf。其中,當搜尋到非快取區 内的邏輯區塊後,後續所預計讀取的邏輯區塊的操作 P不會被執行。以圖9C為例在第三回合内,因已讀取 J非丨夬取區900中的第六區塊Be,故預計要讀取第七區塊 f的操作即不會被進行。 相較於上述實施例,任兩個接續地被執行的讀取指令 所對應的兩邏輯區塊之間的間距為定值或依序地遞減,在 =發明的另一實施例中,每一回合内所執行的多個讀取指 令中,任兩個接續地被執行的讀取指令所對應的兩邏輯區 塊之間的間距是變動的間距。此外,在本發明另一實施例 被執行的多個讀取指令其所對應的邏輯區塊之間所相 隔的邏輯區塊的數目會依序地遞增至—臨界值為止。請參 考圖丨〇和圖11,圖10和圖11用以說明本發明另一實施 36 201033807 -------'8-0038 29959twf.doc/n 例中没定指標BP的方式。在圖i〇中,邏輯區塊^〜 被區分為非快取區1000以及快取區1〇〇2 ;而在圖丨丨中, 邏輯區塊Bi〜BN被區分為非快取區1100以及快取區n〇2 和1104。非快取區1〇〇〇和11〇〇内的邏輯區塊其資料尚未 被儲存至快取記憶體212,而快取區内1〇〇2、11〇2和1104 的邏輯區塊其資料已被儲存至快取記憶體212。在這兩實 施例中,啟始邏輯區塊Bs可設定為邏輯區塊Bi〜Bn當中 ❹ 的任一區塊,其中’間距dl、d2和d3為變動的間距,而 間距dl、d2和d3之間的關係為dl<d2<d3。此外,讀取指 令其所對應的邏輯區塊之間所相隔的邏輯區塊的數目會依 序地從(dl-Ι)遞增至臨界值(dn)為止。換言之,.在每一次 重新設定指標BP時,係將一間距dl、d2或d3累加至指標 Bp,以重新設定指標BP,而倘若指標BP在累加上述間距 dl、d2或d3後超出複數個邏輯區塊Bi〜BN的位址範圍, 則會將累加後的指標BP減去上述複數個邏輯區塊 的總容量’以使重新設定後的指標Bp等於累加後的指標 ® Bp減去上述複數個邏輯區塊Bi〜Bn的總容量.。此外,隨 著指標BP被重新設定的先後順序(如圖1〇和圖Η中之時 間點、t2、t3、t4、t5的順序),累加至指標Bp的間距會 依序地遞增至最大間距d3為止。 由上述各實施例中設定指標BP的方式可知,每一次 指標BP被設定前後所對應的兩個邏輯區塊之間至少會間 隔一個邏輯區塊,而使得每個被執行的讀取指令其所對應 的邏輯區塊會與其前一個或下一個被執行的讀取指令其所 37 5-0038 29959twf.doc/n 201033807
對應的邏輯區塊之間的間隔被加A 參 快取區所須耗廢的時間之目的。然而,3'=搜,非 之實施方式並不限於必須使任兩個被=本發明 所對應的兩邏輯區塊之間都得至少間隔!取指令 之,為達到縮短搜尋時間之目的,可僅加大直二。詳言 隔即可’而不須全面地加大所有的間隔。換 明的-實施财’每一次累加至指標Bp的間:= ::區塊Bl至Bn中至少—個邏輯區 ,= =各間距/至少有—間距大於或等於複數個邏輯= ^至Bn之單一邏輯區塊之容量的兩倍。 脾一 在本發明的另一實施例中’控制器⑽會另外 =C=(readtGken)R1^人到畴至主控單元· 3 以進-步地確保#主控單元獅產生的 寫入符記wt發生碰撞時,•單元2 206仍可正確地判斷是否接收到智慧卡_所產Γ的= 訊息。請參考圖12’圖12_本發㈣—實施例中控制 器110回傳至主控單元200的資料串1200之結構。資料串 U00除了具有如上述資料串_的資料區·以及寫入符 汜區604之外,另具有一讀取符記區606。讀取符記區600 係用來記載控制器110之微處理單元11〇&所產生的讀取符 圮RT。此外,資料區6〇2和寫入符記區6〇4的作用在上述 說明中已經闡述過,在此即不再贅述。雖然,圖12中所繪 示的讀取符記區606位於寫入符記區6〇4之後,但本發明 並不以此為限。例如:寫入符記區6〇4和讀取符記區6〇6 38 8-0038 29959twf.doc/n 201033807 入 μ .. ^ 在^料串1200上的位置可以互換,或是寫入符記區6〇4 和讀取符記區606可分別位於資料串丨2 〇 〇的兩端或皆位於 資料串1200的同一端。 、 請參考圖13,圖13是根據本發明第二實施例繪示周 邊單元100運作時的流程圖。圖13的流程大致上與圖4 的流程相同,而兩流程之間的不同點在於圖13的流程中多 了步驟S418’且圖4中的步驟S409、S419和S421分別以 參 圖13中的步驟S409,、S419,和S421,代替。在步驟S4〇9 中,g控制器110判斷所接收到的第一資料串中含有要傳 送到智慧卡晶片140後,會將讀取符KRT設定為初始的 讀取符記Ri。在步驟S418中,則會將讀取符記RT累加 —差異值ART。之後,在步驟S4i9,中,則會將目前的讀 取符記RT加到欲傳回主控單元2〇〇的第二回應訊息12〇〇 的讀取符記區606當中。此外,在步驟S421,中,智慧卡 晶片140所產生的回應訊息會與寫入符記WT以及讀取符 0 記RT合併成第一回應訊息。 請參考圖14 ’圖14是根據本發明第二-實施例繪示主 控單元200運作時的流程圖。圖14的流轾大致上與圖3 的流程相同,而兩流程之間的不同點在於圖14的流程中多 了步驟S316和S318,且圖3中的步驟S313以圖14中的 步驟S313’代替。在步驟S313,中’除了會從回傳的資料串 6〇〇中擷取出窝入符記WT之外,亦會從回傳的資料串6〇〇 中擷取出讀取符記RT,並令參數尺丁⑴等於所擷取出的讀 取符記RT。其中,參數RT(t)用以表示目前主控單元200 39 20103380^0038 29959twfdoc/n 所擷取出的讀取符記RT °此外,另一參數RT(t l)則用以 表不主控單兀2GG前-次所擷取出的讀取符記^在步驟 316’中,主控單元200的資科處理模組2〇6會判斷所擷取 出的讀取符記RT是否與主控單元前一次所擁取出的讀取 符記相差預設值ART,亦即判斷參數RT⑴的值是否等於 參數RT(t-l)的值與預設值△ RT的和。倘若 RT(t)=[ RT(t_l)+ART] ’則會進行步驟S319 ;反之條若 RT〇)不等於[RT(t-l)+ART] ’則會進行步驟S317。在步驟 =8’中’會使參數RT(t_1)#於最近—次所練出的讀取 付圮RT,以在擷取下一個讀取符記RT之前,更新參數 RT㈣所欲衫之主控單元前—麵擷 取 記RT的值。 貝,沉 ❹ 综上^述’本發明在從周邊單元中搜尋其資料未被儲 子至^控單70之快取記憶體的賴區塊時,會以跳躍複數 個邏輯區塊的方歧定讀取指令騎應的轉區塊位址, 以加^尋非快取區的過程。如此一來,使主控單元即得 j迅速地避開其資料已存放在快取記憶體的邏輯區塊,並 進而提升主控單林周邊單元之晶片之間的傳輸效率。 $本發明已以較佳實施例揭露如上,然其並非用以 舱*何賴技術領域巾具有通常知識者,在不 因之精神和範圍内’當可作些許之更動與潤飾, 為準。a之保護範圍當視後附之申請專利範圍所界定者 201033807 x ^-^.w8-0038 29959twf.doc/n 【圖式簡單說明】 圖1為習知搭配記憶卡之主控單元的魏方塊圖。 圖2是根據本發明一實施例繪示的資料處理系功 能方塊圖。 圖3是根據本發明第一實施例繪示主控單元運作時的 流程圖。 圖4是根據本發明第一實施例繪示周邊單元運作時的 流程圖。. 圖增示本發明—實施射主控單元通過控制器傳送 曰·?或員料至智慧卡晶片時所採用的資料串之架構。 圖6繪示本發明一實施例中控制器回傳至主控 資料串之結構。 圖7A至圖7C用以說明本發明—實施例中設定指標的 方式。 圖8A和圖8B用以說明本發明另—實施例中設定指 的方式。 圖9A至圖9C用以說明本發明另一實施例中設定指標 的方式。 圖10和圖11用以說明本發明另一實施例中設定指標 Bp的方式。 _圖12繪不本發明另一實施例中控制器回傳至主控單 元的資料串之結構。 圖13是根據本發明第二實施例繪示周邊單元運作時 的流程圖。 O-0038 29959twf.doc/n 圖14是根據本發明第二實施例繪示主控單元運作時 的流程圖。 【主要元件符號說明】 10、200 :主控單元 12 :記憶卡 14、212 :快取記憶體 16:快閃記憶體 ❿ 18、140:智慧卡晶片 100 :周邊單元 110 :控制器 110a :微處理單元 110b :記憶體介面 110c :缓衝記憶體 120 :匯流排連接介面 130 :非揮發性記憶體 ❿ 206 ·.貧料處理模組 S301 〜S321、S401 〜S423、S307’、S313’、S409’、 S419’、S421’、:步驟 500 :資料串 502 :特定標記 504 :指令-應用程式協定資料單元(C-APDU) 506:寫入符記 600、1200 :資料串 42 ΐδ-0038 29959twf.doc/n 201033807 602 :資料區 604 :寫入符記區 606 :讀取符記區 700、800、900、1000、1100 :非快取區 702、704、802、902、904、1002、1102、1104 :快 取區
Bi〜BN、Ba〜Bh :邏輯區塊 WT :寫入符記 RT :讀取符記 d、d〜d3 :間距 tl〜til .時間點 43
Claims (1)
- s-0038 29959twf.doc/n 201033807 七、申請專利範团: 1. -種搜尋特定記憶體區的方法,用以從—周邊單元 =尋其㈣ΐ被儲存至—域單元之快取記紐的邏輯 品該主控單元輕接該周邊單元該方法包括: 一 (控單元11 又疋一指標,該指標是對應到該周邊單 兀的複數個邏輯區塊中的一邏輯區塊; ❹ 魯 讀取指令’該讀取指令是設定紐該指標所 對應的邏輯區塊中讀取資料; 曰(C)該主控單元接收—回傳資料’其巾該回傳資料串 疋因執行該讀取指令而產生; ⑷該主控單元從該回傳資料串中榻取出一寫入符記; 。。一(e)該主控單元判斷所擷取出的該寫入符記與該主 早7C所儲^的寫人符記之間是否具有一對應關係;以及工 倘若_取出的該寫人符記與該主控單元所儲存 去k..“入符5己之間無該對應關係,則重新設定該指標, f複執行步驟(b)、⑻、⑷和(Φ直到在重複執行的步驟⑻ 斷:出的另一寫入符記在重複執行的步驟(e)中被判 鮮it所儲存的該寫人符記之間具有該對應關 辞i止i其中被重新設定後的該指標所對應的邏輯區塊與 =標取近—錄域紋前賴應的賴區塊之間相隔 〜複數個邏無齡的至少—觸輯區塊。 2. 如申請專利範圍第i項所述之方法,其中步 上括攸該回傳資料串中擷取出—讀取符記,而該方法另包 44 e-0038 29959twf.doc/n 201033807 (g) 該主控單元判斷所擷取出的該讀取符記是否與該 主控單兀4一次所擷取出的一讀取符記相差一預設值;以 及 (h) 倘若所擷取出的該讀取符記與該主控單元前一次 所操取出的讀取符記不相差該預設值,則重新設定該指 標,並重複執行步驟(b)、(c)、⑷、⑹、⑴和⑻,直到在 重複執行的步驟(d)中所擷取出的讀取符記在重複執行的 ® 步驟(g)被判斷為與該主控單元前一次所擷取出的讀取符 記相差該預設值為止。 3. 如申睛專利範圍第1項所述之方法,其中所有被執 仃的讀取指令係在多個回合内被執行,而該多個回合係依 據該指標被重新設定前後所對應的兩邏輯區塊的位址之間 的變異量為正值或負值來區分。 4. 如申請專利範圍第3項所述之方法,其中每一回合 内所執行的多個讀取指令中,任兩個接續地被執行的讀取 指令所對應的兩邏輯區塊之間的間距為一定值。 5. 如申請專利範圍第4項所述之方法,其中該多個回 合包括一第一回合和一第二回合,而在該第二回合内被執 行的讀取指令所對應的多個邏輯區塊之位址是藉由將該第 一回合内被執行的讀取指令所對應的多個邏輯區塊之位址 皆偏移一預設邏輯區塊數後獲得。 6. 如申請專利範圍第3項所述之方法,其中每一個回 合内被執行的多個讀取指令其所對應的邏輯區塊中,除該 回合内之第一個和最後一個被執行的讀取指令所對應的兩 45 邏輯區塊之外,對在該回合内任一個被執行的讀取指令所 對應的邏輯區塊而言,該邏輯區塊與前一個被執行的讀取 指令所對應的邏輯區塊之間相隔的邏輯區塊之數目小於該 邏輯區塊與下一個被執行的讀取指令所對應的邏輯區塊之 間相隔的邏輯區塊之數目。 7. 如申請專利範圍第6項所述之方法,其中該多個回 合包括一第一回合和一第二回合’而在該第二回合内第一 ❹ 個被執行的讀取指令所對應的邏輯區塊之位址是藉由將該 第一回合内第一個被執行的讀取指令所對應的邏輯區塊之 位址偏移一預設邏輯區塊數後獲得。 8. 如申請專利範圍第6項所述之方法,其中在第—回 合内,除第一個被執行的讀取指令所對應的邏輯區塊之 外’在該第一回合内的每一個被執行的讀取指令所對應的 邏輯區塊與前一個被執行的讀取指令所對應的邏輯區塊之 間所相隔的邏輯區塊之數目是依據該複數個邏輯區塊的總 ^ 數以及前一個被執行的讀取指令所對應的該邏輯區塊位於 1 亥複數個邏輯區塊中的位置而诀定。 9. 如申請專利範圍第3項所述之方法,其中在該多個 回合的第一回合内所執行的單一個讀取指令係設定為讀取 該複數個邏輯區塊當中第一個邏輯區塊與最後一個邏輯區 塊之間的一第一區塊,而預計在該多個回合的第二回合内 執行的兩個讀取指令係分別被設定為讀取該複數個邏輯區 塊當中第一個邏輯區塊與該第一區塊之間的一第二區塊, 以及最後一個邏輯區塊與該第一區塊之間的一第三區塊。 46 201033807 10. 如申請專利範圍第9項所述之方法,其中預計在該 多個回合的第三回合内執行的四個讀取指令係分別被設定 為讀取該複數個邏輯區塊當中第一個邏輯區塊與該第二區 塊之間的一第四區塊、該第二區塊與該第一區塊之間的一 第五區塊、該第一區塊與該第三區塊之間的一第六區塊, 以及該第三區塊與最後一個邏輯區塊之間的一第七區塊。 11. 如申请專利範圍第3項所述之方法,其中每一回合 内所執打的多個讀取指令中,任兩個接續地被執行的讀取 指令所對應的兩邏輯區塊之間的間距是變動的間距。 12. 如申請專利範圍第1項所述之方法,其中在每一次 f新設賴指標時,係將—間距累加至該指標,以重新設 疋該#曰私,而倘若該指標在累加該間距後超出該複數個邏 輯^塊的位址關’聽新設定後的該指標等於累加後的 該指標減去該複數個邏輯區塊的總容量。^4.如申請專利範圍第13項所述之方法,逆疋方法,其中當所擷取 元所儲存的該寫入符記之間具 47 8-0038 29959twf.d〇c/n 201033807 有該對應關係時,戶斤掘宜 所儲存的該寫二的該寫人符記會與該 • 種主控單元,耦接至一周邊單元 主控單元 括 該主控單元包 :快取記,用⑽存資料;以及 體邊單,尋其資料未 ❹ ❹ 其中該資料處理模組設定一指標 數個邏輯區塊當中的-邏輯== 回傳f料串,該回傳資料串是因執行 應的邏讀取指令被設定為從該指標所對 其中該資料處理模組從該回傳資料串中操取出一寫 乂ί f判斷所#|取出的該寫人符記與該主控單元所儲 #纺二入己之間疋否具有一對應關係而倘若所擷取出 符記無主控單元賴存賴寫人符記之間無該 關係’職新設定該指標’制該資料處賴組從後 續所接收_回傳資料串㈣取出與該主控單元所儲存的 該寫入符記之間具有該對應關係的寫入符記為止,而該資 料$理模組後續所接收到的每一回傳資料串係因執行後續 的指令*產生,而每—後續的讀取指令被設定為從重 新設定後的該指標所對應的邏輯區塊中讀取資料; t其中被重新設定後的該指標所對應的邏輯區塊與該 指標最近一次被重新設定前所對應的邏輯區塊之間相隔該 48 -0038 29959twf.doc/n 201033807 複數個邏輯區塊_的至少—個邏輯區塊。 18.如申請專利範圍第17項所述之主控 的該寫入符記與該主控單元所儲存的該ΐ:: 枓串中擷取出-讀取符記,並進一步地判 〜寻f =該資料處理模組所擷取出的前—個讀取符^相 擷取出的前-個讀取符記不相差該預設值, 指標’直肋資顺賴組從賴所接㈣的 = :擷取出與前—個讀取符記相差該預設值的讀取符記為 、19.如申請專利範圍第17項所述之主控單元,其中所 ^被執行的讀取指令係在多伽合喊執行,^該多個回 合係依據該指標被重新設定前後所對應的兩邏輯區塊的位 址之間的變異量為正值或負值來區分。 ❿ 20. 如申請專利範圍第19項所述之主控單元,其中每 一回合内所執行的多個讀取指令中,任兩個接續地被執行 的讀取指令所對應的兩邏輯區塊之間的間距為一定值。 21. 如申請專利範圍第2〇項所述之主控單元,其中該 多個回合包括一第一回合和一第二回合,而在該第二回合 内被執行的讀取指令所對應的多個邏輯區塊之位址是藉由 將該第一回合内被執行的讀取指令所對應的多個邏輯區塊 之位址皆偏移一預設邏輯區塊數後獲得。 22. 如申請專利範圍第19項所述之主控單元,其中每 49 c-0038 29959twf.doc/n 一個回合内被執行的多個讀取指令其所對應的邏輯區塊 中,除該回合内之第一個和最後一個被執行的讀取指令所 對應的兩邏輯區塊之外,對在該回合内任—個被執行的讀 取指令所對應的邏輯區塊而言,該邏輯區塊與前一個被執 行的讀取指令所對應的邏輯區塊之間相隔的邏輯區塊之數 目小於該邏輯區塊與下一個被執行的讀取指令所對應的邏 輯區塊之間相隔的邏輯區塊之數目。 23. 如申請專利範圍第22項所述之主控單元,其中該 多個回合包括-第-回合和一第二回合,而在該第二回合 内第一個被執行的讀取指令所對應的邏輯區塊之位址是藉 由將該第-回合内第-個被執行的讀取指令所對應的邏輯 區塊之位址偏移一預設邏輯區塊數後獲得。 24. 如申請專利範圍第22項所述之主控單元,其中在 第一回合内,除第一個被執行的讀取指令所對應的邏輯區 塊之外,在該第一回合内的每一個被執行的讀取指令所對 應的邏輯區塊與前一個被執行的讀取指令所對應的邏輯區 魯 塊之間所相隔的邏輯區塊之數目是依據該複數個邏輯區塊 的總數以及前一個被執行的讀取指令所,對應的該邏韓區塊 位於該複數個邏輯區塊中的位置而決定。 25. 如申請專利範圍第19項所述之主控單元,其中在 該多個回合的第一回合内所執行的單一個讀取指令係設定 為讀取該複數個邏輯區塊當中第一個邏輯區塊與最後一個 邏輯區塊之間的一第一區塊,而預計在該多個回合的第二 回合内執行的兩個讀取指令係分別被設定為讀取該複數個 50 201033807 6-0038 29959tw£doc/n 邏輯區塊當令第-個邏輯區塊與該第一區塊之間的 _ :,以及最後一個邏輯區塊與該第一區塊之間的一;: 26.如㈣專職_ 25項所述之主控單元, 計在該多伽合的第三回合内執行的四個讀取^預 被設定為讀取該複數個邏輯區塊當中第—個邏輯 第二區塊之間的-第四區塊、該第二區塊與該第一t該 ❹ 間的-第五區塊、該第—區塊與該第三區 = 區塊,以域第三區塊與最後—個麵m = 區塊。 π第七 27_請專利_第19項所述之主控單元 -回合内所執行的多個讀取指令中,任兩個接續地被^ ^讀取指令所對應的兩邏輯區塊之間的間距是變動的g 28.如申請專利範圍第17項所述之主控單元, 該;標時,係將一間距累加至該指標Ξ 重新=該指標,_若雜標在累加關距後超出該 數個邏輯區塊的位址細,則錢談定後的該指標等於累 加後的該指標減去該複數個邏輯區塊的總容量。 、 29·如申請專利範圍第28項所述之主控單元,其中該 間距為變動的間距。 30.如申請專利範圍第29項所述之主控單元,其中該 間距會隨著該指標被重新設定的先後順序,依序地遞增至 一最大間距為止。 51 -0038 29959twf.doc/n 201033807 過該快取記憶體。 日u賣料的傳遞皆會通 所17項所狀1控單it,其中舍 所擷取出的該寫入符記與該主 、中田 =該對應關係時,所擷取出的該寫 控皁兀所儲存的該寫入符記一致。 曰與該主 ❸ 33.—種資科處理系統,包括: 一周邊單元;以及 取記憶單元’該主控單元包括—快 料,而、”姓♦貝料處理模組’該快取記憶體用以儲存資 模組用以從該周邊單元中搜尋1資S 被儲存至該快取記憶體的邏輯區塊;搜u枓未 兮用該資料處理模經設定一指標’以將該指桿對摩到 ❹-讀取指人而^ 口傳㈣串’該回傳資料串是因執行 觸邏輯;塊4取g讀取指令被設定為從該指標所對 入符料處理從該回傳資料串中擷取出一寫 存的寫:符與該主控單元_ 軸收到的回‘:===: 52 201033807 6-0038 29959twf.doc/n 該寫入符記之間具有該對應關係的寫入符記為止,而該資 料處理模组後續所接收到的每'回傳資料串係因執行後續 的讀取指令而產生’而每一後續的讀取指令被設定為從重 新設定後的該指標所對應的邏輯區塊中讀取資料; 其中被重新設定後的該指標所對應的邏輯區塊與該 指標最近一次被重新設定前所對應的邏輯區塊之間相隔該 複數個邏輯區塊中的至少一個邏輯區塊。34.如申請專利範圍第33項所述之資料處理系統,其 中該周邊單元包括: ^ 一匯流排連接介面,耦接該主控單元,用以從該主 單元接收指令和資料;以及 ^ -微處理單元,输該匯流排連接介面,用 匯流排連接介面從魅控單元所接收的指令。 其 中該= 單咖34項所述之賴理系統, 二非揮發性記憶體,用以儲存資料;以及令倘i6所職之射彻系統,其 入符記之間具有該f_;、:則該寫 傳資料串中擷取出―如〜以料處理模組另從該回 記是否與該資料處理模组;斤進一步地判斷該讀取符 -預設值,㈣若所*擷取出的前,讀取符記相差 出的該讀取符記與該資料處理模 53 〇-003δ 29959twf.doc/n 201033807 組所擷取tB的前-_取符記糾目差觀設值,㈣ 為止。 取處理模組從後續所接收到的回傳i 出/、則一個讀取符記相差該預設值的讀取符記37.如申請專利範圍第%項所述之資料處理系統,直 中所有被執行的讀取指令係在多個回合内被執行,而該/多 個回合係依據該指標被重新設定前後所對應的兩邏輯^塊 的位址之間的變異量為正值或負值來區分。 —38.如申s月專利範圍第37項所述之資料處理系統,盆 中母-回产内所執行的多個讀取指令中,任兩個接續地被 執行的讀取指令所應的兩邏輯區塊之間的間距為一定 值。 ‘ 39·如申明專利範圍第38項所述之資料處理系統,其 中該多個回合包括-第1合和—第二回合,而在該第二 回合内被執行的讀取指令所對應的多個邏輯區塊之位址是 藉由將該第-回合喊執行的讀取齡輯應的多麵輯 區塊之位址皆偏移一預設邏輯區塊數後獲得。 斤40.如申請專利範圍第37項所述之資料處理系統,其 中每一個回合内被執行的多個讀取指令其所對應的邏輯區 塊中除該回合内之第一個和最後一個被執行的讀取指令 所對應的兩邏輯區塊之外,對在該回合内任一個被執行的 讀取指令所對應的邏輯區塊而言,該邏輯區塊與前一個被 執打的讀取指令所對應的邏輯區塊之間相隔的邏輯區塊之 數目小於該邏輯區塊與下一個被執行的讀取指令所對應的 54 201033807 >〇-0038 29959twf.doc/n 邏輯區塊之間相隔的邏輯區塊之數目。 41.如申請專利範圍第40項所述之資料處理系統,其 中該多個回合包括一第一回合和一第二回合,而在該第二 回合内第一個被執行的讀取指令所對應的邏輯區塊之位址 是藉由將該第一回合内第一個被執行的讀取指令所對應的 邏輯區塊之位址偏移一預設邏輯區塊數後獲得。 ❹ 42·如申請專利範圍第40項所述之資料處理系統,其 中在第一回合内’除第一個被執行的讀取指令所對應的邏 輯區塊之外,在該第一回合内的每一個被執行的讀取指令 =對應的賴區塊與前—個被猜的讀取指令所對應的邏 輯區塊之間所相隔的邏輯區塊之數目是依據該複數個邏輯 區塊的總數以及前—個被執行的讀取指令騎應的該邏輯 區塊位於該複數個邏輯區塊中的位置而決定。 ❹ 43.如申叫專利範圍第37項所述之資料處理系統,其 :,該夕個回&的第—回合内所執行的單—個讀取指令係 設定為讀取難數個邏輯區塊當巾第-個賴區塊與最後 :個,區=間的一第一區塊,而預計在該多個回合的 數i ^播:2兩個讀取指令係分別被設定為讀取該複 ^個=輯當中第―個邏龍塊與該第—區塊之間的一 ’以及最後i邏籠塊與該第—間的一 弟二區塊。 中預81帛43请伽系統,其 分別被設定為嬙街二的第二回δ内執行的四個讀取指令係 二s k複數個邏輯區塊當中第一個邏輯區塊 55 -«-0038 29959twf.doc/n 與該第二區塊之間的一第四區塊、該第二區塊與該第一區 塊之間的一第五區塊、該第一區塊與該第三區塊之間的一 第六區塊,以及該第三區塊與最後一個邏輯區塊之間的一 第七區塊。 45.如申請專利範圍第37項所述之資料處理系統,其 中每一回合内所執行的多個讀取指令中,任兩個接續地被執行的讀取指令所對應的兩邏輯區塊之間的間距是變動的 間距。 46. 如申請專利範圍第33項所述之資料處理系統,其 中在每一次重新設定該指標時,係將一間距累加至該^ 標,以重新設定該指標若該指標在f、加該間距後超 出該複數個邏輯區塊的健職,射新設定後的該指標 等於累加後的該指標減去該複數麵龍塊的總容量。 47. 如申明專利範圍第46項所述之資料處理系統,其 中該間距為變動的間距。 ’、48.如申請專利範圍第47項所述之資料處理系統,盆 增==標被重新設定的先後順序’依序地遞 , * 會通過該練之崎有齡與㈣的傳遞皆 中當帛33項所紅資祕理系統,其 符$之門且右4^寫入符記與該主控單元所儲存的該寫入 付技間具有該對應_時 56 0038 29959iwf.doc/n ❹ m 201033807 該主控單元所儲存的該寫入符記—致。 51. —種搜尋特定記憶體區 行以在-周邊單元中搜尋特定記其^主控單元朝 编接-周邊單元,且該主控單元智其中該主控單元 包括: 早凡錯存-寫入符記,該方法 (a)設定一指標,該指標是對 邏輯區塊中的-邏輯區塊;應_周邊單元的複數個 所=卿轉衫蚊從該指標 讀取產—生回_料串’其中該回傳資料串是因執行該 =)依據該回傳資料串辑該 把之間是否具有—對應H该寫入付 ⑷偏若該回傳資料串與該 係,則將-間距?加㈣料n &之間無5請應關 複執行步^w !! 以重新設定該指標,並重 入符化之門結^+^’朗所接收之轉㈣串與該寫 付》己之間具有該對應關係為止; 邏輯:欠累广至該指標的該間距至少為該複數個 ===個邏輯區塊的容量,且所累加的各間距 區塊之容量於該複數個邏輯區塊之單一邏輯 52·如申請專利範圍第51項 個邏二區塊中的每一個邏輯區塊具有相同的容量广稷 .如申請專利範圍第51項所述之方法,其中步驟(d) 57 «-0038 29959twf.doc/n 201033807 包括從該回傳資料串中擷取出另一 出的該寫Μ記與触料柄取 ^即判斷該回傳資料串與該寫人符記之間二 元包 括 .54.-種主控單元’輕接至一周邊單元,該主控單 一快取記憶體,用以儲存資料;以及、一資料處理模組,用以從該周邊單元中搜尋其貪料 被儲存至該快取記憶體的邏輯區塊; 、/ 其中該資料處理模組設定一指標,以將該指標對應到 ,周邊單元的複數個邏輯區塊當中的一邏輯區塊,之後該 資料處理模組接收一回傳資料串,該回傳資料串是因執^ 一讀取指令而產生,而該讀取指令被設定為從該指標所對 應的邏輯區塊中讀取資料; 其中該資料處理模組依據該回傳資料串判斷該回傳 資料串與該寫入符記之間是否具有一對應關係,而倘若該 〇 回傳資料串與該寫入符記之間無該對應關係,則將一間距 累加至該指標,以重新設定該指標,直到所接收之回傳資 料串與該寫入符記之間具有該對應關係為止,而該資料處 理模組後續所接收到的每一回傳資料串係因執行後續的讀 取指令而產生,而每一後續的讀取指令被設定為從重新設 定後的該指標所對應的邏輯區塊中讀取資料; 其中每一次累加至該指標的該間距至少為該複數個 邏輯區塊中至少一個邏輯區塊的容量,且所累加的各間距 58 201033807 0038 29959twf.doc/n 中至少有-峡大於或等於純數個簡 區塊之容量的兩倍。 尾〈早邏料 .55.如申料補_ 54項所狀讀 複數個邏輯區塊中的每-個邏龍塊具有相同的容量 56. 如U利範圍第54項所述之主控 祕理模組從該回傳資料串中擷取出另一寫入符ί而 當所摘取出的該寫人符記與該主控單存寫 參 ;-致時’該資料處理模組即判斷該回傳資 符記之間具有該對應_。 U寫入 57. —種資料處理系統,包括: 一周邊單元;以及 二主控單元,耦接該周邊單元,該主控單元包括一快 七及—資料處理模組’該快取記憶體用以儲存資 理模組用以從該周邊單元中搜尋其資料未 被储存至該快取記憶體的邏輯區塊; 哕届::該ΐ料處理模組設定一指標’以將該指標對應到 早70的複數個邏輯區塊#中的—邏輯區塊,之後該 二組接收—回傳f料串’該回傳資料串是因執行 賴取=讀取指令被設定為從該指標所對 其中該>料處理模組依據該回傳資料串判斷該回傳 記之間是否具有一對應關係,而倘若該 口得貢㈣_寫人符記之間無靖應_,則將—間距 累加至該指標,以重新設定該指標,朗所接收之回傳資 59 201033 807. .0038 29959 twf.doc/n 料串與該寫入符記之間具有該對應關係為止’而該資料處 理模組後續所接收到的每一回傳資料串係因執行後續的讀 取指令而產生,而每一後續的讀取指令被設定為從重新設 定後的該指標所對應的邏輯區塊中讀取資料; 其中每一次累加至該指標的該間距至少為該複數個 邏輯區塊中至少一個邏輯區塊的容量,且所累加的各間距 e 中至少有一間距大於或等於該複數個邏輯區塊之單—邏輯 區塊之容量的兩倍。 58.如申請專利範圍第57項所述之資料處理系 並 :該複數個邏輯區塊中的每一個邏輯區塊具有相同的ς 59.如申睛專利範圍第π 次 中該資料處理模組從 1 =理系統,其記,而當所擷取屮的封舍貝科串中擷取出另一寫入傳 寫入符記一致時該資:符記與該主控單元所鍺存的該 該寫入符記之間具有該對應^組即判斷該回傳資料串與 60
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW098107686A TWI406130B (zh) | 2009-03-10 | 2009-03-10 | 資料處理系統、控制器及其搜尋特定記憶體區的方法 |
| US12/437,832 US8281072B2 (en) | 2009-03-10 | 2009-05-08 | Data processing system, controller, and method thereof for searching for specific memory area |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW098107686A TWI406130B (zh) | 2009-03-10 | 2009-03-10 | 資料處理系統、控制器及其搜尋特定記憶體區的方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201033807A true TW201033807A (en) | 2010-09-16 |
| TWI406130B TWI406130B (zh) | 2013-08-21 |
Family
ID=42731794
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW098107686A TWI406130B (zh) | 2009-03-10 | 2009-03-10 | 資料處理系統、控制器及其搜尋特定記憶體區的方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8281072B2 (zh) |
| TW (1) | TWI406130B (zh) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103116470A (zh) * | 2011-11-16 | 2013-05-22 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器及数据串传送与识别方法 |
| TWI596486B (zh) * | 2011-11-04 | 2017-08-21 | 群聯電子股份有限公司 | 記憶體儲存裝置、記憶體控制器及資料串傳送與識別方法 |
| TWI664541B (zh) * | 2013-08-13 | 2019-07-01 | 美商美光科技公司 | 用於自主記憶體搜尋之方法及系統 |
| US10778815B2 (en) | 2013-12-02 | 2020-09-15 | Micron Technology, Inc. | Methods and systems for parsing and executing instructions to retrieve data using autonomous memory |
| US11586577B2 (en) | 2009-09-11 | 2023-02-21 | Micron Technology, Inc. | Autonomous memory architecture |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI397821B (zh) * | 2009-01-19 | 2013-06-01 | Phison Electronics Corp | 資料串傳送方法、系統及其控制器 |
| US9037907B2 (en) | 2011-06-10 | 2015-05-19 | International Business Machines Corporation | Operator message commands for testing a coupling facility |
| US8689240B2 (en) | 2011-06-10 | 2014-04-01 | International Business Machines Corporation | Transmitting operator message commands to a coupling facility |
| US8918797B2 (en) | 2011-06-10 | 2014-12-23 | International Business Machines Corporation | Processing operator message commands |
| US8560737B2 (en) * | 2011-06-10 | 2013-10-15 | International Business Machines Corporation | Managing operator message buffers in a coupling facility |
| US8799522B2 (en) | 2011-06-10 | 2014-08-05 | International Business Machines Corporation | Executing a start operator message command |
| CN103886044A (zh) * | 2014-03-11 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 搜索结果的提供方法和装置 |
| US10298649B2 (en) * | 2017-02-15 | 2019-05-21 | Microsoft Technology Licensing, Llc | Guaranteeing stream exclusivity in a multi-tenant environment |
| US20260081010A1 (en) * | 2023-05-15 | 2026-03-19 | Healthgpt, Inc. Dba Hippocratic Ai | Multi-call memory to interject previously gathered information into a conversation between an artificial intelligence (ai) and a human |
| CN117609152B (zh) * | 2023-10-27 | 2024-09-06 | 广州致远仪器有限公司 | 一种数据回读方法、装置、设备及存储介质 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI259366B (en) * | 2002-02-20 | 2006-08-01 | Nagracard Sa | Data block storing method in a memory |
| US7904723B2 (en) * | 2005-01-12 | 2011-03-08 | Interdigital Technology Corporation | Method and apparatus for enhancing security of wireless communications |
| US9734086B2 (en) * | 2006-12-06 | 2017-08-15 | Sandisk Technologies Llc | Apparatus, system, and method for a device shared between multiple independent hosts |
| US20090013148A1 (en) * | 2007-07-03 | 2009-01-08 | Micron Technology, Inc. | Block addressing for parallel memory arrays |
-
2009
- 2009-03-10 TW TW098107686A patent/TWI406130B/zh active
- 2009-05-08 US US12/437,832 patent/US8281072B2/en active Active
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11586577B2 (en) | 2009-09-11 | 2023-02-21 | Micron Technology, Inc. | Autonomous memory architecture |
| TWI596486B (zh) * | 2011-11-04 | 2017-08-21 | 群聯電子股份有限公司 | 記憶體儲存裝置、記憶體控制器及資料串傳送與識別方法 |
| CN103116470A (zh) * | 2011-11-16 | 2013-05-22 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器及数据串传送与识别方法 |
| CN103116470B (zh) * | 2011-11-16 | 2016-04-13 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器及数据串传送与识别方法 |
| TWI664541B (zh) * | 2013-08-13 | 2019-07-01 | 美商美光科技公司 | 用於自主記憶體搜尋之方法及系統 |
| US10778815B2 (en) | 2013-12-02 | 2020-09-15 | Micron Technology, Inc. | Methods and systems for parsing and executing instructions to retrieve data using autonomous memory |
Also Published As
| Publication number | Publication date |
|---|---|
| US8281072B2 (en) | 2012-10-02 |
| TWI406130B (zh) | 2013-08-21 |
| US20100235899A1 (en) | 2010-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201033807A (en) | Data processing system, controller, and method thereof for searching specific memory area | |
| TWI596486B (zh) | 記憶體儲存裝置、記憶體控制器及資料串傳送與識別方法 | |
| TWI397821B (zh) | 資料串傳送方法、系統及其控制器 | |
| TW200834593A (en) | Command scheduling method and apparatus of virtual file system embodied in nonvolatile data storage device | |
| TW200907677A (en) | Data tree storage methods, systems and computer program products using page structure of flash memory | |
| TW201013682A (en) | One-time-programmable memory emulation | |
| TW200903250A (en) | Cache memory device and data processing method of the device | |
| CN106327188A (zh) | 支付应用中银行卡的绑定方法及装置 | |
| TW201423399A (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
| TWI526827B (zh) | 快閃記憶體檔案系統及方法 | |
| US20150347016A1 (en) | Input/output virtualization (iov) host controller (hc) (iov-hc) of a flash-memory-based storage device | |
| TW201207621A (en) | Method for dispatching and transmitting data stream, memory controller and memory storage apparatus | |
| TW201234177A (en) | Data access method, and memory controller and memory storage apparatus using the same | |
| US20250362927A1 (en) | Concurrent image measurement and execution | |
| TW201303605A (zh) | 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置 | |
| CN118585119A (zh) | 数据访问方法、终端设备及存储介质 | |
| US8544424B2 (en) | System, controller and method thereof for transmitting and distributing data stream | |
| TW201122810A (en) | Block management and data writing method, flash memory storage system and controller | |
| TW200941215A (en) | Management method, management apparatus and controller for memory data access | |
| US11354293B2 (en) | Method and apparatus for indexing multi-dimensional records based upon similarity of the records | |
| WO2026000922A1 (zh) | 数据存储装置、数据存储系统及所使用的数据整理方法 | |
| CN103116470B (zh) | 存储器储存装置、存储器控制器及数据串传送与识别方法 | |
| CN101853216B (zh) | 数据处理系统、控制器及其搜寻特定内存区的方法 | |
| TW201128655A (en) | Flash memory storage device, controller thereof, and programming management method thereof | |
| CN105279463A (zh) | 一种刷卡、读卡方法及移动终端、读卡器 |