TW202111546A - 用於進行記憶裝置之存取控制的方法及控制晶片 - Google Patents

用於進行記憶裝置之存取控制的方法及控制晶片 Download PDF

Info

Publication number
TW202111546A
TW202111546A TW108131654A TW108131654A TW202111546A TW 202111546 A TW202111546 A TW 202111546A TW 108131654 A TW108131654 A TW 108131654A TW 108131654 A TW108131654 A TW 108131654A TW 202111546 A TW202111546 A TW 202111546A
Authority
TW
Taiwan
Prior art keywords
transmission interface
memory device
access
user
interface
Prior art date
Application number
TW108131654A
Other languages
English (en)
Other versions
TWI715181B (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 TW108131654A priority Critical patent/TWI715181B/zh
Priority to US16/994,688 priority patent/US11221969B2/en
Application granted granted Critical
Publication of TWI715181B publication Critical patent/TWI715181B/zh
Publication of TW202111546A publication Critical patent/TW202111546A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

本發明提供一種用於進行一記憶裝置之存取控制的方法以及控制晶片,其中該控制晶片耦接至一主裝置。該方法包含:利用該控制晶片的一第一傳輸介面判斷該記憶裝置是否支援異於該第一傳輸介面的一第二傳輸介面以產生一判斷結果;以及依據一使用者對於該主裝置的使用者權限,判斷是否容許該控制晶片基於該判斷結果來決定是否利用該控制晶片的該第二傳輸介面來存取該記憶裝置。另外,若該使用者權限符合一預定條件,該主裝置的使用者介面上可顯示一彈出視窗,以供該使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置。

Description

用於進行記憶裝置之存取控制的方法及控制晶片
本發明係關於記憶裝置的存取控制,尤指一種用於進行一記憶裝置之存取控制的方法及控制晶片。
快速周邊組件互連(Peripheral Component Interconnect Express, PCIe)介面(簡稱為PCIe介面)是一種常見於電子裝置中的高速介面,在數十年的發展下,已經成為一種可靠的高速介面。PCIe介面可用於系統和周邊裝置之間的溝通,由於其容易擴充的特性,PCIe介面也被應用於機殼的外部接口(port)以容許一些可移除式裝置(例如外接式裝置)透過PCIe介面和系統連接,讓使用者不用拆開機殼就能享受到PCIe介面帶來的好處。例如,符合ExpressCard標準的介面就是將PCIe介面提供給外接式裝置連接使用。
然而,利用具備PCIe介面的外接式裝置進行直接記憶體存取(Direct Memory Access)功能(簡稱DMA功能)已經是一種常見且容易的電腦攻擊(可稱為直接記憶體存取攻擊(DMA attack))或資料竊取的手段。即便使用者已將螢幕上鎖,有心人士依然能使用改造過後之具備PCIe介面的裝置,並且利用此裝置具備的DMA功能來掃描使用者電腦的記憶體的內容,輕易地達到竊取資料的目的。由於資安越來越被重視,許多方法已被提出來嘗試避免此種情況發生,而最簡單的方法就是移除上述符合PCIe標準的外部接口。在此狀況下,使用者可能難以享受到使用PCIe介面的好處。因此,需要一種新穎的方法以及裝置(例如控制晶片),以在沒有副作用或較不會帶來副作用的情況下解決相關技術的問題。
本發明之一目的在於提供一種用於進行一記憶裝置之存取控制的方法及控制晶片,以解決相關技術中資安與效能(例如使用快速周邊組件互連(Peripheral Component Interconnect Express, PCIe)介面(簡稱PCIe介面)帶來的好處諸如傳輸速度等)難以兼顧的問題。
本發明至少一實施例提供一種用於進行一記憶裝置之存取控制的方法,且該方法可應用於(applicable to)耦接至一主裝置(host device)的一控制晶片。該方法包含:利用該控制晶片的一第一傳輸介面判斷該記憶裝置是否支援異於該第一傳輸介面的一第二傳輸介面以產生一判斷結果,其中該第二傳輸介面係可應用於直接記憶體存取(direct memory access, DMA);以及依據該判斷結果,選擇性地於耦接至該主裝置的一使用者介面上顯示一彈出視窗(pop-up window),以供一使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置。
本發明至少一實施例提供一種用於進行一記憶裝置之存取控制的方法,且該方法可應用於耦接至一主裝置的一控制晶片。該方法包含:利用該控制晶片的一第一傳輸介面判斷該記憶裝置是否支援異於該第一傳輸介面的一第二傳輸介面以產生一判斷結果,其中該第二傳輸介面係可應用於直接記憶體存取;以及依據一使用者對於該主裝置的一使用者權限,判斷是否容許該控制晶片執行一控制方案,其中該控制方案包含基於該判斷結果來決定是否利用該控制晶片的該第二傳輸介面來存取該記憶裝置。
本發明至少一實施例提供一種用於進行一記憶裝置之存取控制的控制晶片,且該控制晶片包含一選擇電路、一第一傳輸介面以及異於該第一傳輸介面的一第二傳輸介面。該選擇電路耦接至一主裝置,而該第一傳輸介面以及該第二傳輸介面分別耦接至該選擇電路,其中該第二傳輸介面係可應用於直接記憶體存取。當該控制晶片偵測到該記憶裝置被插入時,該控制晶片可利用該第一傳輸介面判斷該記憶裝置是否支援該第二傳輸介面以產生一判斷結果。另外,依據該判斷結果,該主裝置可選擇性地於耦接至該主裝置的一使用者介面上顯示一彈出視窗,以供一使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置。
本發明至少一實施例提供一種用於進行一記憶裝置之存取控制的控制晶片,且該控制晶片包含一選擇電路、一第一傳輸介面以及異於該第一傳輸介面的一第二傳輸介面。該選擇電路耦接至一主裝置,而該第一傳輸介面以及該第二傳輸介面分別耦接至該選擇電路,其中該第二傳輸介面係可應用於直接記憶體存取。當該控制晶片偵測到該記憶裝置被插入時,該控制晶片可利用該第一傳輸介面判斷該記憶裝置是否支援該第二傳輸介面以產生一判斷結果。另外,依據一使用者對於該主裝置的一使用者權限,該主裝置可判斷是否容許該選擇電路執行一控制方案,其中該控制方案包含基於該判斷結果來決定是否利用該第二傳輸介面來存取該記憶裝置。
本發明藉助權限管理及/或初始化的流程中的判斷機制,建立了一種針對直接記憶體存取攻擊(DMA attack)的防護機制,使得具有通常資安觀念的使用者在使用具備外部PCIe介面的電子裝置(例如個人電腦)時,對於資安相關的攻擊能有一定程度的預防能力。因此,本發明能在沒有副作用或較不會帶來副作用的情況下解決相關技術的問題。
第1圖為依據本發明實施例之一記憶裝置200插入一電子裝置10的示意圖。在本實施例中,電子裝置10的例子可包含(但不限於):筆記型電腦、平板電腦或行動電話等等,而記憶裝置200可為符合安全數位(secure digital, SD)標準的記憶卡,但本發明不限於此。電子裝置10包含一主裝置50以及耦接至主裝置(host device)50之一存取裝置100(例如一讀卡機),其中主裝置50可依據一程式碼50C(例如電子裝置10的作業系統之程式模組及/或與存取裝置100相對應的驅動程式)來控制存取裝置100的運作。另外,存取裝置100可包含一插槽20以及耦接至插槽20的一控制晶片30,其中插槽20可用來連接控制晶片30以及記憶裝置200以允許主裝置50透過控制晶片30對記憶裝置200進行存取。
在本實施例中,控制晶片30可包含耦接至插槽20之一介面偵測模組(諸如一介面偵測電路120)、一橋接電路140、一控制電路160、一選擇電路180以及一寫保護偵測端子WP,其中介面偵測電路120以及寫保護偵測端子WP分別耦接至控制電路160,且控制電路160另耦接至選擇電路180,但本發明不限於此。另外,選擇電路180之一組第一端子T1係耦接至插槽20,而橋接電路140係耦接於選擇電路180之一組第二端子T2與插槽20之間。需注意的是,選擇電路180的該組第一端子T1與插槽20(尤其,插入插槽20的記憶裝置200)依據快速周邊組件互連(Peripheral Component Interconnect Express, PCIe)(簡稱PCIe)通訊協定來進行資料傳輸(在圖示中於對應的雙箭號上標示為PCIe);此外,選擇電路180的該組第二端子T2與橋接電路140依據PCIe通訊協定來進行資料傳輸(在圖示中於對應的雙箭號上標示為PCIe),而橋接電路140與插槽20(尤其,插入插槽20的記憶裝置200)依據異於PCIe通訊協定之超高速(ultra high speed, UHS)一類(簡稱為UHS-I)通訊協定來進行資料傳輸(在圖示中於對應的雙箭號上標示為UHS-I),其中橋接電路140係用來進行PCIe通訊協定以及UHS-I通訊協定之間的轉譯,但本發明不限於此;其中主裝置50耦接至選擇電路180之一組第三端子T3,並且依據PCIe通訊協定與控制晶片30進行資料傳輸。
另外,寫保護偵測端子WP可用來監控(monitor)一寫保護偵測訊號VD,以供偵測該記憶裝置200之一寫保護開關是否被開啟,以產生一寫保護偵測結果,其中寫保護偵測端子WP可耦接至控制晶片30的一接腳(pin),以提供控制晶片30寫保護偵測訊號VD。在某些實施例中,寫保護開關可為開啟狀態,而該寫保護偵測訊號VD之電壓位準將維持在一預設電壓位準(例如,3.3V);在第1圖所示之實施例中,由於寫保護開關為關閉狀態,寫保護偵測訊號VD之電壓位準會被拉至異於該預設電壓位準之電壓位準(例如,接地電壓位準)。也就是說,寫保護偵測端子WP可透過監控寫保護偵測訊號VD的電壓位準來產生該寫保護偵測結果。在本實施例中,寫保護偵測訊號VD的電壓位準會隨著選用的插槽20而有不同,第1圖中寫保護偵測訊號VD下拉至接地電壓位準只是一種實現方式,本發明不限於此。為便於理解本發明,在本發明後續實施例中均假設寫保護開關為關閉狀態,但本發明不限於此。
介面偵測電路120可偵測記憶裝置200是否支援一第一通訊協定諸如PCIe通訊協定,以產生一介面偵測結果。需注意的是,依據本實施例所繪示的介面偵測電路120的方塊圖只是為了說明之目的,並非本發明的限制。在某些實施例中,介面偵測電路120可實施為控制電路160的一部分,或者,介面偵測電路120與控制電路160可實施為選擇電路180的一部分,但本發明不限於此。另外,介面偵測電路120並不限於透過硬體或軟體(例如透過介面訊號作為判斷條件)的方式來實施,凡是能輔助存取裝置100來偵測記憶裝置200是否支援該第一通訊協定者均隸屬於本發明之範疇。另外,在本實施例中,控制晶片30包含一第一傳輸介面(例如一UHS-I介面)以及異於該第一傳輸介面的一第二傳輸介面(例如可應用於直接記憶體存取(direct memory access, DMA)的傳輸介面諸如一PCIe介面),其中該UHS-I介面透過橋接電路140耦接至選擇電路180(尤指選擇電路180的該組第二端子T2),而該PCIe介面透過不具有任何橋接電路的一旁通(bypass)路徑耦接至選擇電路180(尤指選擇電路180的該組第一端子T1)。由於該第一傳輸介面(例如該UHS-I介面)係透過橋接電路140才能進行直接記憶體存取(例如依據PCIe通訊協定進行直接記憶體存取),因此相較於將PCIe介面設置於裝置外部(例如控制晶片30外部、存取裝置100外部、或電子裝置10外部)的該第二傳輸介面,該第一傳輸介面(例如該UHS-I介面)較不容易遭受來自外部/外接裝置的直接記憶體存取攻擊(DMA attack)。
為了圖示簡明起見,圖示中並未繪示該第一傳輸介面以及該第二傳輸介面的方塊圖,而是利用標示「PCIe」以及「UHS-I」的雙箭號來分別表示利用PCIe介面與UHS-I介面進行的資料傳輸。需注意的是,不論使用何種方式實施上述介面偵測模組的功能,控制晶片30均可在初始化過程中利用該UHS-I介面來接收用來判斷記憶裝置200是否支援該第一通訊協定的訊號。
第2圖為依據本發明一實施例之一種用於進行一記憶裝置之存取控制的方法的流程圖,其中該方法可應用於(applicable to)耦接至一主裝置的一控制晶片諸如第1圖所示之控制晶片30。需注意的是,只要不影響整體結果,第2圖所示的一或多個步驟可於該方法中被新增、刪除及/或修改,且該一或多個步驟並非必須依照第2圖所示之順序執行。為便於理解,請連同第1圖參考第2圖。
在步驟210中,一使用者將記憶裝置200插入電子裝置10的存取裝置100中,流程開始。
在步驟220中,當控制晶片30偵測到任何記憶卡(例如記憶裝置200)被插入時,控制晶片30可利用該第一傳輸介面(例如該UHS-I介面)判斷記憶裝置200是否支援該第二傳輸介面(例如該PCIe介面)以產生一判斷結果,例如,利用該第一傳輸介面自記憶裝置200接收相關的資訊以供判斷記憶裝置200是否支援該第二傳輸介面。若是,流程進入步驟230;否則,流程進入步驟260。
在步驟230中,耦接至主裝置50(例如該使用者的一個人電腦)的一使用者介面(例如連接該個人電腦的一顯示裝置)可顯示一彈出視窗(pop-up window),如第3圖所示,以供該使用者決定要利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取記憶裝置200。
在步驟240中,該使用者可利用該彈出視窗選擇要利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取記憶裝置200。若該使用者選擇該第二傳輸介面諸如該PCIe介面(例如按下第3圖中標示為「SD Express」的按鈕),流程進入步驟250;若該使用者選擇該第一傳輸介面諸如該UHS-I介面(例如按下第3圖中標示為「UHS-I」的按鈕),流程進入步驟260。
在步驟250中,由於記憶裝置200支援該第二傳輸介面,且該使用者選擇了該第二傳輸介面,因此選擇電路180會將該組第三端子T3耦接至該組第一端子T1以利用該第二傳輸介面(例如該PCIe介面)來存取記憶裝置200,例如初始化為安全數位快捷(SD Express)模式。需注意的是,進入步驟250以前,選擇電路180預設是將該組第三端子T3耦接至該組第二端子T2(即控制晶片30預設是利用該第一傳輸介面(例如該UHS-I介面)來存取記憶裝置200),但本發明不限於此。
在步驟260中,選擇電路180會將該組第三端子T3繼續耦接至該組第2端子T2以利用該第一傳輸介面(例如該UHS-I介面)來存取記憶裝置200,例如初始化為傳統安全數位(legacy SD)模式。例如,記憶裝置200可能不支援該第二傳輸介面,此時選擇電路180直接利用該第一傳輸介面來存取記憶裝置200(即自步驟220進入步驟260);又例如,雖然記憶裝置200支援該第二傳輸介面,但使用者選擇該第一傳輸介面,此時選擇電路180依然利用該第一傳輸介面來存取記憶裝置200,而不利用該第二傳輸介面(即自步驟240進入步驟260)。
第2圖所示之方法利用了控制晶片30預設是利用了相對安全(較不容易受到直接記憶體存取攻擊)的傳輸介面(例如該UHS-I介面)來存取記憶裝置200的特性,並且藉助於存取記憶裝置200的初始化流程來實現對直接記憶體存取攻擊的防護機制。例如,一個具有通常資安觀念的使用者在離開座位時通常會將個人電腦的螢幕上鎖,並要透過特定方式來解鎖(例如,輸入特定密碼),在此狀況下,若有任何人想利用改裝過的電子裝置來連接這台電腦的外部PCIe介面並竊取資料,因不知上述螢幕解鎖方法,無法按下視窗中的選擇SD Express介面,因而無法透過上述支援PCIe通訊協定的存取裝置來竊取資料。在這樣的情況下,必須把電腦外殼拆開連接其內部的PCIe才能達到目的,因此,竊取的難度提升,其所需的時間也加長。又例如,一個具有通常資安觀念的使用者欲透過個人電腦來存取一個不被信任的記憶裝置,這個使用者在選擇要使用上述第一傳輸介面以及第二傳輸介面中的哪一個來存取這個記憶裝置時,能選擇該第一傳輸介面以避免這個記憶裝置直接的連接上個人電腦的PCIe介面。
第4圖為依據本發明另一實施例之一種用於進行一記憶裝置之存取控制的方法的流程圖,其中該方法可應用於耦接至一主裝置的一控制晶片諸如第1圖所示之控制晶片30。需注意的是,只要不影響整體結果,第4圖所示的一或多個步驟可於該方法中被新增、刪除及/或修改,且該一或多個步驟並非必須依照第2圖所示之順序執行。為便於理解,請連同第1圖參考第4圖。
在步驟410中,一使用者將記憶裝置200插入電子裝置10的存取裝置100中,流程開始。
在步驟420中,當控制晶片30偵測到任何記憶卡(例如記憶裝置200)被插入時,控制晶片30可利用該第一傳輸介面(例如該UHS-I介面)判斷記憶裝置200是否支援該第二傳輸介面(例如該PCIe介面)以產生一判斷結果,例如,利用該第一傳輸介面自記憶裝置200接收相關的資訊以供判斷記憶裝置200是否支援該第二傳輸介面。若是,流程進入步驟430;否則,流程進入步驟450。
在步驟430中,主裝置50可判斷目前登入的使用者對於主裝置50(例如該使用者的一個人電腦)的使用者權限(user permissions)是否符合一預定條件,並且依據這個使用者對於主裝置50的使用者權限是否符合該預定條件,來判斷是否容許選擇電路180執行一控制方案,其中該控制方案包含基於該判斷結果來決定是否利用該第二傳輸介面來存取該記憶裝置。若該使用者對於主裝置50的使用者權限符合該預定條件,流程進入步驟440;否則,流程進入步驟450。
在步驟440中,由於記憶裝置200支援該第二傳輸介面,且該使用者對於主裝置50的使用者權限符合該預定條件,因此選擇電路180會將該組第三端子T3耦接至該組第一端子T1以利用該第二傳輸介面(例如該PCIe介面)來存取記憶裝置200,例如初始化為安全數位快捷(SD Express)模式。需注意的是,進入步驟440以前,選擇電路180預設是將該組第三端子T3耦接至該組第二端子T2(即控制晶片30預設是利用該第一傳輸介面(例如該UHS-I介面)來存取記憶裝置200),但本發明不限於此。
在步驟450中,選擇電路180會將該組第三端子T3繼續耦接至該組第2端子T2以利用該第一傳輸介面(例如該UHS-I介面)來存取記憶裝置200,例如初始化為傳統安全數位(legacy SD)模式。例如,記憶裝置200可能不支援該第二傳輸介面,此時選擇電路180直接利用該第一傳輸介面來存取記憶裝置200(即自步驟420進入步驟450);又例如,雖然記憶裝置200支援該第二傳輸介面,但該使用者對於主裝置50的使用者權限不符合該預定條件,此時選擇電路180依然利用該第一傳輸介面來存取記憶裝置200,而不利用該第二傳輸介面(即自步驟430進入步驟450)。
第4圖所示之方法利用電腦組織管理原則來限制不同使用者對個人電腦的操作,尤其是,限制使用者權限較低的使用者使其無法使用該PCIe介面來存取外接的電子裝置(例如記憶裝置)。例如,一使用者以具有最高權限的帳號登入個人電腦時,控制晶片30可直接依據插入的記憶裝置是否支援該第二傳輸介面來決定使用該第一傳輸介面及該第二傳輸介面中的哪一個來存取這個記憶裝置;又例如,當某一使用者希望能切換到對應於該第二傳輸介面的操作模式時,可鍵入一組密碼來取得一特定權限以便在使用支援該第二傳輸介面的記憶裝置時能使用該第二傳輸介面來存取這個記憶裝置。再舉一例,當某一使用者沒有足夠高的權限又沒有上述可取得該特定權限的該組密碼時,不論插入存取裝置100的記憶裝置是否支援該第二傳輸介面,控制晶片30均會以該第一傳輸介面來存取這個記憶裝置。
第5圖為依據本發明又一實施例之一種用於進行一記憶裝置之存取控制的方法的流程圖,其中該方法可應用於耦接至一主裝置的一控制晶片諸如第1圖所示之控制晶片30,且第5圖所示之方法可視為第2圖所示之方法以及第4圖所示之方法的結合。需注意的是,只要不影響整體結果,第5圖所示的一或多個步驟可於該方法中被新增、刪除及/或修改,且該一或多個步驟並非必須依照第2圖所示之順序執行。為便於理解,請連同第1圖參考第5圖。
在步驟510中,一使用者將記憶裝置200插入電子裝置10的存取裝置100中,流程開始。
在步驟520中,當控制晶片30偵測到任何記憶卡(例如記憶裝置200)被插入時,控制晶片30可利用該第一傳輸介面(例如該UHS-I介面)判斷記憶裝置200是否支援該第二傳輸介面(例如該PCIe介面)以產生一判斷結果,例如,利用該第一傳輸介面自記憶裝置200接收相關的資訊以供判斷記憶裝置200是否支援該第二傳輸介面。若是,流程進入步驟530;否則,流程進入步驟570。
在步驟530中,主裝置50可判斷目前登入的使用者對於主裝置50(例如該使用者的一個人電腦)的使用者權限是否符合一預定條件,並且依據這個使用者對於主裝置50的使用者權限(例如該使用者權限是否符合該預定條件)來判斷是否容許選擇電路180執行一控制方案,其中該控制方案包含基於該判斷結果來決定是否利用該第二傳輸介面來存取該記憶裝置。若該使用者對於主裝置50的使用者權限符合該預定條件,流程進入步驟540;否則,流程進入步驟570。
在步驟540中,耦接至主裝置50的一使用者介面(例如連接該個人電腦的一顯示裝置)可顯示一彈出視窗(pop-up window),如第3圖所示,以供該使用者決定要利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取記憶裝置200。
在步驟550中,該使用者可利用該彈出視窗選擇要利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取記憶裝置200。若該使用者選擇該第二傳輸介面諸如該PCIe介面(例如按下第3圖中標示為「SD Express」的按鈕),流程進入步驟560;若該使用者選擇該第一傳輸介面諸如該UHS-I介面(例如按下第3圖中標示為「UHS-I」的按鈕),流程進入步驟570。
在步驟560中,由於記憶裝置200支援該第二傳輸介面、該使用者對於主裝置50的使用者權限符合該預定條件、且該使用者選擇了該第二傳輸介面,因此選擇電路180會將該組第三端子T3耦接至該組第一端子T1以利用該第二傳輸介面(例如該PCIe介面)來存取記憶裝置200,例如初始化為安全數位快捷(SD Express)模式。需注意的是,進入步驟560以前,選擇電路180預設是將該組第三端子T3耦接至該組第二端子T2(即控制晶片30預設是利用該第一傳輸介面(例如該UHS-I介面)來存取記憶裝置200),但本發明不限於此。
在步驟570中,選擇電路180會將該組第三端子T3繼續耦接至該組第2端子以利用該第一傳輸介面(例如該UHS-I介面)來存取記憶裝置200,例如初始化為傳統安全數位(legacy SD)模式。例如,記憶裝置200可能不支援該第二傳輸介面,此時選擇電路180直接利用該第一傳輸介面來存取記憶裝置200(即自步驟520進入步驟570);又例如,雖然記憶裝置200支援該第二傳輸介面,但該使用者對於主裝置50的使用者權限不符合該預定條件,此時選擇電路180依然利用該第一傳輸介面來存取記憶裝置200,而不利用該第二傳輸介面(即自步驟530進入步驟570);再舉一例,雖然記憶裝置200支援該第二傳輸介面且該使用者對於主裝置50的使用者權限符合該預定條件,但該使用者可能因為不信任記憶裝置200而選擇使用該第二傳輸介面,此時選擇電路180依然利用該第一傳輸介面來存取記憶裝置200,而不利用該第二傳輸介面(即自步驟550進入步驟570)。
第5圖所示之方法主要是依據電腦組織管理原則來選擇性地賦予使用者選擇操作模式的權限,若一使用者對於主裝置50的使用者權限符合該預定條件(例如權限足夠高),該使用者則能夠選擇上述安全數位快捷模式以及傳統安全數位模式的其中一者來運作;而若該使用者對於主裝置50的使用者權限不符合該預定條件(例如權限不夠高),該使用者則僅能夠選擇傳統安全數位模式來運作。
總結來說,本發明提供的用於進行一記憶裝置之存取控制的方法以及控制晶片,運用安全數位記憶卡進行初始化的程序及/或電腦組織管理原則來實現一種較不容易受到直接記憶體存取攻擊的存取控制機制。依據本發明的實施例,使用者能在沒有資安顧慮的情況下體驗到使用該PCIe介面存取記憶裝置的好處,而本發明所提供的控制晶片之架構亦能容許具有通常資安觀念的人有效地避免直接記憶體存取攻擊。另外,本發明的實施例不會大幅地增加額外成本,因此本發明能在沒有副作用或較不會帶來副作用的情況下解決相關技術的問題。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子裝置 100:存取裝置 120:介面偵測電路 140:橋接電路 160:控制電路 180:選擇電路 20:插槽 30:控制晶片 200:記憶裝置 50:主裝置 50C:程式碼 T1:第一端子 T2:第二端子 T3:第三端子 VD:寫保護偵測訊號 WP:寫保護偵測端子 210、220、230、240、250、260、410、420、430、440、450、510、520、530、540、550、560、570:步驟
第1圖為依據本發明實施例之一記憶裝置插入一電子裝置的示意圖。 第2圖為依據本發明一實施例之一種用於進行一記憶裝置之存取控制的方法的流程圖。 第3圖為依據本發明一實施例之一彈出視窗的示意圖。 第4圖為依據本發明另一實施例之一種用於進行一記憶裝置之存取控制的方法的流程圖。 第5圖為依據本發明又一實施例之一種用於進行一記憶裝置之存取控制的方法的流程圖。
10:電子裝置
100:存取裝置
120:介面偵測電路
140:橋接電路
160:控制電路
180:選擇電路
20:插槽
30:控制晶片
200:記憶裝置
50:主裝置
50C:程式碼
T1:第一端子
T2:第二端子
T3:第三端子
VD:寫保護偵測訊號
WP:寫保護偵測端子

Claims (10)

  1. 一種用於進行一記憶裝置之存取控制的方法,可應用於(applicable to)耦接至一主裝置(host device)的一控制晶片,該方法包含: 利用該控制晶片的一第一傳輸介面判斷該記憶裝置是否支援異於該第一傳輸介面的一第二傳輸介面以產生一判斷結果,其中該第二傳輸介面係可應用於直接記憶體存取(direct memory access, DMA);以及 依據該判斷結果,選擇性地於耦接至該主裝置的一使用者介面上顯示一彈出視窗(pop-up window),以供一使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置。
  2. 如申請專利範圍第1項所述之方法,其中依據該判斷結果選擇性地於耦接至該主裝置的該使用者介面上顯示該彈出視窗以供該使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置的步驟包含: 若該判斷結果指出該記憶裝置不支援該第二傳輸介面,則直接利用該第一傳輸介面來存取該記憶裝置;以及 若該判斷結果指出該記憶裝置支援該第二傳輸介面,則於耦接至該主裝置的該使用者介面上顯示該彈出視窗,以供該使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置。
  3. 如申請專利範圍第1項所述之方法,其中該記憶裝置係符合安全數位(secure digital, SD)標準的記憶卡,該第一傳輸介面係一超高速(ultra high speed, UHS)一類(UHS-I)介面,以及該第二傳輸介面係一快速周邊組件互連(Peripheral Component Interconnect Express, PCIe)介面。
  4. 一種用於進行一記憶裝置之存取控制的方法,可應用於(applicable to)耦接至一主裝置(host device)的一控制晶片,該方法包含: 利用該控制晶片的一第一傳輸介面判斷該記憶裝置是否支援異於該第一傳輸介面的一第二傳輸介面以產生一判斷結果,其中該第二傳輸介面係可應用於直接記憶體存取(direct memory access, DMA);以及 依據一使用者對於該主裝置的一使用者權限,判斷是否容許該控制晶片執行一控制方案,其中該控制方案包含基於該判斷結果來決定是否利用該控制晶片的該第二傳輸介面來存取該記憶裝置。
  5. 如申請專利範圍第4項所述之方法,其中依據該使用者對於該主裝置的該使用者權限判斷是否容許該控制晶片執行該控制方案的步驟包含: 若該使用者權限不符合一預定條件,則直接利用該第一傳輸介面來存取該記憶裝置; 若該使用者權限符合該預定條件且該判斷結果指出該記憶裝置不支援該第二傳輸介面,則利用該第一傳輸介面來存取該記憶裝置;以及 若該使用者權限符合該預定條件且該判斷結果指出該記憶裝置支援該第二傳輸介面,則利用該第二傳輸介面來存取該記憶裝置。
  6. 如申請專利範圍第4項所述之方法,其中依據該使用者對於該主裝置的該使用者權限判斷是否容許該控制晶片執行該控制方案的步驟包含: 若該使用者權限不符合一預定條件,則直接利用該第一傳輸介面來存取該記憶裝置;以及 若該使用者權限符合該預定條件,則基於該判斷結果選擇性地於耦接至該主裝置的一使用者介面上顯示一彈出視窗(pop-up window),以供該使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置。
  7. 一種用於進行一記憶裝置之存取控制的控制晶片,包含: 一選擇電路,耦接至一主裝置; 一第一傳輸介面,耦接至該選擇電路;以及 異於該第一傳輸介面的一第二傳輸介面,耦接至該選擇電路,其中該第二傳輸介面係可應用於(applicable to)直接記憶體存取(direct memory access, DMA); 其中當該控制晶片偵測到該記憶裝置被插入時,該控制晶片利用該第一傳輸介面判斷該記憶裝置是否支援該第二傳輸介面以產生一判斷結果,以及依據該判斷結果,該主裝置選擇性地於耦接至該主裝置的一使用者介面上顯示一彈出視窗(pop-up window),以供一使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置; 其中: 若該判斷結果指出該記憶裝置不支援該第二傳輸介面,則該選擇電路直接利用該第一傳輸介面來存取該記憶裝置;以及 若該判斷結果指出該記憶裝置支援該第二傳輸介面,則該主裝置於耦接至該主裝置的該使用者介面上顯示該彈出視窗,以供該使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置。
  8. 一種用於進行一記憶裝置之存取控制的控制晶片,包含: 一選擇電路,耦接至一主裝置; 一第一傳輸介面,耦接至該選擇電路;以及 異於該第一傳輸介面的一第二傳輸介面,耦接至該選擇電路,其中該第二傳輸介面係可應用於(applicable to)直接記憶體存取(direct memory access, DMA); 其中當該控制晶片偵測到該記憶裝置被插入時,該控制晶片利用該第一傳輸介面判斷該記憶裝置是否支援該第二傳輸介面以產生一判斷結果,以及依據一使用者對於該主裝置的一使用者權限,該主裝置判斷是否容許該選擇電路執行一控制方案,其中該控制方案包含基於該判斷結果來決定是否利用該第二傳輸介面來存取該記憶裝置。
  9. 如申請專利範圍第8項所述之控制晶片,其中: 若該使用者權限不符合一預定條件,則該選擇電路直接利用該第一傳輸介面來存取該記憶裝置; 若該使用者權限符合該預定條件且該判斷結果指出該記憶裝置不支援該第二傳輸介面,則該選擇電路利用該第一傳輸介面來存取該記憶裝置;以及 若該使用者權限符合該預定條件且該判斷結果指出該記憶裝置支援該第二傳輸介面,則該選擇電路利用該第二傳輸介面來存取該記憶裝置。
  10. 如申請專利範圍第8項所述之控制晶片,其中: 若該使用者權限不符合一預定條件,則該選擇電路直接利用該第一傳輸介面來存取該記憶裝置;以及 若該使用者權限符合該預定條件,則該主裝置基於該判斷結果選擇性地於耦接至該主裝置的一使用者介面上顯示一彈出視窗(pop-up window),以供該使用者決定利用該第一傳輸介面以及該第二傳輸介面中的哪一個來存取該記憶裝置。
TW108131654A 2019-09-03 2019-09-03 用於進行記憶裝置之存取控制的方法及控制晶片 TWI715181B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108131654A TWI715181B (zh) 2019-09-03 2019-09-03 用於進行記憶裝置之存取控制的方法及控制晶片
US16/994,688 US11221969B2 (en) 2019-09-03 2020-08-17 Method and control chip for performing access control of memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108131654A TWI715181B (zh) 2019-09-03 2019-09-03 用於進行記憶裝置之存取控制的方法及控制晶片

Publications (2)

Publication Number Publication Date
TWI715181B TWI715181B (zh) 2021-01-01
TW202111546A true TW202111546A (zh) 2021-03-16

Family

ID=74679863

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108131654A TWI715181B (zh) 2019-09-03 2019-09-03 用於進行記憶裝置之存取控制的方法及控制晶片

Country Status (2)

Country Link
US (1) US11221969B2 (zh)
TW (1) TWI715181B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115017083A (zh) * 2021-03-05 2022-09-06 苏州倍昊电子科技有限公司 数据传输系统、数据传输装置以及数据传输方法
US11907587B2 (en) * 2021-06-09 2024-02-20 Western Digital Technologies, Inc. Managing persistent memory regions across multiple protocols
TWI761245B (zh) * 2021-07-02 2022-04-11 瑞昱半導體股份有限公司 可存取記憶卡之電子裝置
WO2024043087A1 (ja) * 2022-08-26 2024-02-29 パナソニックIpマネジメント株式会社 ホスト装置、不揮発性記憶装置およびメモリシステム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002730B2 (en) * 2004-04-28 2015-04-07 Richard Postrel Method and system for generating location based purchase incentives based on predicted route of travel
US7624216B2 (en) * 2004-09-28 2009-11-24 Zentek Technology Host controller
KR100784968B1 (ko) * 2006-10-25 2007-12-11 삼성전자주식회사 휴대 단말기 및 그의 심카드별 데이터 구분 표시 방법
JP4980809B2 (ja) * 2007-07-10 2012-07-18 株式会社リコー 画像形成装置、画像形成装置の起動方法、およびプログラム
CN101295281A (zh) * 2008-06-05 2008-10-29 北京中星微电子有限公司 一种对存储设备进行访问权限限制的方法及存储设备
US8447913B2 (en) * 2008-09-16 2013-05-21 International Business Machines Corporation Method to monitor read/write status of flash memory devices
JP5641754B2 (ja) * 2010-03-23 2014-12-17 dブロード株式会社 インターフェースカードシステム
JP5395824B2 (ja) * 2011-02-16 2014-01-22 株式会社東芝 メモリシステム
US20130024931A1 (en) * 2011-07-21 2013-01-24 Wemagin Technology Llc Downloadable communication software tool for flash memory device
US9065569B2 (en) * 2011-10-26 2015-06-23 Mastercard International Incorporated Mobile device output test setting
JP5539296B2 (ja) * 2011-11-29 2014-07-02 シャープ株式会社 電子機器システム及び記憶装置
US9979924B1 (en) * 2014-02-13 2018-05-22 Ambarella, Inc. Vehicle video camera/recorder initiated emergency calling
JP5870163B2 (ja) * 2014-06-30 2016-02-24 達男 眞子 コンテンツ閲覧制限システム、コンテンツ閲覧制限方法及びコンテンツ閲覧制限プログラム並びにリムーバブルメディア読取装置
JP6598453B2 (ja) * 2014-11-12 2019-10-30 キヤノン株式会社 情報処理装置、制御方法、およびプログラム
US10537245B2 (en) * 2015-02-17 2020-01-21 Halo Wearables, Llc Measurement correlation and information tracking for a portable device
KR20170136858A (ko) * 2016-06-02 2017-12-12 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR102580710B1 (ko) * 2016-07-18 2023-09-20 삼성전자주식회사 전자 장치들의 연동 방법 및 장치
TWI638266B (zh) 2017-03-22 2018-10-11 瑞昱半導體股份有限公司 記憶卡存取模組及記憶卡存取方法
JP6861348B2 (ja) * 2017-04-07 2021-04-21 パナソニックIpマネジメント株式会社 スレーブ装置およびホスト装置
JP6854407B2 (ja) * 2017-08-08 2021-04-07 パナソニックIpマネジメント株式会社 カード装置、ホスト装置および通信方法

Also Published As

Publication number Publication date
TWI715181B (zh) 2021-01-01
US20210064551A1 (en) 2021-03-04
US11221969B2 (en) 2022-01-11

Similar Documents

Publication Publication Date Title
TWI715181B (zh) 用於進行記憶裝置之存取控制的方法及控制晶片
US9495524B2 (en) Secure user authentication using a master secure element
US7275263B2 (en) Method and system and authenticating a user of a computer system that has a trusted platform module (TPM)
EP3964984A1 (en) Unlocking method and electronic device
US9536073B2 (en) Device-based application security
US20030200445A1 (en) Secure computer system using SIM card and control method thereof
MXPA02008913A (es) Sistema y metodo para conectar un dispositivo de conducto serial universal a un sistema de computadora anfitrion.
US8539246B2 (en) Secure resume for encrypted drives
US20170185782A1 (en) Electronic apparatus, method and storage medium
WO2016177000A1 (zh) 进入操作系统桌面的方法和移动智能终端
KR20150105393A (ko) 호스트 중앙 프로세싱 유닛 및 호스트 운영 시스템에 의한 제어 및 간섭으로부터 분리된 사용자 승인 및 프레젠스 검출
JP2004078539A (ja) ハードディスクのプライバシー保護システム
EP2254072A1 (en) Biometric authentication unit and biometric authentication method
US20050036285A1 (en) Portable computer
US20140373183A1 (en) Computer and control method thereof
US11347862B2 (en) Credential management for an information handling system
KR20190012093A (ko) 데이터 보호 기능을 갖는 ssd 기반의 저장미디어
CN105809069B (zh) 防止固态驱动器可访问时被移除的装置、方法和该驱动器
US20230214471A1 (en) Storage device, nonvolatile memory system including memory controller, and operating method of the storage device
CN109033848B (zh) 存储数据安全运行方法及系统
KR101739337B1 (ko) 키보드 및 마우스 전용 usb포트 보안장치 및 이를 이용한 바이오스 접근 제한 방법
US20050044408A1 (en) Low pin count docking architecture for a trusted platform
US11669646B2 (en) Security method and apparatus for locking of mediators between console peripheral devices and hosts
CN112486865A (zh) 用于进行存储装置的存取控制的方法及控制芯片
US11093593B2 (en) User authentication for protected actions