TWI747231B - 閃存裝置的開卡電腦程式產品及方法以及裝置 - Google Patents

閃存裝置的開卡電腦程式產品及方法以及裝置 Download PDF

Info

Publication number
TWI747231B
TWI747231B TW109111718A TW109111718A TWI747231B TW I747231 B TWI747231 B TW I747231B TW 109111718 A TW109111718 A TW 109111718A TW 109111718 A TW109111718 A TW 109111718A TW I747231 B TWI747231 B TW I747231B
Authority
TW
Taiwan
Prior art keywords
flash memory
memory device
code
host
restarted
Prior art date
Application number
TW109111718A
Other languages
English (en)
Other versions
TW202139001A (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 TW109111718A priority Critical patent/TWI747231B/zh
Publication of TW202139001A publication Critical patent/TW202139001A/zh
Application granted granted Critical
Publication of TWI747231B publication Critical patent/TWI747231B/zh

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明涉及一種電腦程式產品,用於閃存裝置的開卡,包含由閃存裝置的處理單元載入並執行的程式碼:在閃存裝置進入測試模式時,判斷閃存裝置是否發生物理性重啟;當閃存裝置發生物理性重啟時,執行第一階段的操作,用於傳送首個訊息給開卡主機;以及當閃存裝置發生代碼重啟時,執行第二階段的操作,用於搜尋閃存模組中讓系統內程式碼參考的資訊,從指定位址獲得系統內程式碼並將系統內程式碼寫入閃存模組。通過如上所述的操作區分及條件性執行一部分操作的判斷,讓處理單元能夠在閃存裝置發生物理性重啟時快速傳送首個訊息給開卡主機,避免花費不必要的時間在空的閃存模組內搜尋資訊。

Description

閃存裝置的開卡電腦程式產品及方法以及裝置
本發明涉及儲存裝置,尤指一種閃存裝置的開卡電腦程式產品及方法以及裝置。
閃存裝置通常分為NOR閃存裝置與NAND閃存裝置。NOR閃存裝置為隨機存取裝置,主裝置(host)可於位址腳位上提供任何存取NOR閃存裝置的位址,並及時地從NOR閃存裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND閃存裝置並非隨機存取,而是序列存取。NAND閃存裝置無法像NOR閃存裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(bytes)的值到NAND閃存裝置中,用以定義請求命令(command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(快閃記憶裝置中寫入作業的最小資料塊)或一個區塊(快閃記憶裝置中抹除作業的最小資料塊)。
閃存裝置通常需要完成開卡程序後才能出廠銷售,而開卡程序耗費的時間在閃存裝置的生產上是個重要的課題。因此,本發明提出一種閃存裝置的開卡電腦程式產品及方法以及裝置,用於減少開卡程序所需的時間。
有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。
本說明書涉及一種電腦程式產品的實施例,用於閃存裝置的開卡, 包含由閃存裝置的處理單元載入並執行的程式碼:在閃存裝置進入測試模式時,判斷閃存裝置是否發生物理性重啟;當閃存裝置發生物理性重啟時,執行第一階段的操作,用於傳送首個訊息給開卡主機;以及當上述閃存裝置發生代碼重啟時,執行第二階段的操作,用於搜尋閃存模組中讓系統內程式碼參考的資訊,從指定位址獲得系統內程式碼並將系統內程式碼寫入閃存模組。
本說明書另涉及一種閃存裝置的開法方法的實施例,由閃存裝置的閃存控制器執行,包含:在閃存裝置進入測試模式時,判斷閃存裝置是否發生物理性重啟;當閃存裝置發生物理性重啟時,執行第一階段的操作,用於傳送首個訊息給開卡主機;以及當上述閃存裝置發生代碼重啟時,執行第二階段的操作,用於搜尋閃存模組中讓系統內程式碼參考的資訊,從指定位址獲得系統內程式碼並將系統內程式碼寫入閃存模組。
本說明書另涉及一種閃存裝置的實施例,包含:唯讀記憶體和處理單元。處理單元耦接唯讀記憶體,用於載入並執行如上所述的程式碼。
上述實施例的優點之一,通過如上所述的操作區分及條件性執行一部分操作的判斷,讓處理單元能夠在閃存裝置發生物理性重啟時快速傳送首個訊息給開卡主機,避免花費不必要的時間在空的閃存模組內搜尋資訊。
本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。
10:開卡系統
110:開卡主機
112:裝置介面
114-1~114-4,132-1~132-16:埠
130:集線器
150,150-1~150-16:閃存裝置
212,237:處理單元
232:主機介面
234:閃存介面
236:揮發性隨機存取記憶體
238:唯讀記憶體
239:輸入輸出介面
250:閃存模組
S310~S390:方法步驟
420:連接器
440:母板
450,460:金屬凸點
490:金屬帽
510:切換機構
S610~S640:方法步驟
圖1為依據本發明實施例的開卡系統架構示意圖。
圖2為依據本發明實施例的開卡主機和閃存裝置的方塊圖。
圖3為依據本發明實施例的執行於生產線上的開卡流程圖。
圖4及圖5為依據本發明實施例的閃存裝置的示意圖。
圖6為依據本發明實施例由閃存裝置的處理單元執行工廠模式代碼 時實施的開卡方法流程圖。
以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的“包含”、“包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如“第一”、“第二”、“第三”等詞是用於修飾權利要求中的元件,並非用於表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用於區別具有相同名字的元件。
必須了解的是,當元件描述為“連接”或“耦接”至另一元件時,可以是直接連結、或耦接至其他元件,可能出現中間元件。相反地,當元件描述為“直接連接”或“直接耦接”至另一元件時,其中不存在任何中間元件。使用來描述元件之間關係的其他語詞也可類似方式解讀,例如“介於”相對於“直接介於”,或者是“鄰接”相對於“直接鄰接”等等。
參考圖1。開卡系統10包含開卡主機(Card-initialization Host)110、集線器(Hub)130、閃存裝置150及顯示器170。閃存裝置150可為隨身碟、閃存記憶卡、固態硬碟(Solid State Disk,SSD)等,包含閃存控制器及多個閃存模組。針對每一個閃存裝置150,在閃存控制器及閃存模組設置在母板(Motherboard)後,還需要完成開卡流程(Card-initialization Process)才能夠出廠並提供給客戶。顯示器170可以是薄膜電晶體液晶顯示器(Thin Film Transistor-Liquid Crystal Display,TFT-LCD Display)、有機發光二極體顯示器 (Organic Light-Emitting Diode,OLED Display)等,在開卡流程中顯示讓工程師或操作員可以觀看的畫面,包含提示的文字、數字、符號、圖案等,或以上任意組合。
開卡主機110可用個人電腦、筆記型電腦(Laptop PC)、工業用電腦(Industrial Computer)、工作站(Workstation)等實施。開卡主機110包含裝置介面112,具有多個埠(ports)114-1至114-4,每個埠可連接一個集線器,例如埠114-1連接集線器130。雖然圖1描述的裝置介面112只配備4個埠,但所屬技術領域人員可在裝置介面112上配備更多或更少的埠,讓開卡主機110能夠連接上更多或更少的集線器,本發明不應因此受限。集線器130包含多個埠132-1至132-16,每個埠可插上一個閃存裝置150,例如閃存裝置150-1至150-16中的任何一個。需注意的是,為了讓說明書簡明,以下段落使用閃存裝置150來描述時,代表其說明的結構、功能、方法步驟或其他技術內容能夠應用在閃存裝置150-1至150-16中的任何一個。雖然圖1描述的集線器130具有16個埠,但所屬技術領域人員可將具有更多或更少埠的集線器連接上開卡主機110,使得開卡主機110能夠連接上更多或更少的閃存裝置,本發明不應因此受限。開卡主機110可經由集線器130,採用通用序列匯流排(Universal Serial Bus,USB)、先進技術附著(advanced technology attachment,ATA)、序列先進技術附著(serial advanced technology attachment,SATA)、快速周邊元件互聯(peripheral component interconnect express,PCI-E)等通信協定與連接上的閃存裝置150溝通,用於完成開卡流程。
參考圖2。由於集線器130連接裝置介面112上的一個埠並閃存裝置150插上集線器130時,等同於閃存裝置150物理性連接上開卡主機110,所以圖2中省略了圖1所示的集線器130。開卡主機110包含處理單元212,可使用多種方式實施,如使用通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能 力的處理器),並且在執行軟體以及/或韌體指令時,例如,量產工具(Mass Production,MP Tool)、作業系統(Operating System,OS)、驅動程式(Driver)等,提供指定的功能。處理單元212可發出指令給介面控制器214,用於通過裝置介面112傳送供應商命令(Vendor Command)給閃存裝置150,完成開卡流程中所需要的操作。供應商命令不是標準的主機操作命令,例如,通用快閃記憶儲存(Universal Flash Storage,UFS)、快速非揮發性記憶體(Non-Volatile Memory Express,NVMe)、開放通道固態硬碟(Open-channel Solid State Disk,SSD)等定義的管理命令、輸入輸出命令等,而是由閃存裝置150或者閃存控制器230的製造商提供給客戶的自訂命令(Proprietary Commands)。
閃存裝置150包含閃存控制器230及閃存模組250。閃存模組250提供大量的儲存空間,通常是數百個千兆位元組(Gigabytes),甚至是數個兆兆位元組(Terabytes),用於儲存大量的使用者資料,例如高解析度圖片、影片等。閃存模組中包含控制電路以及記憶體陣列,記憶體陣列中的記憶單元可包含單層式單元(Single Level Cells,SLCs)、多層式單元(Multiple Level Cells,MLCs)三層式單元(Triple Level Cells,TLCs)、四層式單元(Quad-Level Cells,QLCs)或上述的任意組合。
閃存控制器230包含主機介面232、閃存介面234、揮發性隨機存取記憶體(Volatile Random Access Memory,VRAM)236、處理單元237、唯讀記憶體(Read-Only Memory,ROM)238和輸入輸出介面239。主機介面232耦接開卡主機110的裝置介面112。閃存介面(Flash Interface)234耦接閃存模組250,可以雙倍資料率(Double Data Rate,DDR)通訊協定彼此溝通,例如,開放NAND快閃介面(Open NAND Flash Interface,ONFI)、雙倍資料率開關(DDR Toggle)或其他介面通訊協定。處理單元237可以如上所述的通用硬 體實施。ROM 238儲存程式碼,用於被處理單元237載入及執行時完成開卡流程中需要的功能。VRAM 236儲存執行開卡流程中需要的暫存資料,例如,變數、旗標、資料表等。
參考圖3。首先,操作員或工程師提供處在測試模式(Test Mode)的待開卡的閃存裝置(例如,閃存裝置150-1至150-16)並插入集線器130中的埠(例如埠132-1至132-16)(步驟S310),然後讓集線器130上電(步驟S320)。
在一些實施例中,參考圖4,閃存裝置150包含連接器420和母板440。母板440上設置積體電路(Integrated Circuit,IC),包含閃存控制器230及閃存模組250。圖4的(a)部分顯示閃存裝置150外觀的正面,在母板440上遠離連接器420的另一端的一個接腳(Pin)上設置金屬凸點(Metal Bump)450,例如通用型輸入輸出(General-Purpose Input/Output,GPIO)接腳。上述接腳耦接輸入輸出介面239。圖4的(b)部分顯示閃存裝置150外觀的背面,在母板440上遠離連接器420的另一端上設置連接到地的金屬凸點460。在正常情況下,金屬凸點450及460是隔開的。為了讓閃存裝置150進入測試模式,如圖4中的(c)部分所示,操作員或工程師可放置金屬帽(Metal Cap)490在金屬凸點450及460之上,用於讓此接腳接地,使得處理單元237可通過輸入輸出介面239偵測到閃存裝置150已經進入測試模式。
在另一些實施例中,參考圖5,母板440上可設置切換機構(Switch Mechanism)510,耦接輸入輸出介面239,讓操作員或工程師通過撥動切換機構510中的撥桿(Pole)來讓處理單元237知道目前閃存裝置150所處的狀態。當切換機構510中撥桿的位置處於“開啟(On)”狀態時,處理單元237判定閃存裝置150已經進入測試模式。當切換機構510中撥桿的位置處於“關閉(Off)”狀態時,處理單元237判定閃存裝置150已經離開測試模式。本領域所屬技術人員知道,當集線器130上電時,插上的閃存裝置150也會跟著上電,使得閃 存裝置150電性連接到開卡主機110。一旦閃存裝置150上電,處理單元237從頭開始載入並執行ROM 238中的指令(又稱為工廠模式代碼,是每次物理性或代碼重啟時首先要執行的程式碼),其中包含通過介面控制器214回覆開卡主機110的指令,用於通知此閃存裝置150存在的訊息(也稱為首個訊息,Very First Message)。另一方面,開卡主機110的處理單元212執行量產工具的一系列軟體指令,用於反應當偵測到閃存裝置150已經存在時,驅動閃存裝置150完成開卡流程(步驟S340至S380)。
詳細來說,量產工具從閃存裝置150接收到首個訊息後,其中可包含閃存裝置150的識別碼(步驟S340),發出初始化裝置(DEVICE INITIALIZATION)的供應商命令給閃存裝置150,用於指示閃存裝置150開始初始化閃存裝置150(步驟S350)。量產工具收到閃存裝置150的首個訊息時,可代表認盤成功。除了如上所述的工廠模式代碼,處理單元237也從ROM 238載入並執行用於處理從開卡主機110發出的供應商命令的程式碼(又可稱為供應商命令處理代碼)。為了反應初始化裝置命令,處理單元237執行供應商命令處理代碼時可通過閃存介面234對閃存模組250進行一連串的測試,用於找出壞塊(Bad Blocks)、壞行(Bad Columns)等,並據以產生壞塊表、壞行表等。供應商命令處理代碼可依據偵測到的壞行數量等參數來計算每個實體頁面能夠用於儲存錯誤檢查校驗碼(Error Check and Correction,ECC Code)的長度。供應商命令處理代碼可依據壞行表及ECC長度等資訊計算每一個實體頁面中每一個區段(Sector)的起始位置,並據以產生區段起始表。供應商命令處理代碼可依據壞塊數目、壞行數目、ECC長度等資訊計算閃存模組250能夠儲存的邏輯區塊位址數目(Logical Block Address,LBA quantity)。供應商命令處理代碼可將以上所述的資料表、變數等資訊儲存在VRAM 236中,並且通過驅動主機介面232回覆初始化完成的訊息給 開卡主機110,用於通知量產工具。量產工具可將初始化完成的訊息顯示在顯示器170,用於提示操作員或工程師。
量產工具從閃存裝置150接收到初始化完成的訊息後,其中可包含閃存模組250能夠儲存的LBA數目等資訊,發出下載資訊(DOWNLOAD INFO)的供應商命令給閃存裝置150,用於指示閃存裝置150將初始化結果儲存於非揮發性儲存空間,例如閃存模組250(步驟S360)。為了反應下載資訊命令,供應商命令處理代碼被處理單元237執行時可將VRAM 236中儲存的資料表、變數等資訊通過閃存介面234寫入閃存模組250的系統塊(System Block)。所屬技術領域人員理解在步驟S350中產生的資料表、變數等資訊是系統內程式碼(In-System Programming,ISP Code,又可稱為韌體)將來執行時需要的參考資訊。系統內程式碼包含用於執行從主機發出的主機命令的操作,例如主機讀取、寫入、抹除命令等。主機命令為由標準制定組織所規範命令,例如UFS、NVMe、Open-channel SSD命令等。供應商命令處理代碼可通過驅動主機介面232回覆下載資訊完成的訊息給開卡主機110,用於通知量產工具。量產工具可將下載資訊完成的訊息顯示在顯示器170,用於提示操作員或工程師。
量產工具從閃存裝置150接收到下載資訊完成的訊息後,發出裝置重啟(DEVICE RESET)的供應商命令給閃存裝置150(步驟S370)。一旦接收到裝置重啟命令(也就是一種代碼重啟的方式),處理單元237從頭開始載入並執行工廠模式代碼,用於搜尋閃存模組250中能夠讓系統內程式碼參考的資訊,從指定位址取得系統內程式碼,通過驅動閃存介面234將系統內程式碼寫入閃存模組250的指定實體塊,並且通過驅動主機介面232回覆開卡完成的訊息給開卡主機110,用於通知量產工具。
量產工具從閃存裝置150接收到開卡完成的訊息後(步驟S380), 可將開卡完成的訊息顯示在顯示器170,用於提示操作員或工程師。接著,操作員或工程師可讓開卡完成的閃存裝置150離開測試模式並移出集線器130(步驟S390)。在一些實施例,參考圖4的(c)部分,操作員或工程師可移開金屬帽490,讓金屬凸點450及460彼此不電性連接,讓閃存裝置150離開測試模式。在另一些實施例中,參考圖5,操作員或工程師可將切換機構510中的撥桿撥動到“關閉(Off)”狀態,讓閃存裝置150離開測試模式。
在一些實施方式中,閃存裝置150上電後(步驟S320),處理單元237在執行工廠模式代碼時會先通過閃存介面234在閃存模組的指定位置搜尋用於讓系統內程式碼參考的資訊,並且在一段預設時間內搜尋不到時才傳送首個訊息給開卡主機110。然而,所屬技術領域人員知道此時閃存裝置150中的閃存模組250是空的,沒有儲存任何有用的資訊,造成處理單元237花費一段不必要的時間來找尋不存在的資訊。更糟的是,雖然裝置介面112能夠在閃存裝置150物理性連接上開卡主機110時知道閃存裝置150的存在,但是量產工具在之後的一段預設時間內沒有從閃存裝置150接收到首個訊息時會發出裝置重啟命令給閃存裝置150,造成搜尋中斷並重新再執行一次工廠模式代碼。因為這些不必要的裝置重啟命令,讓量產工具從閃存裝置150-1至150-16接收到首個訊息的時間更加延長,例如,歷時2至3分鐘。
為改進如上所述實施方式的缺點,參考圖6所示的由閃存裝置150的處理單元237執行工廠模式代碼時實施的開卡方法流程。本發明實施例將整個開卡方法分為二個階段:第一階段用於快速傳送首個訊息給開卡主機110;第二階段用於搜尋閃存模組250中讓系統內程式碼參考的資訊並寫入系統內程式碼至閃存模組250。工廠模式代碼可依據代表代碼重啟的旗標來辨認閃存裝置150現在處在哪個階段。
詳細來說,工廠模式代碼被處理單元237執行時首先判斷閃存裝置 150是否進入測試模式(步驟S610)。參考圖4的硬體設置,工廠模式代碼可通過輸入輸出介面239偵測指定接腳是否接地來完成判斷。參考圖5的硬體設置,工廠模式代碼可通過輸入輸出介面239偵測切換機構510中撥桿目前所處的位置來完成判斷。
當判定閃存裝置150進入測試模式(步驟S610中“是”的路徑),工廠模式代碼判斷閃存裝置150是否發生物理性重啟(步驟S620)。工廠模式代碼可判斷VRAM 236中代表代碼重啟的旗標是否為“1”。所屬技術領域技術人員理解VRAM 236中儲存的資料在斷電時會消失,因此,閃存裝置150在物理性重啟時VRAM 236中的資料都會消失,造成工廠模式代碼進行判斷時會得到不成立(“否”,即閃存裝置發生物理性重啟)的結果。反過來說,閃存裝置150在代碼重啟時不會斷電,VRAM 236中儲存的資料不會消失,造成工廠模式代碼進行判斷時會得到成立(“是”,即閃存裝置沒有發生物理性重啟)的結果。
當判定閃存裝置150發生物理性重啟時(步驟S620中“是”的路徑),工廠模式代碼將VRAM 236中代表代碼重啟(軟體重啟)的旗標設為“1”並通過驅動主機介面232傳送首個訊息給開卡主機110(步驟S640)。通過如上所述的判斷,讓工廠模式代碼能夠在閃存裝置150發生物理性重啟時進入第一階段來快速傳送首個訊息給開卡主機110,避免如上所述實施方式在空的閃存模組250內搜尋資訊而造成的技術問題。換句話說,在閃存裝置150發生物理性重啟時,工廠模式代碼不執行第二階段的操作,避免延遲傳送首個訊息給開卡主機。
當判定閃存裝置150沒有發生物理性重啟(也就是發生代碼重啟)時(步驟S620中“否”的路徑),工廠模式代碼通過驅動閃存介面234搜尋閃存模組250中讓系統內程式碼參考的資訊,從指定位址獲得系統內程式碼,驅動閃存介面234將系統內程式碼寫入閃存模組 250中的指定位址,並通過驅動主機介面232回覆開卡完成的訊息給開卡主機110(步驟S630)。換句話說,步驟S630包含第二階段需要執行的操作。
本發明所述的方法中的全部或部分步驟可以計算機指令實現,例如特定硬體的驅動程式、韌體程式或軟體程式等。此外,也可實現於其他類型程式。所屬技術領域人員可將本發明實施例的方法撰寫成計算機指令,為求簡潔不再加以描述。依據本發明實施例方法實施的計算機指令可儲存於適當的電腦可讀取媒體,例如DVD、CD-ROM、USB碟、硬碟,亦可置於可通過網路(例如,網際網路,或其他適當載具)存取的網路伺服器。
雖然圖1~2中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖3、圖6的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
S610~S640:方法步驟

Claims (13)

  1. 一種電腦程式產品,用於一閃存裝置的開卡,包含由上述閃存裝置的一處理單元載入並執行的程式碼:在上述閃存裝置進入一測試模式時,判斷上述閃存裝置是否發生物理性重啟;當上述閃存裝置發生物理性重啟時,執行一第一階段的操作,用於傳送一首個訊息給一開卡主機;以及當上述閃存裝置發生代碼重啟時,執行一第二階段的操作,用於搜尋一閃存模組中讓一系統內程式碼參考的資訊,從一指定位址獲得上述系統內程式碼並將上述系統內程式碼寫入上述閃存模組。
  2. 如請求項1所述的電腦程式產品,包含上述程式碼:當上述閃存裝置發生物理性重啟時,不執行上述第二階段的操作,避免延遲回覆上述首個訊息給上述開卡主機。
  3. 如請求項1至2中之任一項所述的電腦程式產品,其中,上述系統內程式碼包含用於執行從一主機發出的一主機命令的操作。
  4. 如請求項1所述的電腦程式產品,其中,通過偵測一揮發性隨機存取記憶體中代表代碼重啟的旗標來判斷上述閃存裝置是否發生物理性重啟。
  5. 如請求項1所述的電腦程式產品,其中,包含由上述閃存裝置的上述處理單元載入並執行的上述程式碼:通過輸入輸出介面偵測到一接腳接地時判斷上述閃存裝置進入上述 測試模式。
  6. 如請求項1所述的電腦程式產品,其中,包含由上述閃存裝置的上述處理單元載入並執行的上述程式碼:通過輸入輸出介面偵測到一切換機構中的撥桿處於特定位置時判斷上述閃存裝置進入上述測試模式。
  7. 如請求項1所述的電腦程式產品,其中,包含由上述閃存裝置的上述處理單元載入並執行的上述程式碼:在上述第一階段及上述第二階段之間,對上述閃存模組進行一連串測試,依據測試結果產生供上述系統內程式碼於將來執行時需要的參考資訊,並且將上述參考資訊寫入上述閃存模組。
  8. 一種閃存裝置的開卡方法,由一閃存裝置的一閃存控制器執行,包含:在上述閃存裝置進入一測試模式時,判斷上述閃存裝置是否發生物理性重啟;當上述閃存裝置發生物理性重啟時,執行一第一階段的操作,用於傳送一首個訊息給一開卡主機;以及當上述閃存裝置發生代碼重啟時,執行一第二階段的操作,用於搜尋一閃存模組中讓一系統內程式碼參考的資訊,從一指定位址獲得上述系統內程式碼並將上述系統內程式碼寫入一閃存模組。
  9. 如請求項8所述的閃存裝置的開卡方法,包含:當上述閃存裝置發生物理性重啟時,不執行上述第二階段的操作,避免延遲回覆上述首個訊息給上述開卡主機。
  10. 如請求項8至9中任一項所述的閃存裝置的開卡方法,其中,上述系統內程式碼包含用於執行從一主機發出的一主機命令的操作。
  11. 一種閃存裝置,包含:一唯讀記憶體,儲存一程式碼;以及一處理單元,耦接上述唯讀記憶體,用於載入並執行上述程式碼,其中,上述程式碼包含:在上述閃存裝置進入一測試模式時,判斷上述閃存裝置是否發生物理性重啟;當上述閃存裝置發生物理性重啟時,執行一第一階段的操作,用於傳送一首個訊息給一開卡主機;以及當上述閃存裝置發生代碼重啟時,執行一第二階段的操作,用於搜尋一閃存模組中讓一系統內程式碼參考的資訊,從一指定位址獲得上述系統內程式碼並將上述系統內程式碼寫入一閃存模組。
  12. 如請求項11所述的閃存裝置,其中,上述程式碼包含:當上述閃存裝置發生物理性重啟時,不執行上述第二階段的操作,避免延遲回覆上述首個訊息給上述開卡主機。
  13. 如請求項11至12中之任一項所述的閃存裝置,其中,上述系統內程式碼包含用於執行從一主機發出的一主機命令的操作。
TW109111718A 2020-04-08 2020-04-08 閃存裝置的開卡電腦程式產品及方法以及裝置 TWI747231B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109111718A TWI747231B (zh) 2020-04-08 2020-04-08 閃存裝置的開卡電腦程式產品及方法以及裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109111718A TWI747231B (zh) 2020-04-08 2020-04-08 閃存裝置的開卡電腦程式產品及方法以及裝置

Publications (2)

Publication Number Publication Date
TW202139001A TW202139001A (zh) 2021-10-16
TWI747231B true TWI747231B (zh) 2021-11-21

Family

ID=79600931

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109111718A TWI747231B (zh) 2020-04-08 2020-04-08 閃存裝置的開卡電腦程式產品及方法以及裝置

Country Status (1)

Country Link
TW (1) TWI747231B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013112900A1 (de) * 2012-11-30 2014-06-05 Samsung Electronics Co., Ltd. Verfahren und System zum Bereitstellen einer intelligenten Speicherarchitektur
US20140269069A1 (en) * 2013-03-13 2014-09-18 Sandisk Technologies Inc. Tracking cell erase counts of non-volatile memory
US9728263B2 (en) * 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
TW201935301A (zh) * 2018-02-06 2019-09-01 美商Nb研究有限責任公司 用於保全資源的系統及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013112900A1 (de) * 2012-11-30 2014-06-05 Samsung Electronics Co., Ltd. Verfahren und System zum Bereitstellen einer intelligenten Speicherarchitektur
US20140269069A1 (en) * 2013-03-13 2014-09-18 Sandisk Technologies Inc. Tracking cell erase counts of non-volatile memory
US9728263B2 (en) * 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
TW201935301A (zh) * 2018-02-06 2019-09-01 美商Nb研究有限責任公司 用於保全資源的系統及方法

Also Published As

Publication number Publication date
TW202139001A (zh) 2021-10-16

Similar Documents

Publication Publication Date Title
US9378846B2 (en) Non-mounted storage test device based on FPGA
US9164840B2 (en) Managing a solid state drive (‘SSD’) in a redundant array of inexpensive drives (‘RAID’)
KR102229024B1 (ko) 스스로 에러를 검출하고 로그를 저장할 수 있는 데이터 저장 장치와 이를 포함하는 시스템
CN113495848A (zh) 闪存装置、闪存装置的开卡方法及计算机可读取存储介质
TWI648742B (zh) 重試讀取方法以及使用該方法的裝置
US9836417B2 (en) Bridge configuration in computing devices
US20140195697A1 (en) Apparatus and method for detecting functions of video card
US9128624B2 (en) Flash memory storage system for simulating rewritable disc device, flash memory controller, computer system, and method thereof
US11481153B2 (en) Data storage device and operating method thereof
US20230004320A1 (en) Method of managing debugging log in storage device
KR20200005220A (ko) 데이터 저장 장치 및 동작 방법, 이를 위한 펌웨어 제공 서버
US20190227788A1 (en) Memory system and operating method thereof
TWI747231B (zh) 閃存裝置的開卡電腦程式產品及方法以及裝置
CN112445670B (zh) 一种eMMC测试方法和装置
US9361123B2 (en) Boot from logical volume spanning plurality of PCI devices
CN104239245A (zh) 电子系统与运作方法
KR102469098B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
US20220011976A1 (en) Method and apparatus and computer program product for configuring reliable command
CN112540881B (zh) 存储装置测试管理方法以及存储装置测试管理系统
US10908843B2 (en) Memory system for managing free pages based on real time clock and operating method thereof
TWI417888B (zh) An embedded chip system, a method for burning a wafer, and a computer program product
US11513989B2 (en) Method and computer program product and apparatus for producing solid state disk devices
TWI832173B (zh) 快閃記憶體監控系統、方法及其電腦系統
CN113918082B (zh) 计算机可读取存储介质、配置可靠命令的方法及装置
TWI761915B (zh) 資料儲存裝置以及參數改寫方法