TW202213114A - 主機裝置及記憶體系統 - Google Patents

主機裝置及記憶體系統 Download PDF

Info

Publication number
TW202213114A
TW202213114A TW109142816A TW109142816A TW202213114A TW 202213114 A TW202213114 A TW 202213114A TW 109142816 A TW109142816 A TW 109142816A TW 109142816 A TW109142816 A TW 109142816A TW 202213114 A TW202213114 A TW 202213114A
Authority
TW
Taiwan
Prior art keywords
operation mode
memory card
host controller
pcie
host
Prior art date
Application number
TW109142816A
Other languages
English (en)
Other versions
TWI774145B (zh
Inventor
藤本曜久
Original Assignee
日商鎧俠股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日商鎧俠股份有限公司 filed Critical 日商鎧俠股份有限公司
Publication of TW202213114A publication Critical patent/TW202213114A/zh
Application granted granted Critical
Publication of TWI774145B publication Critical patent/TWI774145B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本發明之實施形態提供一種有益於控制支援2種動作模式之記憶卡之主機裝置及記憶體系統。 於記憶卡為第2動作模式之期間,主機控制器監視第2動作模式用之重置信號,以卡存在檢測信號與第2動作模式用之重置信號兩者均被確立之期間持續第1期間以上為條件,檢測第2動作模式中產生錯誤。主機控制器相應於錯誤產生之檢測,而產生用於啟動第1驅動器之第1中斷信號。第1驅動器若因第1中斷信號之產生而被啟動之情形下,藉由控制主機控制器,而將記憶卡之動作模式自第2動作模式變更為第1動作模式。

Description

主機裝置及記憶體系統
本發明之實施形態係關於一種控制記憶卡之主機裝置及記憶體系統。
近年來,各種記憶卡廣泛普及。記憶卡被適用於個人電腦、移動通訊裝置、遊戲機、相機、車載機器等各種主機裝置中。
作為記憶卡之例,業已知悉SD(註冊商標)卡。最近,業界亦開發出支援2種動作模式之新的記憶卡。
本發明所欲解決之問題係提供一種對於支援2種動作模式之記憶卡之控制為有用之主機裝置及記憶體系統。
根據實施形態,主機裝置可控制記憶卡。前述記憶卡支援:經由第1介面而與前述主機裝置通訊之第1動作模式、及經由與前述第1介面不同之第2介面而與前述主機裝置通訊之第2動作模式。前述主機裝置具備:主機控制器、電源電路、及通訊控制電路。前述主機控制器在由前述主機裝置內之處理器執行之程式即第1驅動器之控制下,經由前述第1介面控制前述記憶卡。前述電源電路可對前述記憶卡供給前述第1動作模式及前述第2動作模式兩者所需之第1電源電壓、及僅前述第2動作模式所需且較前述第1電源電壓為低之第2電源電壓。前述通訊控制電路在由前述處理器執行之程式即第2驅動器之控制下,相應於卡存在檢測信號之確立,經由前述第2介面開始與前述記憶卡之通訊。前述主機控制器於前述記憶卡支援前述第2動作模式之情形下,以前述記憶卡之動作模式自前述第1動作模式變更為前述第2動作模式之方式,於前述第1電源電壓被導通之狀態下將前述第2電源電壓導通,且確立給前述通訊控制電路之前述卡存在檢測信號。前述主機控制器於前述記憶卡為前述第2動作模式之期間,監視自前述通訊控制電路輸出之前述第2動作模式用之重置信號。於前述卡存在檢測信號與前述第2動作模式用之前述重置信號兩者均被確立之期間持續第1期間以上之情形下,前述主機控制器檢測前述第2動作模式中產生錯誤,且相應於前述錯誤產生之檢測,而產生用於啟動前述第1驅動器之第1中斷信號。前述第1驅動器若因前述第1中斷信號而由前述處理器予以啟動之情形下,藉由控制前述主機控制器,而將前述記憶卡之動作模式自前述第2動作模式變更為前述第1動作模式。
以下,參照圖式,說明實施形態。
圖1係顯示包含實施形態之主機裝置2之記憶體系統1之構成例的方塊圖。
記憶體系統1包含主機裝置2及記憶卡3。記憶卡3係可插入主機裝置2內之連接器之可移除儲存裝置。記憶卡3例如包含非揮發性記憶體、及控制該非揮發性記憶體之控制器。記憶卡3構成為朝記憶卡3內之非揮發性記憶體寫入資料,並自該非揮發性記憶體讀出資料。
記憶卡3支援以下2種動作模式,即:經由第1介面與主機裝置2通訊之第1動作模式、及經由與第1介面不同之第2介面跟主機裝置2通訊之第2動作模式。即,記憶卡3構成為分別以第1動作模式及第2動作模式動作。
第1介面係例如記憶卡用之既有之介面。第2介面例如係如PCI Express(PCIe)(註冊商標)之泛用介面。
記憶卡3並不限定於此,可實現為例如SD Express卡(註冊商標)。於記憶卡3實現為SD Express 卡之情形下,作為SD卡用之既有之介面之SD介面作為第1介面而使用,PCIe介面作為第2介面而使用。
SD Express卡支援SD模式、及PCIe/NVMe模式之2種動作模式之兩者。SD模式係經由SD介面與主機裝置2通訊之動作模式。PCIe/NVMe模式係經由PCIe介面與主機裝置2通訊之動作模式。
主機裝置2具備第1介面及第2介面之兩者。主機裝置2可使用第1動作模式來控制記憶卡3,且亦可使用第2動作模式來控制記憶卡3。
以下,例示記憶卡3為SD Express卡之情形,針對主機裝置2之構成進行說明。
主機裝置2係可與記憶卡3連接之資訊處理裝置。主機裝置2之例為個人電腦、伺服器電腦、行動終端、車載機器等。主機裝置2包含:CPU 21、系統記憶體22、系統控制器23、SD主機控制器24、電源電路25、及開關電路26。
CPU 21係以控制系統控制器23、及SD主機控制器24之方式構成之處理器。CPU 21經由系統控制器23向系統記憶體22存取。又,CPU 21經由系統控制器23控制SD主機控制器24。雖然系統控制器23與SD主機控制器24之間之介面無特別限定,但SD主機控制器24經由例如PCIe介面連接於系統控制器23。於系統控制器23中包含PCIe介面控制器231、及中斷控制器232等。
CPU 21係以執行儲存於系統記憶體22之控制程式(操作系統(OS)、主機驅動器、PCIe/NVM Express(NVMe)(註冊商標)驅動器等)之方式構成之處理器。主機驅動器係由CPU 21執行之程式(軟體驅動器)。CPU 21藉由執行主機驅動器,而控制SD主機控制器24之動作。PCIe/NVMe驅動器係由CPU 21執行之程式(軟體驅動器)。CPU 21藉由執行PCIe/NVMe驅動器,而控制PCIe介面控制器231之動作。
以下,將藉由執行主機驅動器及PCIe/NVMe驅動器而由CPU 21進行之動作作為由主機驅動器及PCIe/NVMe驅動器執行之動作進行說明。
系統記憶體22係設置於主機裝置2之主記憶體。系統記憶體22例如藉由動態RAM(DRAM)而實現。
電源電路25於SD主機控制器24之控制下,對插入主機裝置2之連接器之記憶卡3,供給兩種電源電壓、即作為第1電源電壓之VDD1(3.3 V)、及作為第2電源電壓之VDD2(1.8 V)。VDD1(3.3V)係為了使記憶卡3以SD模式動作所需之電源電壓。另一方面,為了使記憶卡3以PCIe/NVMe模式動作,而必須對記憶卡3供給VDD1(3.3V)與VDD2(1.8V)之兩者。
電源電路25相應於來自SD主機控制器24之第1電源電壓控制信號VDD1-ON,控制電源電壓VDD1之導通/關斷。又,電源電路25相應於來自SD主機控制器24之第2電源電壓控制信號VDD2-ON,控制電源電壓VDD2之導通/關斷。
更詳細而言,電源電路25當第1電源控制信號VDD1-ON成為高位準時,將第1電源電壓VDD1導通,當第1電源控制信號VDD1-ON成為低位準時,將第1電源電壓VDD1關斷。又,電源電路25當第2電源控制信號VDD2-ON成為高位準時,將第2電源電壓VDD2導通,當第2電源控制信號VDD2-ON成為低位準時,將第2電源電壓VDD2關斷。
於記憶卡3中,電源電壓VDD1被供給至作為記憶卡3之電源端子之VDD1端子。電源電壓VDD2被供給至作為記憶卡3之另一電源端子之VDD2端子。
SD主機控制器24係以於主機驅動器之控制下,經由第1介面(此處為SD介面)控制記憶卡3之方式構成之主機控制器。SD介面包含時脈信號SD CLK、SD指令SD CMD、4位元資料信號DAT[3:0]。於本實施形態中,SD主機控制器24除經由SD介面與記憶卡3通訊以外,亦於主機驅動器之控制下,執行:用於將記憶卡3之動作模式自SD模式變更為PCIe/NVMe模式之處理、及用於將記憶卡3之動作模式自PCIe/NVMe模式返回SD模式之處理。
具體而言,SD主機控制器24於主機驅動器之控制下,對電源電路25個別地供給控制第1電源電壓VDD1之導通/關斷之第1電源控制信號VDD1-ON、及控制第2電源電壓VDD2之導通/關斷之第2電源控制信號VDD2-ON。
SD主機控制器24首先藉由將第1電源電壓VDD1導通,且對記憶卡3供給時脈信號SD CLK,而使記憶卡3暫時以SD模式動作。時脈信號SD CLK係為了使記憶卡3內之SD介面電路(未圖示)之動作時序與SD主機控制器24之動作時序同步而使用。時脈信號SD CLK被供給至記憶卡3之時脈CLK端子。
又,SD主機控制器24將SD指令SD CMD發送至記憶卡3。SD指令SD CMD包含用於使用SD模式來控制記憶卡3之各種指令。例如,於該SD指令SD CMD中,除包含如讀取/寫入指令之I/O指令以外,還包含作為SD模式用之重置指令之CMD0、及作為用於檢查記憶卡3支援之功能之指令之CMD8等。SD指令SD CMD被供給至記憶卡3之指令CMD端子。
又,SD主機控制器24執行:經由開關電路26將4位元資料信號DAT[3:0]發送至記憶卡3之處理、及經由開關電路26自記憶卡3接收4位元資料信號DAT[3:0]之處理。
又,SD主機控制器24自可供記憶卡3插入之連接器(未圖示)接收卡檢測信號Card Detection。卡檢測信號Card Detection係表示記憶卡3已插入連接器、及已自連接器拔出記憶卡3(以下稱為取出(removal,移除))之信號。當於連接器插入記憶卡3時,連接器輸出表示記憶卡3已插入連接器之具有特定之電壓位準之卡檢測信號Card Detection。又,當自連接器取出記憶卡3時,連接器輸出表示已自連接器取出記憶卡3之具有另一特定之電壓位準之卡檢測信號Card Detection。SD主機控制器24可基於卡檢測信號Card Detection之電壓位準之變化,檢測記憶卡3之插入/取出。卡檢測信號Card Detection之信號電壓位準根據記憶卡3之檢測方式而不同。例如,於使用上拉卡檢測信號Card Detection線之上拉方式之情形下,當於記憶卡3插入連接器時,連接器輸出表示記憶卡3已插入連接器之低位準之卡檢測信號Card Detection。又,當自連接器取出記憶卡3時,連接器輸出表示已自連接器取出記憶卡3之高位準之卡檢測信號Card Detection。
又,於在連接器插入記憶卡3,且以CMD8檢測到該記憶卡3支援PCIe/NVMe模式之情形下,以記憶卡3之動作模式自SD模式變更為PCIe/NVMe模式之方式,SD主機控制器24於第1電源電壓VDD1被導通之狀態下,將第2電源電壓VDD2導通,且確立給PCIe介面控制器231之卡存在檢測信號PRSNT#。卡存在檢測信號PRSNT#係表示於主機裝置2連接有支援PCIe/NVMe模式之記憶卡3、換言之於PCIe介面控制器231連接有PCIe/NVMe裝置之信號。此外,所謂確立信號係意指將信號之電壓位準設定為有效位準。又,所謂解除確立信號係意指將信號之電壓位準設定為無效位準。
由於卡存在檢測信號PRSNT#為低有效信號,故若往向PCIe介面控制器231之卡存在檢測信號PRSNT#確立,則卡存在檢測信號PRSNT#之電壓被設定為低位準。PCIe介面控制器231構成為相應於卡存在檢測信號PRSNT#之確立,利用PCIe/NVMe驅動器,經由PCIe介面開始與記憶卡3之通訊。如此,記憶卡3之動作模式被變更為PCIe模式。
於記憶卡3之動作模式為PCIe/NVMe模式之期間,SD主機控制器24監視作為自PCIe介面控制器231向開關電路26輸出之PCIe介面用之邊帶信號之一之重置信號PERST#。即,SD主機控制器24具有用於輸入自PCIe介面控制器231向開關電路26輸出之重置信號PERST#之輸入端子。該輸入端子連接於PCIe介面控制器231與開關電路26之間之重置信號PERST#線。重置信號PERST#係PCIe/NVMe模式用之重置信號。重置信號PERST#自PCIe介面控制器231經由開關電路26向記憶卡3供給。若確立重置信號PERST#,則記憶卡3內包含之PCIe介面電路(未圖示)被重置為初始狀態(重置狀態)。又,若重置信號PERST#由PCIe介面控制器231解除確立,則記憶卡3內包含之PCIe介面電路之重置狀態被解除,藉此,記憶卡3內包含之PCIe介面電路開始動作。
系統控制器23分別連接於CPU 21、系統記憶體22、及SD主機控制器24。又,於系統控制器23中包含上述之PCIe介面控制器231及中斷控制器232。
PCIe介面控制器231係於PCIe/NVMe驅動器之控制下,經由PCIe介面與記憶卡3通訊之通訊控制電路。
於由SD主機控制器24確立卡存在檢測信號PRSNT#之情形下,PCIe介面控制器231經由PCIe介面開始與記憶卡3之通訊。更詳細而言,若卡存在檢測信號PRSNT#被確立,則啟動PCIe/NVMe驅動器,於PCIe/NVMe驅動器之控制下,PCIe介面控制器231開始PCIe介面之初始化處理。若PCIe介面之初始化處理完成,則於PCIe/NVMe驅動器之控制下,PCIe介面控制器231經由PCIe介面開始向記憶卡3之讀取/寫入存取。
PCIe介面包含信號群、即2個邊帶信號(重置信號PERST#、時脈請求信號CLKREQ#)、差動參考時脈信號REFCLK-P、REFCLK-N、差動發送信號Tx-P、Tx-N、及差動接收信號Rx-P、Rx-N。後續於信號名之記號#表示該信號為低有效信號。
重置信號PERST#如上述般係PCIe/NVMe模式用之重置信號。時脈請求信號CLKREQ#係對PCIe介面控制器231請求發送差動參考時脈信號之信號。時脈請求信號CLKREQ#自記憶卡3經由開關電路26被供給至PCIe介面控制器231。差動參考時脈信號REFCLK-P、REFCLK-N於記憶卡3內無需時脈振盪器,可將記憶卡3內之時脈電路之構成簡單化。
2條邊帶信號線(重置信號PERST#線、時脈請求信號CLKREQ#線)、與2條參考時脈信號REFCLK-P、REFCLK-N線經由開關電路26連接於記憶卡3之DAT[3:0]端子。
差動發送信號Tx-P、Tx-N係為了自PCIe介面控制器231向記憶卡3傳送指令、資料等而使用。差動接收信號Rx-P、Rx-N係為了自記憶卡3向PCIe介面控制器231傳送響應、資料等而使用。
且說,於記憶卡3之動作模式為PCIe/NVMe模式之期間,記憶卡3及PCIe介面控制器231各者之動作係由PCIe/NVMe驅動器控制。為了能夠基於最新之PCIe/NVMe規格而控制PCIe介面控制器231,較佳使用標準PCIe/NVMe驅動器,作為該PCIe/NVMe驅動器。若自訂PCIe/NVMe驅動器,則每當標準PCIe/NVMe驅動器更新時,便必須重新自訂PCIe/NVMe驅動器。
標準PCIe/NVMe驅動器由於為與主機驅動器獨立之軟體驅動器,故不具有用於與主機驅動器通訊之特別功能。又,於記憶卡3為PCIe/NVMe模式之期間,主機驅動器被設定為休眠狀態,避免消耗CPU 21之資源。
因此,於使用標準PCIe/NVMe驅動器之環境中,若於PCIe之初始化處理中、或PCIe/NVMe模式下之記憶體存取動作中產生某些錯誤,則記憶卡3會於PCIe/NVMe模式中凍結,由此便無法使用記憶卡3。
此情形下,為了使記憶卡3之動作模式自PCIe/NVMe模式返回SD模式,使用者必須暫時拔出記憶卡3且再次插入連接器、或重啟OS。又,必須將表示於PCIe/NVMe模式下產生錯誤之資訊預先保持於某處,且必須以SD模式啟動記憶卡3。
於本實施形態中,為了於使用標準PCIe/NVMe驅動器之環境下,亦能夠應對在PCIe/NVMe模式中產生之錯誤,而藉由SD主機控制器24檢測PCIe/NVMe模式下有錯誤產生。而後,相應於PCIe/NVMe模式下有錯誤產生之檢測,SD主機控制器24產生用於啟動主機驅動器之中斷信號。若因該中斷信號而由CPU 21啟動主機驅動器,則主機驅動器藉由控制SD主機控制器24,而執行用於將記憶卡3之動作模式自PCIe/NVMe變更為SD模式之處理。
藉此,無需對PCIe/NVMe驅動器追加用於與主機驅動器通訊之特別功能,便可將記憶卡3之動作模式自動返回SD模式。因此,即便不進行使用者暫時拔出記憶卡3並重新插入之操作,亦可使記憶卡3以D模式動作。
於在PCIe介面之初始化處理中或PCIe/NVMe模式之記憶體存取中產生某些錯誤(例如,記憶卡3內之PCIe介面電路之錯誤等)之情形下,一般確立重置信號PERST#之狀態持續較長時間。利用確立重置信號PERST#之狀態持續較長時間此一現象,SD主機控制器24檢測到在PCIe/NVMe模式中產生錯誤。於PCIe介面之初始化處理中或PCIe/NVMe模式之記憶體存取中,PCIe/NVMe驅動器為了某一失敗之處理之重試,而控制PCIe介面控制器231,確立重置信號PERST#。為了重試,而重置信號PERST#維持為確立狀態之期間較短。於本實施形態中,SD主機控制器24構成為不將用於如此之重試之較短之重置檢測為錯誤。
更詳細而言,SD主機控制器24將卡存在檢測信號PRSNT#與重置信號PERST#之兩者均被確立之期間持續第1期間以上作為條件,檢測到在PCIe/NVMe模式中產生錯誤。該錯誤以下亦作為PCIe錯誤(PCIe Error)而參考。
於PCIe/NVMe模式中產生之錯誤(PCIe錯誤)中存在可恢復之錯誤、及無法恢復之錯誤。所謂可恢復之錯誤係意指即便產生與某一處理相關之錯誤,但藉由特定次數以內之重試,而該處理亦成功之錯誤。所謂無法恢復之錯誤係意指即便執行特定次數之重試,處理亦持續失敗之錯誤。於PCIe規格中,無法恢復之錯誤亦作為嚴重(Fatal)錯誤而參考。應由SD主機控制器24檢測到之錯誤係PCIe/NVMe模式之無法恢復之錯誤。可恢復之錯誤自SD主機控制器24之檢測對象排除。
開關電路26選擇4條資料信號DAT[3:0]線、與4條PCIe信號線(重置信號PERST#線、時脈請求信號CLKREQ#線、差動參考時脈信號REFCLK-P、REFCLK-N線)之任一者,並將所選擇之信號線與記憶卡3之DAT[3:0]端子之間連接。
於記憶卡3之動作模式為SD模式之情形下,即於第2電源電壓控制信號VDD2-ON為低之情形下,開關電路26選擇4條資料信號DAT[3:0]線,並將4條資料信號DAT[3:0]線與記憶卡3之DAT[3:0]端子之間分別連接。於記憶卡3之動作模式為PCIe/NVMe模式之情形下,即於第2電源電壓控制信號VDD2-ON為高之情形下,開關電路26選擇4條PCIe信號線(重置信號PERST#線、時脈請求信號CLKREQ#線、差動參考時脈信號REFCLK-P、REFCLK-N線),並將4條PCIe信號線與記憶卡3之DAT[3:0]端子之間連接。
其次,針對由SD主機控制器24產生之中斷信號進行說明。
由SD主機控制器24產生中斷信號時之要因存在「卡插入」、「卡取出」、「PCIe錯誤」。
若檢測到「卡插入」、「卡取出」、或「PCIe錯誤」,則由SD主機控制器24產生對於CPU 21之中斷信號。該中斷信號經由中斷控制器232被供給至CPU 21。
因「卡插入」、「卡取出」、或「PCIe錯誤」之檢測而引起之中斷信號係為了驅動主機驅動器而使用。於藉由中斷信號而啟動主機驅動器之情形下,主機驅動器執行與中斷信號之產生要因(「卡插入」、「卡取出」、或「PCIe錯誤」)相應之中斷處理。若中斷處理結束,則能夠將主機驅動器設為休眠狀態,以免直至進入下一中斷而使用CPU 21,而造成浪費。
於藉由因「PCIe錯誤」引起之中斷信號而啟動主機驅動器之情形下,主機驅動器執行用於將記憶卡3之動作模式自PCIe/NVMe模式變更為SD模式之處理。
如此,於本實施形態中,於由SD主機控制器24檢測到「PCIe錯誤」之產生之情形下,由SD主機控制器24產生中斷信號,藉此,重啟主機驅動器。因此,於使用標準PCIe/NVMe驅動器之環境中,亦可將記憶卡3之動作模式返回SD模式。
圖2係說明實施形態之主機裝置2中包含之SD主機控制器24與PCIe介面控制器231之間之連接關係之方塊圖。
SD主機控制器24檢測到自主機裝置2之連接器發送之卡檢測信號Card Detection之電壓位準自例如高位準變化為低位準,並檢測到記憶卡3已插入連接器。相應於該記憶卡3之插入之檢測,SD主機控制器24產生用於啟動主機驅動器之中斷信號(「卡插入」中斷)。中斷信號經由中斷控制器232被輸入至CPU 21。
主機驅動器使所插入之記憶卡3以SD模式啟動,並確認記憶卡3是否支援PCIe/NVMe模式。於支援PCIe/NVMe模式之情形下,主機驅動器控制SD主機控制器24,並確立卡存在檢測信號PRSNT#。若確立卡存在檢測信號PRSNT#,則PCIe驅動器控制PCIe介面控制器231,並經由PCIe介面開始與記憶卡3之通訊。
又,SD主機控制器24檢測到自連接器發送之卡檢測信號Card Detection之電壓位準自例如低位準變化為高位準,並檢測到記憶卡3已自主機裝置2卸下。相應於該記憶卡3之卸下之檢測,SD主機控制器24產生用於啟動主機驅動器之中斷信號(「卡取出」中斷)。主機驅動器進行將卡電源(二種電源電壓VDD1、VDD2)關斷之處理等。
PCIe介面控制器231於在PCIe/NVMe模式中產生錯誤時等,確立PCIe/NVMe模式用之重置信號PERST#。SD主機控制器24監視自PCIe介面控制器231輸出之PCIe/NVMe模式用之重置信號PERST#。於卡存在檢測信號PRSNT#與重置信號PERST#被同時確立之期間持續某一期間以上之情形下,SD主機控制器24判定為已產生PCIe錯誤,產生用於啟動主機驅動器之中斷信號(「PCIe錯誤」中斷)。
如此,由SD主機控制器24產生中斷信號之要因存在「卡插入」、「卡取出」、及「PCIe錯誤」之三種。
於SD主機控制器24內之狀態暫存器(未圖示)中儲存表示中斷要因之中斷狀態。主機驅動器藉由自SD主機控制器24內之狀態暫存器讀取中斷狀態,而可特定出中斷要因係「卡插入」、「卡取出」、「PCIe錯誤」之哪一者。
其次,針對SD主機控制器24之構成要素進行說明。SD主機控制器24包含重置計時器(Res計時器)241。
重置計時器(Res計時器)241測定卡存在檢測信號PRSNT#與重置信號PERST#之兩者均被確立之期間。
PCIe驅動器於進行重試時,控制PCIe介面控制器231,暫時確立PCIe/NVMe模式用重置信號PERST#。此情形下,將重置信號PERST#維持為確立狀態(有效狀態=低位準)之期間較短(較短之重置)。為了重試而將重置信號PERST#維持為確立狀態之期間例如為最大1秒。重置計時器(Res計時器)241係為了自檢測對象排除用於重試之較短之重置而使用。
重置計時器(Res計時器)241當於往向PCIe介面控制器231之卡存在檢測信號PRSNT#被確立之狀態下,PCIe/NVMe模式用之重置信號PERST#被確立時,自初始值(例如零)開始計數。當於卡存在檢測信號PRSNT#被確立之狀態下,重置信號PERST#被解除確立時,由重置計時器(Res計時器)241進行之計數動作結束。於經解除確立之重置信號PERST#再次被確立時,重置計時器(Res計時器)241再次自初始值(例如零)開始計數。
SD主機控制器24將重置計時器(Res計時器)241之計數值、與儲存於SD主機控制器24之逾時值暫存器242之逾時值進行比較。將重置計時器(Res計時器)241之計數值為逾時值以上作為條件,SD主機控制器24檢測到在PCIe/NVMe模式中產生PCIe錯誤(無法恢復之錯誤)。相應於PCIe錯誤之產生之檢測,SD主機控制器24藉由產生中斷信號,而啟動主機驅動器。
於因PCIe錯誤之產生引起之中斷之處理(PCIe錯誤中斷處理)中,主機驅動器藉由控制SD主機控制器24,而解除確立卡存在檢測信號PRSNT#,並將電源電壓VDD2關斷,藉此,將記憶卡3之動作模式返回SD模式。藉此,可防止記憶卡3以PCIe/NVMe模式凍結,可持續使用記憶卡3。主機驅動器亦可執行經由OS對使用者通知於PCIe/NVMe模式中產生PCIe錯誤之處理(警告)。
主機驅動器藉由將逾時值寫入SD主機控制器24內之逾時值暫存器242,而可對SD主機控制器24指定逾時值。或,逾時值可為預先決定之固定值。
又,SD主機控制器24保存表示於PCIe/NVMe模式中產生PCIe錯誤之旗標(PCIeFerr:PCIe Fatal error,PCIe 嚴重錯誤)。該旗標(PCIeFerr)例如儲存於SD主機控制器24內之旗標暫存器243。
旗標(PCIeFerr)=0表示未產生PCIe錯誤(預設值)。旗標(PCIeFerr)=1表示已檢測到PCIe錯誤之產生。於發生「卡插入」事件時,旗標(PCIeFerr)被清除,並設定為預設值。此外,雖然該旗標(PCIeFerr)於對主機控制器24供給電源之期間被保存,但若停止電源向主機控制器24之供給,則不保存旗標(PCIeFerr)。即,主機控制器24於對主機控制器24供給電源之期間,保存表示檢測到PCIe錯誤之產生之值(=1)之旗標(PCIeFerr)。主機控制器24內之暫存器群為揮發性。因此,若停止電源向主機控制器24之供給,則儲存於旗標暫存器243之旗標(PCIeFerr)之內容(=1)丟失。旗標(PCIeFerr)於下次主機控制器24之啟動時,設定為表示未產生PCIe錯誤之預設值(=0)。此外,不僅於發生「卡插入」事件時,而且於發生「卡取出」事件時,亦可清除旗標(PCIeFerr),並設定為預設值。
於OS由使用者重啟之情形下,主機驅動器自SD主機控制器24之旗標暫存器243讀出旗標(PCIeFerr)。
於插入連接器之記憶卡3支援PCIe/NVMe模式,且旗標(PCIeFerr)不設定為「1」之情形下,主機驅動器以記憶卡3之動作模式自SD模式變更為PCIe/NVMe模式之方式,控制SD主機控制器24。
另一方面,於旗標(PCIeFerr)設定為「1」之情形下,主機驅動器無論插入連接器之記憶卡3是否支援PCIe/NVMe模式,均以記憶卡3以SD模式動作之方式控制SD主機控制器24。即,即便記憶卡3支援PCIe/NVMe模式,主機驅動器均使用SD模式來控制記憶卡3。藉此,防止記憶卡3再次以PCIe/NVMe模式開始使用,藉此,可防止再次產生PCIe錯誤。此外,若停止電源向主機控制器24之供給,則儲存於旗標暫存器243之旗標(PCIeFerr)之內容(=1)丟失。而後,旗標(PCIeFerr)於下次主機控制器24之啟動時,設定為表示未產生PCIe錯誤之預設值(=0)。因此,於在停止電源向主機控制器24之供給之期間,將記憶卡3更換為支援PCIe/NVMe模式之新的記憶卡之情形下,主機驅動器可以該新的記憶卡之動作模式自SD模式變更為PCIe/NVMe模式之方式,控制SD主機控制器24。
圖3係針對在實施形態之主機裝置2中執行之PCIe錯誤檢測之計時器計數進行說明之圖。
於圖3中,橫軸方向表示時間,上段表示卡存在檢測信號PRSNT#,下段表示重置信號PERST#。實線表示某一時刻之各個信號(卡存在檢測信號PRSNT#、重置信號PERST#)之電壓位準。
卡存在檢測信號PRSNT#信號之虛線表示卡存在檢測信號PRSNT#為解除確立狀態之情形之電壓位準(高位準)。於圖3中,設想記憶卡3為PCIe/NVMe模式之情形。因此,卡存在檢測信號PRSNT#被維持為確立狀態(低位準)。
又,重置信號PERST#亦同樣地,電壓較解除確立狀態更降低之狀態係重置信號PERST#被確立之狀態。即,以時序(a)、(c),重置信號PERST#自解除確立狀態轉變為確立狀態。
若於時序(a)及(c)各者,重置信號PERST#自解除確立狀態轉變為確立狀態,則Res計時器241自初始值(例如0)開始經過時間之計數。藉由該計數動作,而測定卡存在檢測信號PRSNT#信號及重置信號PERST#之兩者被確立之時間長。Res計時器241當經過時間之計數值達到逾時值暫存器242之逾時值時,發生逾時事件。
時序(b)表示自時序(a)之經過時間達到逾時值之時點。如圖3所示,例如,於以時序(a)產生用於重試之較短之重置之情形下,於時序(b)之前,將重置信號PERST#自確立狀態轉變為解除確立狀態。此情形下,未發生逾時事件。因此,可防止用於重試之較短之重置被檢測為PCIe/NVMe模式之PCIe錯誤(無法恢復之錯誤)。
時序(d)表示自時序(c)之經過時間達到逾時值之時點。如圖3所示,於在PCIe/NVMe模式中產生PCIe錯誤(無法恢復之錯誤)之情形下,以時序(c)被確立之重置信號PERST#於為逾時值以上之期間,維持為確立狀態。因此,以時序(d)發生逾時事件。將該逾時事件發生作為條件,SD主機控制器24檢測到在PCIe/NVMe模式中產生PCIe錯誤(無法恢復之錯誤)。
其次,針對在主機裝置2中執行之中斷要因辨識處理進行說明。圖4係顯示於實施形態之主機裝置2中執行之中斷要因辨識處理之步序的流程圖。
若由SD主機控制器24產生之中斷信號經由中斷控制器232輸入CPU 21,則主機驅動器由CPU 21啟動。
主機驅動器首先讀出儲存於SD主機控制器24內之狀態暫存器之中斷狀態(步驟S11),基於所讀出之中斷狀態,辨識所產生之中斷信號之要因係「卡插入」、「卡取出」、「PCIe錯誤」之哪一者(步驟S12)。
於所產生之中斷信號之要因係「卡插入」之情形下,主機驅動器執行卡插入中斷處理(步驟S13)。於記憶卡3之插入中斷處理中,主機驅動器將記憶卡3之動作模式暫時設為SD模式,利用CMD8確認記憶卡3是否支援PCIe/NVMe模式,並讀出旗標(PCIeFerr),確認是否產生PCIe錯誤,基於該等確認結果,執行SD模式之初始化處理、或將記憶卡3之動作模式變更為PCIe/NVMe模式之處理。卡插入中斷處理之細節於圖6中後述。
於所產生之中斷信號之要因係「卡取出」之情形下,主機驅動器執行卡取出中斷處理。於卡取出中斷處理中,例如,執行解除確立卡存在檢測信號PRSNT#信號之處理、將VDD1及VDD2關斷之處理等。
於所產生之中斷信號之要因係「PCIe錯誤」之情形下,主機驅動器執行PCIe錯誤中斷處理。於PCIe錯誤中斷處理中,執行將記憶卡3之動作模式自PCIe/NVMe模式變更為SD模式之處理。
圖5係顯示於實施形態之主機裝置2中執行之PCIe錯誤中斷處理之步序的流程圖。
與藉由因「PCIe錯誤」引起之中斷信號,而主機驅動器由CPU 21啟動之情形下,首先,主機驅動器控制SD主機控制器24,使卡存在檢測信號PRSNT#轉變為解除確立狀態(步驟S21)。相應於將卡存在檢測信號PRSNT#自確立狀態轉變為解除確立狀態,而解除PCIe介面控制器231與記憶卡3之間之連接。
其次,主機驅動器控制SD主機控制器24,將第2電源電壓VDD2關斷(步驟S22)。其次,主機驅動器控制SD主機控制器24,開始向記憶卡3供給SD時脈(SD CLK)(步驟S23)。於開始供給SD時脈之後,主機驅動器開始SD模式之初始化處理(步驟S24)。
藉由該動作,若在PCIe/NVMe模式下動作時產生錯誤、且已進行PCIe錯誤之判定,可藉由自SD主機控制器24朝系統控制器23發送因PCIe錯誤而產生之中斷信號,而進行自PCIe/NVMe模式向SD模式之轉移。
圖6係顯示於實施形態之主機裝置2中執行之動作模式切換處理之步序的流程圖。
首先,針對在因「卡插入」而產生中斷信號、從而由CPU 21啟動主機驅動器之情形下執行之卡插入中斷處理,進行說明。
首先,主機驅動器藉由控制SD主機控制器24,清除儲存於旗標暫存器243之旗標(PCIeFerr),而將旗標(PCIeFerr)重置為表示未產生PCIe錯誤之預設值(=0)(步驟S31)。將旗標(PCIeFerr)重置為預設值(初始值)係為了在有新的記憶卡插入連接器之情形時,不禁止使用PCIe/NVMe模式。
其次,主機驅動器控制SD主機控制器24,將第1電源電壓VDD1導通(步驟S32)。具體而言,SD主機控制器24對電源電路25供給用於將VDD1導通之第1電源電壓控制信號VDD1-ON。而後,主機驅動器控制SD主機控制器24,向記憶卡3供給SD時脈(步驟S33)。藉此,記憶卡3以SD模式開始動作。
而後,主機驅動器控制SD主機控制器24,將用於檢查記憶卡3是否支援PCIe/NVMe模式之位元「PCIe 有效性」設定為1之SD指令「CMD8」,發送至記憶卡3。SD指令「CMD8」係用於向記憶卡3詢問記憶卡3之能力之指令。當接收到SD指令「CMD8」時,記憶卡3將包含表示是否支援PCIe/NVMe模式之位元「PCIe 響應」之響應「R7」返回SD主機控制器24。
PCIe 響應=1表示記憶卡3支援PCIe/NVMe模式。PCIe 響應=0表示記憶卡3不支援PCIe/NVMe模式。
於來自記憶卡3之響應「R7」之接收失敗之情形下(步驟S35之錯誤重試),主機驅動器再次對記憶卡3發行位元「PCIe 有效性」設定為1之SD指令「CMD8」。重試SD指令「CMD8」之發行之上限次數係相應於主機驅動器之安裝而決定。
主機驅動器自SD主機控制器24讀出響應「R7」中包含之位元「PCIe 響應」,且自SD主機控制器24讀出旗標(PCIeFerr)。
主機驅動器基於所讀出之位元「PCIe 響應」、與所讀出之旗標(PCIeFerr),決定為了控制記憶卡3而應使用之動作模式(步驟S35)。
於記憶卡3不支援PCIe/NVMe模式之情形下(PCIe 響應=0),或於PCIeFerr=1之情形下,主機驅動器執行SD模式初始化處理(步驟S36)。藉此,記憶卡3被維持為SD模式。
另一方面,於記憶卡3支援PCIe/NVMe模式(PCIe 響應=1)且PCIeFerr=0之情形下,主機驅動器控制SD主機控制器24,執行向PCIe/NVMe模式之切換(步驟S37)。
於步驟S37中,主機驅動器控制SD主機控制器24,停止SD時脈向記憶卡3之供給。又,主機驅動器控制SD主機控制器24,將因「卡插入」事件引起之中斷信號之產生、因「卡取出」事件引起之中斷信號之產生、因「PCIe錯誤」事件引起之中斷信號之產生設為有效。又,主機驅動器控制SD主機控制器24,將VDD2導通,而後,控制SD主機控制器24,確立卡存在檢測信號PRSNT#。藉由卡存在檢測信號PRSNT#被確立,而PCIe介面控制器231開始動作。藉此,記憶卡3之動作模式變更為PCIe/NVMe模式。而後,主機驅動器轉變為休眠狀態(步驟S38)。
於因OS之重啟,而主機驅動器由CPU 21啟動之情形下,主機驅動器首先藉由檢查表示於連接器之SD是否插入記憶卡3之主機控制器24內之特定之暫存器之值,而判定記憶卡3是否插入連接器(步驟S41)。於在OS之重啟中,對主機控制器24持續供給電源之情形下,保存主機控制器24內之各暫存器之值。於在OS之重啟中,停止電源向主機控制器24之供給之情形下,各暫存器之值被設定為初始值。於在記憶卡3插入連接器之情形下,表示於連接器是否插入記憶卡3之特定之暫存器之值於在OS之重啟中停止電源向主機控制器24之供給時,暫時設定為表示於連接器未插入記憶卡3之值,但於對主機控制器24再次供給電源時,再次設定為表示於連接器插入記憶卡3之值。由於旗標(PCIeFerr)儲存於主機控制器24內之旗標暫存器243,故於在OS之重啟中,對主機控制器24持續供給電源之情形下,主機控制器24持續保存表示檢測到PCIe錯誤之產生之值(=1)之旗標(PCIeFerr)。另一方面,若於OS之重啟中,停止電源向主機控制器24之供給,則旗標(PCIeFerr)設定為表示未產生PCIe錯誤之預設值(初始值=0)。如此,旗標(PCIeFerr)設定為初始值(=0)係緣於有在停止電源向主機控制器24之供給之期間將記憶卡3更換為另一記憶卡之情形之故。
此外,為了可於重啟OS時,有效地利用旗標(PCIeFerr)之內容(=1),而主機裝置2可構成為於OS之重啟中,至少向主機控制器24持續供給電源。此情形下,旗標(PCIeFerr)之內容(=1)未丟失。又,於對主機控制器24供給電源之期間,主機控制器24之卡檢測功能有效地發揮功能。因此,於在OS之重啟中,將記憶卡3更換為新的記憶卡之情形下,主機控制器24可檢測新的記憶卡之插入,而後,可將旗標(PCIeFerr)設定為表示未產生PCIe錯誤之預設值(初始值=0)。
於當檢測到記憶卡3之PCIe錯誤之產生之後,於不更換記憶卡3下,重啟OS且於OS之重啟中進行電源向主機控制器24之供給之情形下,記憶卡3之動作模式自SD模式再次變更為PCIe/NVMe模式,而且再次檢測到PCIe錯誤之產生。然而,主機驅動器由於可辨識PCIe錯誤之產生,故可將記憶卡3之動作模式返回SD模式。進而,主機驅動器亦可對使用者通知PCIe/NVMe模式之錯誤之產生。
返回圖6之說明。主機驅動器於判定為於連接器插入記憶卡3之情形下(步驟S41之是),前進至步驟S32之處理。
主機驅動器控制SD主機控制器24,將第1電源電壓VDD1導通(步驟S32)。具體而言,SD主機控制器24對電源電路25供給用於將VDD1導通之第1電源電壓控制信號VDD1-ON。而後,主機驅動器控制SD主機控制器24,向記憶卡3供給SD時脈(步驟S33)。藉此,記憶卡3以SD模式開始動作。
而後,主機驅動器控制SD主機控制器24,將位元「PCIe 有效性」設定為1之SD指令「CMD8」發送至記憶卡3。當接收到SD指令「CMD8」時,記憶卡3將包含表示是否支援PCIe/NVMe模式之位元「PCIe 響應」之響應「R7」返回SD主機控制器24。
主機驅動器自SD主機控制器24讀出響應「R7」中包含之位元「PCIe 響應」,且自SD主機控制器24讀出旗標(PCIeFerr)。
主機驅動器基於所讀出之位元「PCIe 響應」、與所讀出之旗標(PCIeFerr),決定為了控制記憶卡3而應使用之動作模式(步驟S35)。
於記憶卡3不支援PCIe/NVMe模式之情形下(PCIe 響應=0),或於PCIeFerr=1之情形下,主機驅動器執行SD模式初始化處理(步驟S36)。藉此,記憶卡3被維持為SD模式。
換言之,於PCIeFerr=1之情形下,無論記憶卡3是否支援PCIe/NVMe模式,主機驅動器均以記憶卡3以SD模式動作之方式,控制SD主機控制器24。即,即便記憶卡3支援PCIe/NVMe模式,主機驅動器均使用SD模式來控制記憶卡3。其結果,可防止再次產生PCIe錯誤。
另一方面,於記憶卡3支援PCIe/NVMe模式(PCIe 響應=1)且PCIeFerr=0之情形下,主機驅動器控制SD主機控制器24,執行向PCIe/NVMe模式之切換(步驟S37)。而後,主機驅動器轉變為休眠狀態(步驟S38)。
另一方面,於在連接器未插入記憶卡3之情形下(步驟S41之否),主機驅動器立即轉變為休眠狀態(步驟S38)。
此外,於由主機驅動器發行CMD0之情形下(步驟S51),亦執行自步驟S32開始之處理。
如以上所說明般,根據本實施形態,於包含可以PCIe/NVMe模式及SD模式動作之記憶卡3及主機裝置2之記憶體系統1中,SD主機控制器24於記憶卡3支援PCIe/NVMe模式之情形下,以記憶卡3之動作模式自SD模式變更為PCIe/NVMe模式之方式,於VDD1被導通之狀態下,將VDD2導通,且確立卡存在檢測信號PRSNT#。於記憶卡3為PCIe/NVMe模式之期間,SD主機控制器24監視重置信號PERST#。於卡存在檢測信號PRSNT#與重置信號PERST#之兩者均被確立之期間持續第1期間以上之情形下,SD主機控制器24檢測到在PCIe/NVMe模式中產生錯誤(無法恢復之錯誤),產生用於啟動主機驅動器之中斷信號。藉由該中斷信號,而啟動主機驅動器。因此,於使用標準PCIe/NVMe驅動器之環境中,亦可將記憶卡3之動作模式返回SD模式。
此外,雖然於本實施形態中,設想記憶卡3實現為SD Express 卡之情形,但本實施形態之主機裝置2之構成可應用於支援下述模式之各種記憶卡,即:經由第1介面與主機裝置2通訊之第1動作模式、及經由與第1介面不同之第2介面跟主機裝置2通訊之第2動作模式。
雖然說明了本發明之實施形態,但該等實施形態係作為例子而提出者,並非意欲限定發明之範圍。該等新穎之實施形態可以其他各種形態實施,於不脫離發明之旨趣之範圍內可進行各種省略、置換、變更。該等實施形態及其變化,包含於發明之範圍及要旨內,且包含於申請專利範圍所記載之發明及其均等之範圍內。
[相關申請案] 本發明申請案享有以日本專利申請案2020-156163號(申請日:2020年9月17日)為基礎申請案之優先權。本發明申請案藉由參照該基礎申請案而包含基礎申請案之全部內容。
1:記憶體系統 2:主機裝置 3:記憶卡 21:CPU 22:系統記憶體 23:系統控制器 24:SD主機控制器/主機控制器 25:電源電路 26:開關電路 231:PCIe介面控制器 232:中斷控制器 241:重置計時器(Res計時器) 242:逾時值暫存器 243:旗標暫存器 Card Detection:卡檢測信號 CLK:時脈 CLKREQ#:時脈請求信號 CMD:指令 CMD0:重置指令 CMD8,SD CMD:SD指令 DAT[3:0]:資料信號 PCIeFerr:旗標 PERST#:重置信號 PRSNT#:卡存在檢測信號 R7:響應 REFCLK-P, REFCLK-N:差動參考時脈信號/參考時脈信號 Rx-P, Rx-N:差動接收信號 SD CLK:時脈信號 Tx-P, Tx-N:差動發送信號 VDD1:電源電壓/第1電源電壓 VDD1-ON:第1電源電壓控制信號 VDD2:電源電壓/第2電源電壓 VDD2-ON:第2電源電壓控制信號
圖1係顯示包含實施形態之主機裝置之記憶體系統之構成例的方塊圖。 圖2係顯示實施形態之主機裝置中包含之SD主機控制器與PCIe介面控制器之間之連接關係之方塊圖。 圖3係針對在實施形態之主機裝置中執行之PCIe錯誤檢測處理之計時器計數進行說明之圖。 圖4係顯示於實施形態之主機裝置中執行之中斷要因辨識處理之步序的流程圖。 圖5係顯示於實施形態之主機裝置中執行之PCIe錯誤中斷處理之步序的流程圖。 圖6係顯示於實施形態之主機裝置中執行之動作模式切換處理之步序的流程圖。
24:SD主機控制器/主機控制器
26:開關電路
231:PCIe介面控制器
232:中斷控制器
241:重置計時器(Res計時器)
242:逾時值暫存器
243:旗標暫存器
Card Detection:卡檢測信號
PERST#:重置信號
PRSNT#:卡存在檢測信號

Claims (10)

  1. 一種主機裝置,其可控制支援下述模式之記憶卡,即:經由第1介面而與主機裝置通訊之第1動作模式、及經由與前述第1介面不同之第2介面而與前述主機裝置通訊之第2動作模式,且具備: 主機控制器,其在由前述主機裝置內之處理器執行之程式即第1驅動器之控制下,經由前述第1介面控制前述記憶卡; 電源電路,其可對前述記憶卡,供給前述第1動作模式及前述第2動作模式兩者所需之第1電源電壓、及僅前述第2動作模式所需且較前述第1電源電壓為低之第2電源電壓;及 通訊控制電路,其在由前述處理器執行之程式即第2驅動器之控制下,相應於卡存在檢測信號之確立,經由前述第2介面開始與前述記憶卡通訊;且 前述主機控制器構成為, 於前述記憶卡支援前述第2動作模式之情形下,以前述記憶卡之動作模式自前述第1動作模式變更為前述第2動作模式之方式,於前述第1電源電壓被導通之狀態下將前述第2電源電壓導通,且確立給前述通訊控制電路之前述卡存在檢測信號, 於前述記憶卡之動作模式為前述第2動作模式之期間,監視自前述通訊控制電輸出之前述第2動作模式用之重置信號, 於前述卡存在檢測信號與前述第2動作模式用之前述重置信號兩者均被確立之期間持續第1期間以上之情形下,檢測前述第2動作模式中產生錯誤, 相應於前述錯誤產生之檢測,而產生用於啟動前述第1驅動器之第1中斷信號; 前述第1驅動器構成為,若因前述第1中斷信號而由前述處理器予以啟動之情形下,藉由控制前述主機控制器,而將前述記憶卡之動作模式自前述第2動作模式變更為前述第1動作模式。
  2. 如請求項1之主機裝置,其中前述主機控制器包含測定前述卡存在檢測信號與前述重置信號兩者均被確立之期間的計時器,且構成為,在由前述計時器測定出之期間達到前述第1期間之情形下,檢測前述第2動作模式中產生前述錯誤。
  3. 如請求項1之主機裝置,其中前述第1驅動器構成為, 相應於前述第1中斷信號, 藉由控制前述主機控制器,而解除確立前述卡存在檢測信號, 藉由控制前述主機控制器,而將前述第2電源電壓關斷, 藉由控制前述主機控制器,而執行前述第1動作模式之初始化處理。
  4. 如請求項1之主機裝置,其中前述主機控制器於前述主機控制器被供給電源之期間保持設定為第1值之旗標,該第1值表示於前述第2動作模式中產生前述錯誤,於停止向前述主機控制器供給電源之情形下,前述旗標設定為表示無錯誤之初始值;且 前述第1驅動器構成為, 於重啟前述主機裝置之操作系統之情形下, 自前述主機控制器讀出前述旗標, 於前述記憶卡支援前述第2動作模式且前述旗標未設定為前述第1值之情形下,以前述記憶卡之動作模式自前述第1動作模式變更為前述第2動作模式之方式,控制前述主機控制器, 於前述旗標設定為前述第1值之情形下,無論前述記憶卡是否支援前述第2動作模式,均以前述記憶卡以前述第1動作模式動作之方式,控制前述主機控制器。
  5. 如請求項4之主機裝置,其中前述主機控制器相應於表示記憶卡已插入前述主機裝置之連接器之卡檢測信號,而產生用於啟動前述第1驅動器之第2中斷信號;且 前述第1驅動器構成為, 若因前述第2中斷信號而由前述處理器予以啟動之情形下,將前述旗標重置為表示無錯誤之初始值。
  6. 一種記憶體系統,其具備主機裝置及記憶卡;且 前述記憶卡構成為以下述模式動作,即:經由第1介面而與前述主機裝置通訊之第1動作模式、及經由與前述第1介面不同之第2介面而與前述主機裝置通訊之第2動作模式; 前述主機裝置具備: 主機控制器,其在由前述主機裝置內之處理器執行之程式即第1驅動器之控制下,經由前述第1介面控制前述記憶卡; 電源電路,其可對前述記憶卡供給前述第1動作模式及前述第2動作模式兩者所需之第1電源電壓、及僅前述第2動作模式所需且較前述第1電源電壓為低之第2電源電壓;及 通訊控制電路,其在由前述處理器執行之程式即第2驅動器之控制下,相應於卡存在檢測信號之確立,而經由前述第2介面開始與前述記憶卡通訊;且 前述主機控制器構成為, 於前述記憶卡支援前述第2動作模式之情形下,以前述記憶卡之動作模式自前述第1動作模式變更為前述第2動作模式之方式,於前述第1電源電壓被導通之狀態下,將前述第2電源電壓導通,且確立給前述通訊控制電路之前述卡存在檢測信號, 於前述記憶卡為前述第2動作模式之期間,監視自前述通訊控制電輸出之前述第2動作模式用之重置信號, 於前述卡存在檢測信號與前述第2動作模式用之前述重置信號兩者均被確立之期間持續第1期間以上之情形下,檢測前述第2動作模式中產生錯誤, 相應於前述錯誤產生之檢測,而產生用於啟動前述第1驅動器之第1中斷信號; 前述第1驅動器構成為,若因前述第1中斷信號而由前述處理器予以啟動之情形下,藉由控制前述主機控制器,而將前述記憶卡之動作模式自前述第2動作模式變更為前述第1動作模式。
  7. 如請求項6之記憶體系統,其中前述主機控制器包含測定前述卡存在檢測信號與前述重置信號兩者均被確立之期間的計時器,且構成為,在由前述計時器測定出之期間達到前述第1期間之情形下,檢測前述第2動作模式中產生前述錯誤。
  8. 如請求項6之記憶體系統,其中前述第1驅動器構成為, 相應於前述第1中斷信號, 藉由控制前述主機控制器,而解除確立前述卡存在檢測信號, 藉由控制前述主機控制器,而將前述第2電源電壓關斷, 藉由控制前述主機控制器,而執行前述第1動作模式之初始化處理。
  9. 如請求項7之主機裝置,其中前述主機控制器於對前述主機控制器供給電源之期間保持設定為第1值之旗標,該第1值表示於前述第2動作模式中產生前述錯誤,於停止向前述主機控制器供給電源之情形下,前述旗標設定為表示無錯誤之初始值;且 前述第1驅動器構成為, 於重啟前述主機裝置之操作系統之情形下, 自前述主機控制器讀出前述旗標, 於前述記憶卡支援前述第2動作模式且前述旗標未設定為前述第1值之情形下,以前述記憶卡之動作模式自前述第1動作模式變更為前述第2動作模式之方式,控制前述主機控制器, 於前述旗標設定為前述第1值之情形下,無論前述記憶卡是否支援前述第2動作模式,均以前述記憶卡以前述第1動作模式動作之方式,控制前述主機控制器。
  10. 如請求項9之記憶體系統,其中前述主機控制器相應於表示記憶卡已插入前述主機裝置之連接器之卡檢測信號,而產生用於啟動前述第1驅動器之第2中斷信號;且 前述第1驅動器構成為, 若因前述第2中斷信號而由前述處理器予以啟動之情形下,將前述旗標重置為表示無錯誤之初始值。
TW109142816A 2020-09-17 2020-12-04 主機裝置及記憶體系統 TWI774145B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020156163A JP2022049882A (ja) 2020-09-17 2020-09-17 ホスト装置およびメモリシステム
JP2020-156163 2020-09-17

Publications (2)

Publication Number Publication Date
TW202213114A true TW202213114A (zh) 2022-04-01
TWI774145B TWI774145B (zh) 2022-08-11

Family

ID=80776784

Family Applications (2)

Application Number Title Priority Date Filing Date
TW111125941A TWI796260B (zh) 2020-09-17 2020-12-04 主機裝置
TW109142816A TWI774145B (zh) 2020-09-17 2020-12-04 主機裝置及記憶體系統

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW111125941A TWI796260B (zh) 2020-09-17 2020-12-04 主機裝置

Country Status (7)

Country Link
US (1) US20230221887A1 (zh)
EP (1) EP4216102A1 (zh)
JP (1) JP2022049882A (zh)
KR (1) KR20230023781A (zh)
CN (1) CN115956236A (zh)
TW (2) TWI796260B (zh)
WO (1) WO2022059216A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442665B2 (en) * 2020-12-04 2022-09-13 Western Digital Technologies, Inc. Storage system and method for dynamic selection of a host interface
TWI824885B (zh) * 2022-12-15 2023-12-01 慧榮科技股份有限公司 資料儲存裝置與錯誤回復執行方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010668A (ja) * 1998-06-18 2000-01-14 Hitachi Ltd メモリカード供給電圧制御方式
US7836236B2 (en) * 2004-02-12 2010-11-16 Super Talent Electronics, Inc. Extended secure-digital (SD) devices and hosts
JP2003345674A (ja) * 2002-05-29 2003-12-05 Matsushita Electric Ind Co Ltd 入出力装置
JP6861348B2 (ja) 2017-04-07 2021-04-21 パナソニックIpマネジメント株式会社 スレーブ装置およびホスト装置
US11093811B2 (en) * 2017-06-05 2021-08-17 Kioxia Corporation Memory card with multiple modes, and host device corresponding to the memory card
US11003237B2 (en) * 2018-04-12 2021-05-11 Silicon Motion, Inc. Method for performing power management in a memory device, associated memory device and controller thereof, and associated electronic device

Also Published As

Publication number Publication date
JP2022049882A (ja) 2022-03-30
CN115956236A (zh) 2023-04-11
TWI774145B (zh) 2022-08-11
TW202240420A (zh) 2022-10-16
TW202331540A (zh) 2023-08-01
US20230221887A1 (en) 2023-07-13
KR20230023781A (ko) 2023-02-17
WO2022059216A1 (ja) 2022-03-24
EP4216102A1 (en) 2023-07-26
TWI796260B (zh) 2023-03-11

Similar Documents

Publication Publication Date Title
US7739487B2 (en) Method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may booted from
US20230221887A1 (en) Host apparatus and memory system
US10324645B2 (en) Data storage device and data storage method thereof
US20180210783A1 (en) Information processing apparatus, control method of the same, and storage medium
EP3751407B1 (en) Electronic device and method of utilizing storage space thereof
CN114661368B (zh) 一种芯片及其启动方法
CN107145198B (zh) 一种提升服务器对硬盘兼容能力的方法及其主板
US11144109B2 (en) Apparatus, method, and storage medium for controlling a power saving state in a SATA storage system
CN111026421A (zh) 一种升级装置
US11487638B2 (en) Computer program product and method and apparatus for controlling access to flash memory card
US11204632B2 (en) Electronic device and method for controlling the same
US10691569B2 (en) System and method for testing a data storage device
US7266711B2 (en) System for storing data within a raid system indicating a change in configuration during a suspend mode of a device connected to the raid system
CN110297595B (zh) 主机存储器缓冲区配置方法、储存装置与控制电路单元
US8041846B2 (en) Apparatus with reduced latency for master and slave storage devices
CN112749105B (zh) 一种降低espi总线开销的方法和设备
US9606951B2 (en) External electronic device and interface controller and external electronic device control method
US10425545B2 (en) Printing apparatus and method for controlling the same
JPWO2002073384A1 (ja) コンピュータ装置、拡張カード、miniPCIカード、自動電源オン回路、自動立ち上げ方法および信号アクティブ方法
CN117744061A (zh) 内存条的处理方法及装置、存储介质及电子设备
KR101297115B1 (ko) 휴대 인터넷 서비스를 지원하는 장치 및 방법
JP2005165968A (ja) 情報処理装置及びその制御方法