TWI526838B - 記憶體裝置 - Google Patents
記憶體裝置 Download PDFInfo
- Publication number
- TWI526838B TWI526838B TW102129355A TW102129355A TWI526838B TW I526838 B TWI526838 B TW I526838B TW 102129355 A TW102129355 A TW 102129355A TW 102129355 A TW102129355 A TW 102129355A TW I526838 B TWI526838 B TW I526838B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- packet
- memory device
- information
- unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Description
本申請案基於並主張於2013年2月27日提出申請之第61/740043號美國臨時專利申請案之優先權之權益;該美國臨時專利申請案之全部內容以引用方式併入本文中。
本文中所闡述之實施例一般而言係關於一記憶體裝置。
已發展一UFS(通用快閃儲存器)標準以便改良輸送量及減少功率損耗。
本發明之實施例提供一種其存取效能被改良之記憶體裝置。
一般而言,根據一項實施例,揭示一種記憶體裝置,其連接至一主機裝置、接收來自該主機裝置之一命令且基於該命令執行一程序,該記憶體裝置包含一介面單元、一判定單元、一第二命令產生單元及一處理器。該介面單元自該記憶體裝置外接收一第一命令。該判定單元判定由該介面單元接收之該第一命令是否係為一寫入命令或一讀取命令之一存取命令。當該判定單元判定該第一命令係該存取命令時,該第二命令產生單元自該第一命令擷取為一存取目的地之位址資訊或大小資訊之存取目的地資訊並產生包含該所擷取存取目的地資訊且具有小於該第一命令之大小之一大小之一第二命令。該處理器執行
該第二命令。
1‧‧‧記憶體裝置/記憶體系統/主機
2‧‧‧主機/記憶體系統
3‧‧‧通信路徑
4‧‧‧主機
5‧‧‧記憶體裝置
11‧‧‧裝置控制器
11a‧‧‧裝置控制器/主機裝置控制器
11b‧‧‧裝置控制器
11c‧‧‧裝置控制器
11d‧‧‧裝置控制器
11e‧‧‧裝置控制器
12‧‧‧NAND快閃記憶體/NAND記憶體
21‧‧‧中央處理單元
22‧‧‧主記憶體
23‧‧‧主機控制器
41‧‧‧中央處理單元
42‧‧‧主記憶體
43‧‧‧主機控制器
51‧‧‧裝置控制器
51b‧‧‧裝置控制器
111‧‧‧主機介面
112‧‧‧傳輸佇列
113‧‧‧接收佇列
114‧‧‧中央處理單元
114b‧‧‧中央處理單元
114c‧‧‧中央處理單元
114d‧‧‧中央處理單元
114e‧‧‧中央處理單元
115‧‧‧NAND介面
116‧‧‧處理單元
116b‧‧‧處理單元
116c‧‧‧處理單元/擷取單元
117‧‧‧封包判定單元/判定單元
117b‧‧‧封包判定單元
117c‧‧‧封包判定單元
118‧‧‧包裝單元/第二命令產生單元
118b‧‧‧包裝單元
118c‧‧‧包裝單元
119‧‧‧封包建構單元
119e‧‧‧封包建構單元
421‧‧‧主機使用區域
422‧‧‧裝置使用區域
423‧‧‧L2P快取區域
424‧‧‧L2P快取標籤區域
425‧‧‧寫入快取區域
426‧‧‧寫入快取標籤區域
511‧‧‧主機介面
512‧‧‧傳輸佇列
513‧‧‧接收佇列
514‧‧‧中央處理單元
514b‧‧‧中央處理單元
515‧‧‧NAND介面
516‧‧‧處理單元
517‧‧‧封包判定單元
518‧‧‧解構記錄管理單元
519‧‧‧封包建構單元/命令建構單元
519c‧‧‧封包建構單元
519d‧‧‧封包建構單元
601‧‧‧暫存器
602‧‧‧32個暫存器/暫存器
603‧‧‧讀取命令/所建構讀取命令
604‧‧‧範本暫存器
605‧‧‧差分暫存器
606‧‧‧識別符產生單元
CDB[0]‧‧‧第一欄位(欄位16)
DPO‧‧‧旗標
FUA‧‧‧旗標
P‧‧‧旗標
UPIU‧‧‧基於通用快閃儲存器標準之封包
圖1係圖解說明一UFS標準應用於其之一系統之一示意圖;圖2係圖解說明包含一SCSI命令之命令UPIU之結構之一圖式;圖3係圖解說明在寫入期間之一通信程序之一時序圖;圖4係圖解說明在讀取期間之一通信程序之一時序圖;圖5係圖解說明根據一第一實施例之一記憶體裝置之一裝置控制器之結構之一圖式;圖6係圖解說明一短格式之一圖式;圖7係圖解說明一長格式之一圖式;圖8係圖解說明將一封包儲存於一接收佇列中之一操作之一流程圖;圖9係圖解說明一CPU(韌體)之操作之一流程圖;圖10係圖解說明根據一第二實施例之一記憶體裝置之一裝置控制器之結構之一圖式;圖11係圖解說明根據第二實施例之記憶體裝置之操作之一流程圖;圖12係圖解說明根據一第三實施例之一記憶體裝置之一裝置控制器之結構之一圖式;圖13係圖解說明根據第三實施例之記憶體裝置之操作之一流程圖;圖14係圖解說明回應UPIU之結構之一圖式;圖15係圖解說明根據一第四實施例之一記憶體裝置之一裝置控制器之結構之一圖式;圖16係圖解說明根據第四實施例之記憶體裝置之操作之一流程圖;
圖17係圖解說明根據一第五實施例之一記憶體裝置之一裝置控制器之結構之一圖式;圖18係圖解說明根據第五實施例之記憶體裝置之操作之一流程圖;圖19係圖解說明根據一第六實施例之一記憶體裝置之操作之一流程圖;圖20係圖解說明UMA應用於其之一系統之一示意圖;圖21係圖解說明一裝置使用區域之記憶體結構之一圖式;圖22係圖解說明根據一第七實施例之一記憶體裝置之一裝置控制器之結構之一圖式;圖23係圖解說明根據第七實施例之記憶體裝置之操作之一流程圖;圖24係圖解說明根據一第八實施例之一記憶體裝置之一裝置控制器之結構之一圖式;圖25係圖解說明根據第八實施例之一封包建構單元之結構之一圖式;圖26係圖解說明其中依據在一暫存器中設定之資訊來建構一讀取命令之一態樣之一圖式;圖27係圖解說明根據第八實施例之記憶體裝置之操作之一流程圖;圖28係圖解說明根據一第九實施例之一記憶體裝置之一封包建構單元之結構之一圖式;圖29係圖解說明根據第九實施例之記憶體裝置之操作之一流程圖;圖30係圖解說明根據一第十實施例之一記憶體裝置之一封包建構單元之結構之一圖式;且
圖31係圖解說明根據第十實施例之記憶體裝置之操作之一流程圖。
下文將參考附圖詳細闡釋記憶體裝置之例示性實施例。本發明不限於以下實施例。
圖1係圖解說明一UFS標準應用於其之一系統之一示意圖。一記憶體裝置1透過一通信路徑3連接至一主機2。舉例而言,主機2係一個人電腦、一行動電話或一成像裝置。記憶體裝置1充當主機2之一外部儲存裝置。舉例而言,MIPI(行動產業處理器介面)M-PHY用作通信路徑3之通信標準。基於UFS標準之封包透過通信路徑3在主機2與記憶體裝置1之間傳輸及接收。
記憶體裝置1包含一裝置控制器11及一NAND快閃記憶體(NAND記憶體)12。亦可能使用不同種類之記憶體,諸如替換NAND快閃記憶體12之MRAM(磁阻式隨機存取記憶體)或ReRAM(電阻式隨機存取記憶體)。NAND記憶體12包含各自具有一記憶體胞陣列之一或多個記憶體晶片。該記憶體胞陣列藉由將複數個記憶體胞配置成一矩陣而形成。每一記憶體胞陣列藉由配置其中之每一者皆係一資料抹除單元之複數個區塊而形成。每一區塊包含複數個頁。該頁係一最小讀取及寫入單元。裝置控制器11可在主機2與NAND記憶體12之間傳輸資料。
主機2包含一CPU 21、一主記憶體22及一主機控制器23。舉例而言,主記憶體22係一高速揮發性記憶體,諸如一RAM。CPU 21控制主機2之總體操作。作為對主機2之控制之一實例,CPU 21透過通信路徑3而控制封包之傳輸或接收。舉例而言,CPU 21可將待自主機2寫入至記憶體裝置1之資料儲存於主記憶體22中並發出一寫入命令以
將儲存於主記憶體22中之資料寫入至記憶體裝置1。另外,CPU 21可發出一讀取命令以將寫入至記憶體裝置1之資料讀取至主記憶體22。寫入命令及讀取命令透過主機控制器23傳輸至記憶體裝置1。主機控制器23將儲存於主記憶體22中之資料傳輸至記憶體裝置1或將自記憶體裝置1傳輸之資料儲存於主記憶體22中。寫入命令、讀取命令及資料皆作為基於UFS標準之封包在主機2與記憶體裝置1之間傳輸及接收。
接下來,將闡述基於UFS標準之封包之系統。基於UFS標準之封包稱為UPIU。UPIU包含一32個位元組標頭。UPIU之標頭之實例包含命令UPIU、資料輸入UPIU(第一回應封包)、準備好傳送UPIU(第三回應封包)、資料輸出UPIU及回應UPIU(第二回應封包)。若需要,一有效負載緊接在標頭後。
命令UPIU用於請求讀取及寫入。命令UPIU包含一SCSI命令。命令UPIU中之SCSI命令定義命令UPIU是請求讀取還是寫入且定義用於規定一存取目的地之詳細資訊。命令UPIU中之SCSI命令不限於讀取及寫入請求命令。另外,命令UPIU可不包含SCSI命令,但包含獨特命令。
圖2係圖解說明包含SCSI命令之命令UPIU之結構之一圖式。在圖2中,一列中之每一欄位具有一個字組之一大小。假設一個字組為32個位元。將一列中之欄位劃分成各自具有8個位元之一大小之四個欄位。經劃分欄位中之每一者之左上部上之一數字係一欄位號。當命令UPIU用於讀取及寫入時,下部6個位元「000001」儲存為指示UPIU係欄位0中之命令UPIU之一值。指示UPIU包含一SCSI命令集之一值「0」儲存於欄位4之第二半4個位元(命令集類型)中。SCSI命令儲存於欄位16至欄位31中。在某些情形中,SCSI命令之第一欄位(欄位16)由CDB[0]表示。
包含讀取命令及寫入命令之SCSI命令之類型可由SCSI命令中之儲存於CDB[0]中之一值(命令類型資訊)識別。另外,存在三種類型之讀取命令及三種類型之寫入命令,且每一類型可由儲存於CDB[0]中之值識別。特定而言,當UPIU係一讀取命令時,對應於「0×08」、「0×28」及「0×88」當中之讀取命令之類型之一值儲存於UPIU之CDB[0]中。當UPIU係一寫入命令時,對應於「0×0a」、「0×2a」及「0×8a」當中之寫入命令之類型之一值儲存於UPIU之CDB[0]中。讀取命令經組態以使得一存取目的地之位址資訊及大小資訊(傳送長度)儲存於欄位17至欄位31中之任一者中。然而,存取目的地之位址資訊及大小資訊之儲存位置取決於讀取命令之類型而變化,此同樣適用於寫入命令。存取目的地之位址資訊由一邏輯區塊位址(LBA)指定。在下文中,在某些情形中,位址資訊及大小資訊(其係用於規定其中儲存存取目的地之資料之一區域之資訊)稱為存取目的地資訊。另外,存取目的地資訊可係位址資訊或大小資訊。
指示命令UPIU是致使一讀取操作還是一寫入操作之一旗標可儲存於命令UPIU之欄位0至欄位15當中之一預定區域中。需要建構命令UPIU以使得關於旗標之資訊與儲存於CDB[0]中之值一致。
因此,命令UPIU具有32個位元組之一大小。命令UPIU中之讀取命令及寫入命令包含32個位元組命令UPIU之一欄位中之存取目的地資訊。包含讀取命令及寫入命令之命令UPIU包含一保留欄位及由SCSI標準定義且在基於UFS標準之通信中不需要之一欄位。另外,讀取命令及寫入命令包含固定欄位16中之命令類型資訊。存取目的地資訊包含於每一命令類型資訊項目之一不同欄位中。
將資料劃分成各自具有一預定大小之資料項目並傳輸經劃分資料項目。當經劃分資料自記憶體裝置1傳輸至主機2時,記憶體裝置1發出資料輸入UPIU。無論何時準備好接收經劃分資料,記憶體裝置1
皆發出準備好傳送UPIU。當經劃分資料自主機2傳輸至記憶體裝置1時,主機2發出資料輸出UPIU。經劃分資料透過通信路徑3作為資料輸入UPIU或資料輸出UPIU之有效負載而傳輸。當完成由命令UPIU請求之程序之執行時,記憶體裝置1發出回應UPIU。亦即,當完成由命令UPIU請求之程序時,記憶體裝置1傳輸對應於命令UPIU之回應UPIU。
圖3係圖解說明在一寫入操作期間之一通信程序之一時序圖。首先,主機2將具有一命令UPIU格式之一寫入命令傳輸至記憶體裝置1。寫入命令包含對應於寫入命令之類型之欄位中之存取目的地之LBA及資料長度。當準備好接收資料時,記憶體裝置1將指示可接收之資料之大小之準備好傳送UPIU傳輸至主機2。然後,主機2將待寫入之資料劃分成具有指定大小之資料項目並使用資料輸出UPIU作為一標頭將該等經劃分資料項目當中之第一資料項目傳輸至記憶體裝置1。重複準備好傳送UPIU及經劃分資料項目之傳輸及接收直至完成待寫入之所有資料之傳輸為止。由準備好傳送UPIU指定之大小可不同於每一準備好傳送UPIU。當接收到待寫入之所有資料時,記憶體裝置1將回應UPIU傳輸至主機2。
圖4係圖解說明在一讀取操作期間之一通信程序之一時序圖。首先,主機2將具有一命令UPIU格式之一讀取命令傳輸至記憶體裝置1。讀取命令包含對應於讀取命令之類型之欄位中之存取目的地之LBA及資料長度。當準備好傳輸資料時,記憶體裝置1使用資料輸入UPIU作為一標頭將各自具有可傳輸之一大小之經劃分資料項目順序地傳輸至主機2。當將所有經劃分資料項目傳輸至主機2時,記憶體裝置1將回應UPIU傳輸至主機2。
在下文中,讀取命令及寫入命令一般稱為一NAND存取命令。另外,在某些情形中,NAND記憶體12之讀取及寫入操作一般稱為
NAND存取。
一般而言,在基於UFS標準(或類似於UFS標準之一協定)之記憶體裝置1之裝置控制器11中,藉助一外部設備(諸如主機2)之通信由硬體及韌體處理。舉例而言,當硬體接收到來自主機2之UPIU時,裝置控制器11叫用韌體使用中斷。然後,經叫用韌體自一接收緩衝器(接收佇列)讀取未經處理UPIU。然後,韌體分析所讀取未經處理UPIU、檢查所讀取未經處理UPIU中之錯誤並開始對應於UPIU之內容之一程序。
如上文所闡述,在NAND存取命令中,執行該程序所需之資訊之密度較低。因此,當韌體直接讀取或寫入命令時,不必在韌體與硬體之間執行資料傳輸。一般而言,韌體由一低處理效能CPU執行。因此,當主機2向記憶體裝置發出大量UPIU時,CPU花費長時間來處理所接收UPIU。
根據本發明之此實施例,在記憶體裝置1中,當接收到NAND存取命令時,硬體自命令UPIU擷取NAND存取所需之資訊並重構所擷取資訊以使得其可藉由最小數目個存取而獲取。由於減小由韌體自硬體讀取之命令之大小,因此顯著地減少韌體之處理時間係可能的。因此,改良記憶體裝置1之存取效能係可能的。
圖5係圖解說明根據一第一實施例之提供於記憶體裝置中之裝置控制器之結構之一圖式。在以下第一至第六實施例中,由元件符號1表示一記憶體裝置。亦即,根據第一實施例之NAND記憶體12及一裝置控制器11a形成根據第一實施例之記憶體裝置1。
裝置控制器11a包含一主機介面(主機I/F)111、一傳輸佇列112、一接收佇列113、一CPU 114、一NAND介面(NAND I/F)115及一處理單元116。處理單元116包含一封包判定單元(判定單元)117及一包裝單元(第二命令產生單元)118。處理單元116由一硬體電路實施。
主機I/F 111係用於透過通信路徑3將裝置控制器11a連接至主機2之一硬體電路。主機I/F 111可接收來自主機2之封包。另外,NAND I/F 115係用於將裝置控制器11a連接至NAND記憶體12之一硬體電路。
封包判定單元117將由主機I/F 111自主機2接收之封包當中之NAND存取命令傳輸至包裝單元118且將除NAND存取命令之外的封包儲存於接收佇列113中。比較欄位0中之值、欄位4之第二半4個位元之值及以命令UPIU格式之CDB[0]之值與一預定位元型樣以判定封包是否係NAND存取命令。特定而言,當下部6個位元「000001」儲存於欄位0中、「0」儲存於欄位4之第二半4個位元中且「0×08」、「0×28」、「0×88」、「0×0a」、「0×2a」及「0×8a」中之任一者儲存於CDB[0]中時,該封包對應於NAND存取命令。
包裝單元118自所傳輸NAND存取命令擷取所需資訊並以一預定壓縮格式重新配置所擷取資訊以重構命令。在下文中,在某些情形中,命令之重構稱為一包裝程序。包裝單元118將經包裝命令儲存於接收佇列113中。舉例而言,藉由包裝程序而重構之命令(第二命令)之格式包含兩種格式,亦即,一短格式(第三命令)及一長格式(第四命令)。
圖6係圖解說明短格式之一圖式。如圖6中所圖解說明,短格式具有兩個字組之一大小。對於第一字組,LBA儲存於自一第0位元至一第23位元之欄位中。傳送長度(長度)儲存於自一第24位元至一第27位元之欄位中。指示長格式或短格式之一旗標(「1」指示短格式)儲存於一第28位元中。CPU 114可參考第28位元之值識別待處理之命令是一短格式封包還是一長格式封包。指示讀取命令或寫入命令之一旗標(「0」指示一讀取命令及「1」指示一寫入命令)儲存於一第29位元中。指示包裝程序是成功還是失敗之一旗標(「0」指示失敗及「1」
指示成功)儲存於一第30位元中。指示有效或無效之一旗標(「0」指示無效及「1」指示有效)儲存於一第31位元中。對於第31位元中之旗標,在包裝程序期間儲存指示無效之旗標及在完成包裝程序時儲存指示有效之旗標。CPU 114可參考第30位元中之值及第31位元中之值識別命令是否已經受包裝程序。具有短格式之第二字組包含其中儲存分別儲存於命令UPIU中之欄位2及欄位3中之LUN(邏輯單元號)及任務標籤之欄位。當CPU 114建構UPIU(舉例而言,資料輸入UPIU、準備好傳送UPIU或回應UPIU)時,使用與來自主機2之對應UPIU相同之LUN及任務標籤。
一般而言,可將單個實體儲存器劃分成多個邏輯儲存器。每一邏輯儲存器稱作「邏輯單元」,且將LUN(邏輯單元號)指派給主機裝置之每一邏輯單元以區分每一邏輯單元。在此及其他實施例中,將NAND記憶體12劃分成多個邏輯單元,且將LUN指派給每一邏輯單元。在此及其他實施例中,包含於命令中之LUN表示命令以其為目標之邏輯單元。
圖7係圖解說明長格式之一圖式。如圖7中所圖解說明,長格式具有四個字組或五個字組之一大小。第一字組包含其中儲存與以短格式之彼等旗標相同之旗標之自一第28位元至一第31位元之欄位。指示長格式之「0」儲存於第28位元中。另外,第一字組包含其中指示格式是一4個字組格式還是一5個字組格式之一旗標儲存於一第0位元中之一欄位。此外,群組號儲存於自第一位元至第五位元之一欄位中。指示是否在快取記憶體上重新寫入另一資料項目之一DPO旗標儲存於一第26位元中,及指示是否執行磁碟存取(在此實施例中,對NAND記憶體12之存取)之一FUA旗標儲存於一第27位元中。群組號、DPO及FUA之值包含於讀取命令之命令UPIU中,其中「0×28」或「0×88」儲存於CDB[0]中。群組號、DPO及FUA之值自命令UPIU讀
取且儲存於對應於長格式之欄位中。當群組號、DPO及FUA之值中之任一者包含除「0」之外的一值時,以長格式而非以短格式執行包裝程序。第二字組儲存傳送長度(長度)。LBA之下部數位儲存於第三字組中且LBA之上部數位儲存於第四字組中。當LBA之上部數位為「0」且第四字組之值全部為「0」時,省略第四字組。第一字組之第0位元中之旗標可用於判定是否省略第四字組。最後字組儲存LUN及任務標籤。
因此,處理單元116自具有32個位元組(八個字組)之一大小之命令UPIU移除對於由韌體執行之程序不必要之資訊以重構具有短格式或長格式之命令。具有短格式之命令及具有長格式之命令中之每一者在一固定欄位中包含存取目的地資訊。
接收佇列113可將用於通知一封包之輸入之一中斷信號傳輸至CPU 114(無論何時輸入封包)。
CPU 114在一預定程式(韌體;FW)之控制下在主機2與主機裝置控制器11a之間執行UPIU之傳輸或接收。CPU 114可讀取儲存於接收佇列113中之命令且可執行對應於所讀取命令之程式。另外,作為對應於自接收佇列113讀取之命令之程序之一部分,CPU 114可建構待傳輸至主機2之UPIU(資料輸入UPIU、準備好傳送UPIU及回應UPIU)且將UPIU順序地儲存於傳輸佇列112中。CPU 114可控制NAND I/F 115以使得自NAND記憶體12讀取由讀取命令請求之資料。主機I/F 111可順序地擷取儲存於傳輸佇列112中之UPIU並將所擷取UPIU傳輸至主機2。
接下來,將闡述根據第一實施例之記憶體裝置1之操作。圖8係圖解說明將一封包儲存於接收佇列113中之一操作之一流程圖。首先,當主機I/F 111接收來自主機2之一封包(步驟S1)時,封包判定單元117判定所接收封包是否係NAND存取命令(步驟S2)。封包判定單元
117判定:在下部6個位元「000001」儲存於所接收封包之欄位0中、「0」儲存於欄位4之第二半之4個位元中且「0×08」、「0×28」、「0×88」、「0×0a」、「0×2a」及「0×8a」中之任一者儲存於CDB[0]中時,封包係NAND存取命令。
當所接收封包並非NAND存取命令(步驟S2,否)時,封包判定單元117將所接收封包儲存於接收佇列113中(步驟S3),並結束操作。
當所接收封包係NAND存取命令(步驟S2,是)時,包裝單元118判定是否可以短格式來包裝所接收封包(步驟S4)。用於判定是否可以短格式來包裝封包之一準則沒有特定限制。舉例而言,可基於LBA及傳送長度之表達長度以及群組號、FUA及DPO之值來執行該判定。亦即,當可省略(壓縮)具有短格式之LBA及傳送長度之上部數位時,由於上部數位中包含大量零(「0」)、省略上部數位使得以短格式儲存LBA及傳送長度成為可能且群組號、FUA及DPO之值全部為「0」,因此包裝單元118判定可以短格式包裝該封包。一壓縮方法不限於省略上部數位之方法。
當可以短格式包裝所接收封包(步驟S4,是)時,包裝單元118以圖6中所圖解說明之短格式包裝所接收封包(步驟S5)、將經包裝封包儲存於接收佇列113中(步驟S6)並結束操作。在NAND存取命令中,儲存存取目的地資訊之欄位取決於NAND存取命令之類型而變化。在步驟S5中,包裝單元118基於CDB[0]之值判定NAND存取命令之類型、基於該判定結果判定存取目的地資訊之一擷取源欄位且自所判定欄位擷取存取目的地資訊。然後,包裝單元118將所擷取存取目的地資訊儲存於短格式之一固定欄位中。另外,在步驟S5中,包裝單元118設定第一字組之各種旗標之值。
當難以以短格式包裝所接收封包(步驟S4,否)時,包裝單元118以圖7中所圖解說明之長格式包裝所接收封包(步驟S7)並將經包裝封
包儲存於接收佇列113中(步驟S6)。在步驟S6中,包裝單元118基於CDB[0]之值判定NAND存取命令之類型、基於該判定結果判定存取目的地資訊之擷取源欄位且自所判定欄位擷取存取目的地資訊。然後,包裝單元118將所擷取存取目的地資訊儲存於長格式之一固定欄位中。另外,在步驟S7中,包裝單元118設定第一字組之各種旗標之值。
在步驟S3及S6之后,將封包儲存於接收佇列113中之操作結束。
圖9係圖解說明CPU 114(韌體)之操作之一流程圖。當自接收佇列113接收到一中斷信號(步驟S11)時,CPU 114讀取中斷信號將被發出至之封包(目標封包)之第一字組(步驟S12)。然後,CPU 114判定是否已基於所讀取第一字組包裝目標封包(步驟S13)。判定是否已基於目標封包之第30位元及第31位元之值包裝目標封包係可能的。
當未包裝目標封包(步驟S13,否)時,CPU 114讀取目標封包之其餘七個字組(步驟S14)。然後,CPU 114基於一總共八個字組之所讀取資訊項目執行對應於目標封包之一程序(步驟S15)並結束操作。
當已包裝目標封包(步驟S13,是)時,CPU 114判定目標封包之格式是否係短格式(步驟S16)。基於所讀取第一字組之第28位元之值來判定目標封包之格式是否係短格式係可能的。當目標封包之格式係短格式(步驟S16,是)時,CPU 114自關於所讀取第一字組之資訊獲取傳送長度及LBA(步驟S17)、基於所獲取資訊執行NAND存取(步驟S18)並結束操作。
當目標封包之格式並非短格式(步驟S16,否)時,CPU 114讀取目標封包之第二字組並自關於所讀取第二字組之資訊獲取傳送長度(步驟S19)。另外,CPU 114讀取目標封包之第三字組並自關於所讀取第三字組之資訊獲取LBA(步驟S20)。若需要,在步驟S20中,CPU 114讀取目標封包之第四字組。參考關於目標封包之第一字組之資訊中之
第0位元判定是否需要目標封包之第四字組係可能的。在步驟S20之後,CPU 114執行步驟S18。
在此實施例及第二實施例中,假設裝置控制器11a具有複數個接收佇列113且每一接收佇列113針對每一LUN而提供。換言之,具有不同LUN之命令儲存於不同接收佇列113中。以此方式,CPU 114不需要自儲存於接收佇列113中之命令讀取LUN。亦可能不針對每一LUN而提供接收佇列113。在彼情形中,CPU 114自儲存於接收佇列113中之命令讀取LUN。
因此,根據第一實施例,封包判定單元117判定自主機2所接收之命令是否係一存取命令。當判定自主機2所接收之命令係存取命令時,包裝單元118自該命令擷取存取目的地資訊並執行一包裝程序以產生包含所擷取存取目的地資訊且具有小於自主機2所接收之命令之大小之一大小之一命令。CPU 114執行由包裝單元118包裝之命令。亦即,根據第一實施例,對於頻繁地被發出且具有一高回應率之NAND存取命令,在將一命令之到達通知給韌體之前,硬體判定命令之類型、自該命令移除不必要資訊並轉換該命令之格式以使得韌體可藉助最小數目個存取獲取所需資訊。由於可減少係自韌體至硬體之一存取目標之資訊量,因此改良韌體之處理效率。因此,改良記憶體裝置1之存取效能。
來自主機2之命令包含固定欄位17中之命令類型資訊及針對每一命令類型資訊項目而定義之欄位中之命令執行內容資訊。存取目的地資訊儲存於一命令執行內容資訊欄位中。封包判定單元117基於命令類型資訊判定來自主機2之命令是否係一NAND存取命令。包裝單元118自對應於命令類型資訊之欄位擷取存取目的地資訊。以此方式,甚至當存取目的地資訊儲存於不同於每一命令類型之欄位中時,硬體亦可自自主機2所接收之命令可靠地擷取存取目的地資訊。
當NAND存取命令中存在複數個命令類型時,韌體讀取命令、判定命令之類型並自不同於相關技術中之每一命令類型之位置獲取存取目的地資訊。然而,根據本發明之第一實施例,包裝單元118自不同於每一類型之NAND存取命令之欄位擷取存取目的地資訊、將所擷取存取目的地資訊儲存於固定欄位中並將存取目的地資訊傳輸至韌體。以此方式,韌體可在未判定命令之類型之情況下自相同欄位獲取存取目的地資訊。因此,簡化韌體之程序。因此,改良記憶體裝置1之存取效能。
圖10係圖解說明根據一第二實施例之一記憶體裝置1之一裝置控制器之結構之一圖式。根據第二實施例之一裝置控制器11b及一NAND記憶體12形成根據本發明之第二實施例之一記憶體裝置1。
裝置控制器11b包含一主機I/F 111、一傳輸佇列112、一接收佇列113、一CPU 114b、一NAND I/F 115及一處理單元116b。處理單元116b包含一封包判定單元117b及一包裝單元118b。處理單元116b由一硬體電路實施。
由主機I/F 111接收之封包儲存於接收佇列113中。當接收到指示來自接收佇列113之封包之儲存之一中斷信號時,CPU 114b可將一分析請求傳輸至處理單元116b。封包判定單元117b使用分析請求之接收作為一觸發而判定儲存於接收佇列113中之封包是否係一NAND存取命令。當封包係NAND存取命令時,包裝單元118b可執行與第一實施例中之包裝程序相同之包裝程序並將經包裝NAND存取命令作為分析結果傳輸至CPU 114b。
圖11係圖解說明根據第二實施例之記憶體裝置1之操作之一流程圖。首先,當自接收佇列113接收到一中斷信號(步驟S31)時,CPU 114b將一分析請求發出至處理單元116b(步驟S32)。當接收到分析請
求時,封包判定單元117b自接收佇列113讀取所接收封包(步驟S33)。然後,封包判定單元117b判定所讀取封包是否係一NAND存取命令(步驟S34)。當所讀取封包並非NAND存取命令(步驟S34,否)時,操作結束。CPU 114b可自接收佇列113讀取所接收封包並執行一對應程序。
當所讀取封包係NAND存取命令(步驟S34,是)時,包裝單元118b判定是否可以短格式包裝該封包(步驟S35)。當可以短格式包裝所讀取封包(步驟S35,是)時,包裝單元118b以短格式包裝該封包(步驟S36)並將經包裝封包作為分析結果輸出至CPU 114b(步驟S37)。封包判定單元117b自接收佇列113移除為一讀取源之封包(步驟S38)。當難以以短格式包裝所讀取封包(步驟S35,否)時,包裝單元118b以長格式包裝該封包(步驟S39)並執行步驟S37。
當接收到分析結果時,CPU 114b判定該分析結果之格式是否係短格式(步驟S40)。當該分析結果之格式係短格式(步驟S40,是)時,CPU 114b自關於分析結果之第一字組之資訊獲取傳送長度及LBA(步驟S41)、執行NAND存取(步驟S42)並結束操作。
當該分析結果之格式並非短格式(步驟S40,否)時,CPU 114b自關於分析結果之第二字組之資訊獲取傳送長度(步驟S43)。另外,CPU 114b自關於分析結果之第三字組之資訊獲取LBA(步驟S44)。若需要,在步驟S44中,CPU 114b自第四字組獲取LBA之上部數位。在步驟S44之後,CPU 114b執行步驟S42。
因此,記憶體系統1可經組態以使得自主機2所傳輸之命令儲存於接收佇列113中且封包判定單元117b使用來自CPU 114b之一請求作為一觸發而自接收佇列113獲取命令並判定該命令。
如上文所闡述,在某些情形中,命令UPIU包含一SCSI命令。除三種類型之讀取命令及三種類型之寫入命令之外,包含於命令UPIU
中之SCSI命令之實例亦包含各種類型之命令。SCSI命令之儲存於欄位17至欄位31中之值取決於SCSI命令之類型而變化。SCSI命令之類型可藉由CDB[0](命令類型資訊)之值來識別。亦即,用於儲存欄位17至欄位31當中之一程序所需之資訊(命令執行內容資訊)之一欄位可基於CDB[0]之值而規定。舉例而言,如上文所闡述,其中儲存NAND存取命令中之傳送長度及LBA(其係NAND存取所需之資訊)之欄位可基於CDB[0]之值而規定。
根據第三實施例,在一裝置控制器中,一CPU首先獲取CDB[0]之值且規定其中儲存一程序所需之資訊之欄位。然後,CPU不自硬體讀取整個32個位元組命令UPIU,而是將一讀取目標欄位限制於所規定欄位。以此方式,減小由韌體存取之硬體中之資訊之大小係可能的。
圖12係圖解說明根據第三實施例之一記憶體裝置1之裝置控制器之結構之一圖式。根據第三實施例之一裝置控制器11c包含一主機I/F 111、一傳輸佇列112、一接收佇列113、一CPU 114c、一NAND I/F 115及一處理單元(擷取單元)116c。處理單元116c包含一封包判定單元117c及一包裝單元118c。處理單元116c由一硬體電路實施。
由主機I/F 111接收之封包儲存於接收佇列113中。當接收到指示來自接收佇列113之封包之儲存之一中斷信號時,CPU 114c可將一分析請求傳輸至處理單元116c。封包判定單元117c使用分析請求之接收作為一觸發而判定儲存於接收佇列113中之封包(在下文中稱為一目標封包)是否係一SCSI命令(確切地,包含SCSI命令之命令UPIU)。當目標封包係SCSI命令時,包裝單元118c將目標封包中之LUN、任務標籤及CDB[0]重構成包含一個字組且具有一預定格式之一封包並將該所重構封包作為分析結果傳輸至CPU 114c。目標封包保持於接收佇列113中。當接收到來自包裝單元118c之分析結果時,CPU 114c基於
CDB[0]之值規定其中儲存由目標封包請求之程序所需之資訊之欄位。然後,CPU 114c自目標封包中之所規定欄位讀取資訊。
圖13係圖解說明根據第三實施例之記憶體裝置1之操作之一流程圖。首先,當接收到來自接收佇列113之一中斷信號(步驟S51)時,CPU 114c將一分析請求發出至處理單元116c(步驟S52)。當接收到分析請求時,封包判定單元117c自接收佇列113讀取目標封包(步驟S53)。然後,封包判定單元117c判定目標封包是否係SCSI命令(步驟S54)。當目標封包並非SCSI命令(步驟S54,否)時,操作結束。CPU 114c可自接收佇列113讀取目標封包且可執行一對應程序。
當目標封包係SCSI命令(步驟S54,是)時,包裝單元118c自封包擷取LUN、任務標籤及CDB[0]並將所擷取值包裝成一單個字組格式(步驟S55)。然後,包裝單元118c將經包裝封包作為分析結果輸出至CPU 114c(步驟S56)。
當接收到分析結果時,CPU 114c基於包含於分析結果中之CDB[0]規定儲存於接收佇列113中之目標封包中之一讀取目標欄位(步驟S57)。然後,CPU 114c僅存取所規定欄位以獲取資訊(步驟S58)。然後,CPU 114c基於所獲取資訊執行一對應程序(步驟S59)並結束操作。
因此,根據第三實施例,接收佇列113儲存自主機2所接收之命令。處理單元116c自自主機2所接收之命令擷取命令類型資訊。CPU 114c基於由處理單元116c擷取之命令類型資訊規定其中儲存命令執行內容資訊之欄位並自儲存於接收佇列113中之命令中之所規定欄位讀取命令執行內容資訊。以此方式,減小由韌體存取之硬體中之資訊之大小係可能的。因此,改良記憶體裝置1之存取效能。
圖14係圖解說明回應UPIU之結構之一圖式。類似於命令UPIU,
回應UPIU包含各自具有8個位元之一大小之32個欄位。在此實施例中,儲存於欄位2中之LUN、儲存於欄位3中之任務標籤及儲存於欄位4之第二半4個位元中之命令集類型取決於自一主機2所接收之UPIU而變化,但儲存於其他欄位中之值係固定值。任務標籤係用於識別自一記憶體裝置1所傳輸之每一UPIU之一命令識別符。附加至自記憶體裝置1所傳輸之UPIU之任務標籤具有與對應於自主機2所傳輸之UPIU且附加至該UPIU之任務標籤相同之值。亦即,任務標籤指示自主機2所傳輸之UPIU與自記憶體裝置1所傳輸之UPIU之間的對應性。另外,資料輸入UPIU及準備好傳送UPIU類似於回應UPIU,惟固定值儲存於不取決於自一主機2所接收之UPIU(像回應UPIU之LUN、任務標籤)而變化之欄位中。
根據第四實施例,在一裝置控制器中,當建構UPIU(資料輸入UPIU、準備好傳送UPIU及回應UPIU)時,韌體指定LUN、任務標籤及命令集類型。然後,硬體使用一預定固定值以及由韌體指定之LUN、任務標籤及命令集類型建構UPIU。
圖15係圖解說明根據第四實施例之記憶體裝置1之裝置控制器之結構之一圖式。根據第四實施例之一裝置控制器11d包含一主機I/F 111、一傳輸佇列112、一接收佇列113、一CPU 114d、一NAND I/F 115、一處理單元116c及一封包建構單元119。處理單元116c包含一封包判定單元117c及一包裝單元118c。處理單元116c由一硬體電路實施。處理單元116c具有與第三實施例中之處理單元相同之功能。亦即,當儲存於接收佇列113中之封包係一SCSI命令時,CPU 114d可接收作為分析結果之LUN、任務標籤及CDB[0]之值。
封包建構單元119由一硬體電路實施。封包建構單元119包含接收LUN、任務標籤及命令集類型之輸入之一暫存器。另外,預先在封包建構單元119中設定待儲存於除其中儲存LUN、任務標籤及命令集類
型之欄位之外的欄位中之固定值。在封包建構單元119中,預先設定資料輸入UPIU、準備好傳送UPIU及回應UPIU之固定值。封包建構單元119合併自CPU 114d寫入之值與預定固定值以產生UPIU並將所產生UPIU儲存於傳輸佇列112中。
圖16係圖解說明根據第四實施例之記憶體裝置1之操作之一流程圖。當傳輸資料輸入UPIU、準備好傳送UPIU或回應UPIU時,CPU 114d將LUN、任務標籤及命令集類型寫入至封包建構單元119之暫存器(步驟S61)。另外,CPU 114d可自自包裝單元118c輸出之分析結果獲取LUN及任務標籤。CPU 114d寫入用於識別資料輸入UPIU、準備好傳送UPIU及回應UPIU當中之待傳輸之UPIU之一值作為命令集類型。封包建構單元119合併(組合)寫入至暫存器之值與預定固定值以建構一UPIU封包(步驟S62)。然後,封包建構單元119將所建構封包儲存於傳輸佇列112中(步驟S63)並結束操作。
因此,根據第四實施例,CPU 114d將至少一命令識別符通知給封包建構單元119且封包建構單元119組合所通知命令識別符與預定固定值以產生UPIU。以此方式,當韌體產生UPIU時,減少韌體之負載。因此,改良記憶體裝置1之存取效能。
在一第五實施例中,一封包建構單元可自儲存於一接收佇列中之一封包獲取資訊。
圖17係圖解說明根據第五實施例之一記憶體裝置1之一裝置控制器之結構之一圖式。根據第五實施例之一裝置控制器11e包含一主機I/F 111、一傳輸佇列112、一接收佇列113、一CPU 114e、一NAND I/F 115、一處理單元116b及一封包建構單元119e。處理單元116b包含一封包判定單元117b及一包裝單元118b。處理單元116b由一硬體電路實施。處理單元116b具有與第二實施例中之處理單元相同之功能。
封包建構單元119e由一硬體電路實施。封包建構單元119e包含接收命令集類型及指定接收佇列113之槽之一編號(槽號)之輸入之一暫存器。另外,預先在封包建構單元119中設定待儲存於除其中儲存LUN、任務標籤及命令集類型之欄位之外的欄位中之固定值。封包建構單元119e自儲存於由CPU 114e指定之槽中之封包讀取LUN及任務標籤、組合所讀取LUN及任務標籤、自CPU 114e輸入之命令集類型與預定固定值以產生回應UPIU並將所產生回應UPIU儲存於傳輸佇列112中。
圖18係圖解說明根據第五實施例之記憶體裝置1之操作之一流程圖。當傳輸UPIU時,CPU 114e將命令集類型及指定接收佇列113之槽之槽號(其儲存於對應於UPIU之封包中)寫入至封包建構單元119e之暫存器(步驟S71)。封包建構單元119e使用藉由CPU 114e之資料之寫入作為一觸發而自儲存於由所寫入槽號規定之槽中之封包獲取LUN及任務標籤(步驟S72)。然後,封包建構單元119e合併所獲取LUN及任務標籤、由CPU 114e寫入至暫存器之命令集類型與預定固定值以建構一封包(步驟S73)並將所建構封包儲存於傳輸佇列112中(步驟S74)。然後,封包建構單元119e結束操作。
因此,根據第五實施例,封包建構單元119e自儲存於具有由CPU 114e指定之編號之槽中之封包讀取至少一命令識別符並組合所讀取命令識別符與預定固定值以產生回應UPIU。以此方式,當韌體產生回應UPIU時,減少韌體之負載。因此,改良記憶體裝置1之存取效能。
根據一第六實施例之一記憶體裝置之結構類似於根據第五實施例之記憶體裝置1之結構,惟一封包建構單元及一CPU之操作除外。此處,將使用與第五實施例中之彼等名稱及元件符號相同之名稱及元件符號來闡述根據第六實施例之記憶體裝置。
如上文所闡述,當接收到來自一主機2之一讀取命令時,記憶體裝置1劃分資料並傳輸經劃分資料項目。在傳輸最後資料之後,記憶體裝置1傳輸回應UPIU。在第六實施例中,當傳輸最後資料時,一CPU 114e將一預定命令寫入至一封包建構單元119e之一暫存器。在傳輸最後資料之後,其中命令被寫入至暫存器之封包建構單元119e在不需要由CPU 114e寫入之其他命令之情況下自動建構回應UPIU。
圖19係圖解說明根據第六實施例之記憶體裝置1之操作之一流程圖。當傳輸對應於一讀取命令之資料時,CPU 114e將資料輸入UPIU之命令集類型及指定其中放置讀取命令之槽之一槽號寫入至封包建構單元119e之暫存器(步驟S81)。封包建構單元119e使用藉由CPU 114e之資料之寫入作為一觸發而自儲存於由所寫入槽號規定之槽中之封包獲取LUN及任務標籤(步驟S82)。然後,封包建構單元119e合併所獲取LUN及任務標籤、由CPU 114e寫入至暫存器之命令集類型與預定固定值以建構資料輸入UPIU之一封包(步驟S83)並將所建構封包及資料儲存於傳輸佇列112中(步驟S84)。
CPU 114e判定下一資料輸入UPIU是否係最後資料輸入UPIU(步驟S85)。當下一資料輸入UPIU完成由讀取命令請求之資料之傳輸時,CPU 114e可判定下一資料輸入UPIU係最後資料輸入UPIU。當下一資料輸入UPIU並非最後資料輸入UPIU(步驟S85,否)時,CPU 114e再次執行步驟S81。
當下一資料輸入UPIU係最後資料輸入UPIU(步驟S85,是)時,CPU 114e寫入一指令以將回應UPIU、資料輸入UPIU之命令集類型及指定其中放置讀取命令之槽之槽號返回至封包建構單元119e之暫存器(步驟S86)。封包建構單元119e使用藉由CPU 114e之資料之寫入作為一觸發而自儲存於由所寫入槽號規定之槽中之封包獲取LUN及任務標籤(步驟S87)。然後,封包建構單元119e合併所獲取LUN及任務標
籤、由CPU 114e寫入至暫存器之命令集類型與預定固定值以建構資料輸入UPIU之一封包(步驟S88)並將所建構封包及資料儲存於傳輸佇列112中(步驟S89)。
然後,CPU 114e合併所獲取LUN及任務標籤與預定固定值以建構回應UPIU之一封包(步驟S90)並將所建構封包儲存於傳輸佇列112中(步驟S91)。然後,封包建構單元119e結束操作。
因此,根據第六實施例,當資料輸入UPIU傳輸至主機2時,CPU 114e判定為下一傳輸目標之資料輸入UPIU是否完成讀取操作。當為下一傳輸目標之資料輸入UPIU完成讀取操作時,CPU 114e寫入一指令以將回應UPIU返回至封包建構單元119e。當寫入用以返回回應UPIU之指令時,封包建構單元119e建構為下一傳輸目標之資料輸入UPIU且然後自動建構回應UPIU。以此方式,不需要韌體建構回應UPIU及將回應UPIU傳輸至硬體之程序。因此,改良記憶體裝置1之存取效能。
存在其中複數個算術處理器共用一個記憶體之一UMA(統一記憶體架構)。使用UMA使得減小記憶體成本成為可能。
圖20係圖解說明UMA應用於其之一系統之一示意圖。一記憶體裝置5透過一通信路徑3連接至一主機4。記憶體裝置5包含一裝置控制器51及一NAND記憶體12。裝置控制器51可在主機4與NAND記憶體12之間傳輸資料。
主機4包含一CPU 41、一主記憶體42及一主機控制器43。主記憶體42包含一主機使用區域421及一裝置使用區域422。CPU 41控制主機4之總體操作。CPU 41將待自主機4寫入至記憶體裝置5之資料儲存於主機使用區域421中且可發出一寫入命令以將儲存於主機使用區域421中之資料寫入至記憶體裝置5。另外,CPU 41可發出一讀取命令
以將寫入至記憶體裝置5之資料傳輸至主機使用區域421。寫入命令及讀取命令皆透過主機控制器43傳輸至記憶體裝置5。寫入命令及讀取命令皆作為基於UFS標準之封包而傳輸及接收。
記憶體裝置5之裝置控制器51可使用主機4之主記憶體42作為一快取記憶體。特定而言,裝置控制器51使用裝置使用區域422作為快取記憶體。
圖21係圖解說明裝置使用區域422之記憶體結構之一圖式。如圖21中所圖解說明,裝置使用區域422包含一L2P快取區域423、一L2P快取標籤區域424、一寫入快取區域425及一寫入快取標籤區域426。NAND記憶體12儲存位址轉換資訊(未圖解說明),其中由主機1使用以存取記憶體系統2之LBA與NAND記憶體12之實體位址相關聯。L2P快取區域423係其中快取位址轉換資訊之一區域。L2P快取標籤區域424係其中儲存L2P快取區域423之用於判定快取是被設定還是被遺漏之標籤資訊之一區域。寫入快取區域425係其中快取請求由主機4寫入之資料之一區域。寫入快取標籤區域426係其中儲存寫入快取區域425之用於判定快取是被設定還是被遺漏之標籤資訊之一區域。
在記憶體裝置5中,裝置控制器51可請求主機4在主機使用區域421與裝置使用區域422中之寫入快取區域425之間移動資料以自裝置使用區域422讀取資料及將資料寫入至裝置使用區域422。裝置控制器51對主機4之請求及主機4對該請求之回應皆作為基於UFS標準之一擴展標準之封包(UMPIU)而傳輸及接收。在某些情形中,對記憶體裝置5存取裝置使用區域422之請求(移動請求、讀取請求及寫入請求)稱為一UM存取命令。
在一第七實施例中,記憶體裝置5自接收佇列移除指示對自主機4所接收之UM存取命令之回應當中之正常結束之應答。
圖22係圖解說明根據第七實施例之記憶體裝置之裝置控制器之
結構之一圖式。在本發明之第七至第十實施例中,記憶體裝置由元件符號5表示。亦即,根據第七實施例之NAND記憶體12及裝置控制器51形成根據本發明之第七實施例之記憶體裝置5。
裝置控制器51包含一主機I/F 511、一傳輸佇列512、一接收佇列513、一CPU 514、一NAND I/F 515及一處理單元516。處理單元516包含一封包判定單元517及一解構記錄管理單元518。處理單元516由一硬體電路實施。CPU 514充當產生UM存取命令之一存取命令產生單元。
主機I/F 511係用於將裝置控制器51透過通信路徑3連接至主機4之一硬體電路。NAND I/F 515係用於將裝置控制器51連接至NAND記憶體12之一硬體電路。
解構記錄管理單元518由一暫存器形成。當由主機I/F 511自主機4接收之封包係指示正常結束之一應答UMPIU(正常應答)時,封包判定單元517將UMPIU之UM ID(命令識別符)記錄於解構記錄管理單元518中。附加至應答UMPIU之UM ID與在接收UMPIU之前自記憶體裝置5傳輸至主機4之UM存取命令之UM ID相同且指示與UM存取命令之對應性。CPU 514可參考記錄於解構記錄管理單元518中之UM ID而檢查對應於已正常地結束之UM存取命令之程序。另外,CPU 514隨時參考解構記錄管理單元518。當由主機I/F 511自主機4接收之封包並非指示正常結束之應答(異常應答)時,封包判定單元517將該封包儲存於傳輸佇列512中。
圖23係圖解說明根據第七實施例之記憶體裝置5之操作之一流程圖。主機I/F 511將UMPIU之UM存取命令傳輸至主機4(步驟S101)。然後,當主機I/F 511接收到來自主機4之一封包(步驟S102)時,封包判定單元517判定所接收封包是否係指示正常結束之一應答UMPIU(步驟S103)。當所接收封包並非一指示正常結束之應答(步驟S103,
否)時,封包判定單元517將該封包儲存於接收佇列513中(步驟S104)並結束操作。當所接收封包係指示正常結束之一應答(步驟S103,是)時,封包判定單元517將附加至該封包之UM ID記錄於解構記錄管理單元518中(步驟S105)並結束操作。
因此,根據第七實施例,封包判定單元517判定來自主機4之封包是正常應答還是異常應答、將異常應答儲存於接收佇列513中且不將正常應答儲存於接收佇列513中。以此方式,移除韌體自硬體讀取僅用於確認(諸如正常應答)之資訊之程序。因此,改良記憶體裝置5之存取效能。
另外,封包判定單元517將正常應答之命令識別符記錄於可由韌體讀取之解構記錄管理單元518中。以此方式,韌體可隨時檢查已正常地結束之封包。
在諸多情形中,由於記憶體裝置5使用主記憶體42之裝置使用區域422作為一快取記憶體,因此自記憶體裝置5讀取之資料之大小等於快取記憶體之線大小或標籤資訊之大小。根據一第八實施例,當傳輸其中資料長度對應於一預定值之一讀取UM存取命令時,韌體簡化(舉例而言)指定資料長度之一程序。以此方式,減小由韌體存取之硬體中之資訊之大小係可能的。
圖24係圖解說明根據第八實施例之一記憶體裝置5之一裝置控制器之結構之一圖式。根據第八實施例之一裝置控制器51b包含一主機I/F 511、一傳輸佇列512、一接收佇列513、一CPU 514b、一NAND I/F 515及一封包建構單元519。
圖25係圖解說明根據第八實施例之封包建構單元519之結構之一圖式。封包建構單元519由一硬體電路實施。封包建構單元519包含具有一個字組之一大小且其中儲存下文將闡述之所設定資訊之一暫存器
601(PARAM)及各自具有一個字組之一大小之32個暫存器602(REQ00至REQ31)。暫存器601及暫存器602由封包建構單元519使用以接收來自CPU 514b之輸入。封包建構單元519基於來自CPU 514b之輸入而建構一讀取命令UMPIU。
圖26係圖解說明其中依據在暫存器601及暫存器602中設定之資訊來建構一讀取命令之一態樣之一圖式。如一讀取命令603中所圖解說明,指示封包係UMPIU之「xx00 1000b」儲存於UMPIU之頭部處。UMPIU具有16個位元組之一大小。亦即,圖26中所圖解說明之讀取命令603之一列中之一欄位具有一個字組之一大小。
緊接在暫存器602之名稱「REQ」後之數字係用於識別32個暫存器602之預定暫存器位址。暫存器602之暫存器位址充當為用於識別由封包建構單元519建構之每一命令之一命令識別符之一UM ID。特定而言,預先將UM ID之上部數位設定為暫存器601中之所設定資訊項目中之一者。緊接在暫存器602之名稱「REQ」後之數字用作UM ID之下部數位(5個位元)。封包建構單元519組合在暫存器601中設定之UM ID之上部數位與暫存器602之暫存器位址以產生一UM ID並將所產生UM ID附加至讀取命令603。另外,暫存器602之暫存器位址可用作UM ID。
暫存器602儲存用於指定關於4個位元組、8個位元組、16個位元組及32個位元組中之一者之大小資訊之2個位元資訊(大小指定資訊)。大小指定資訊之大小小於大小資訊之大小。封包建構單元519解碼大小指定資訊以計算大小資訊並將所計算大小資訊插入讀取命令603中。另外,暫存器602將一存取目的地之位址資訊儲存於其餘30個位元中。將位址資訊表示為自裝置使用區域422之一偏移。另外,將位址資訊與關於4個位元組、8個位元組、16個位元組及32個位元組中之一者(在此實施例中,4個位元組)之大小資訊對準。位址資訊在不
具有任何改變之情況下插入至讀取命令603中。由於複數個預定大小資訊項目中之一者由大小指定資訊指定,因此減小用於指定資料長度之欄位之大小係可能的。由於位址資訊與一預定大小資訊項目對準,因此減小其中儲存位址資訊之欄位之大小係可能的。以此方式,韌體可在暫存器中將存取目的地資訊設定為具有一小大小(在此實施例中,一個字組)。亦即,韌體不創建具有四個字組之一大小之UMPIU且不將所創建UMPIU寫入至硬體,但創建具有一個字組之一大小之存取目的地資訊且將所創建存取目的地資訊寫入至硬體。以此方式,建構一讀取命令UMPIU。在暫存器601中設定一單個位元P旗標。P旗標指定讀取命令603是否係優先處理之一讀取命令。
圖27係圖解說明根據第八實施例之記憶體裝置5之操作之一流程圖。假設預先在暫存器601中設定UM ID之上部數位。當傳輸讀取命令603時,CPU 514b選擇四種類型之預定資料長度中之一者(步驟S111)。然後,CPU 514b判定UM ID之下部5個位元(步驟S112)。然後,CPU 514b將用於識別選定資料長度之2個位元大小指定資訊及存取目的地之位址資訊之上部30個位元作為一暫存器位址寫入至具有選定UM ID之下部5個位元之暫存器602「REQ」(步驟S113)。
封包建構單元519使用步驟S113之執行作為一觸發而開始其操作。首先,封包建構單元519解碼大小指定資訊並計算資料長度(步驟S114)。另外,封包建構單元519基於在暫存器601「PARAM」中設定之UM ID之上部數位及暫存器602「REQ」之暫存器位址而計算一UM ID(步驟S115)。然後,封包建構單元519使用所計算資料長度及UM ID來建構讀取命令603(步驟S116)。然後,封包建構單元519將所建構讀取命令603儲存於傳輸佇列512中(步驟S117)並結束操作。儲存於傳輸佇列512中之讀取命令603由主機I/F 511傳輸至主機4。
因此,根據第八實施例,CPU 514b產生指示讀取目的地之存取
目的地資訊及命令建構單元519基於所產生存取目的地資訊而建構具有超過存取目的地資訊之大小之一大小之讀取命令。以此方式,韌體僅藉由產生具有小於讀取命令之大小之一大小之存取目的地資訊及將存取目的地資訊寫入至硬體而建構讀取命令。由於可減小由韌體存取之硬體中之資訊之大小,因此改良韌體之處理效率。因此,改良記憶體裝置1之存取效能。
由CPU 514b產生之存取目的地資訊包含用於指定複數個預定大小資訊項目中之一者之大小指定資訊。以此方式,韌體可表示擁有具有一小大小之資料之大小資訊。因此,減小由韌體存取之硬體中之資訊之大小係可能的。
可指定之大小資訊項目中之至少一者等於快取線之大小。因此,甚至當頻繁地發生一快取存取時,韌體可藉助小數目個程序將用以讀取快取記憶體之讀取命令603傳輸至硬體。
命令建構單元519將自CPU 514b所接收之存取目的地資訊儲存於每一命令識別符與其相關聯之暫存器602中並將對應於其中儲存有存取目的地資訊之暫存器602之命令識別符附加至讀取命令603。以此方式,甚至當命令識別符不包含於存取目的地資訊中時,CPU 514b亦可指定命令識別符且減小由韌體存取之硬體中之資訊之大小係可能的。
由CPU 514b產生之存取目的地資訊包含與可由大小指定資訊指定之大小資訊項目當中之一個大小對準之位址資訊。以此方式,韌體可表示擁有具有一小大小之資料之位址資訊。因此,減小由韌體存取之硬體中之資訊之大小係可能的且改良韌體之處理效率。
根據一第九實施例,一記憶體裝置5預先將UMPIU之一範本儲存於硬體中且韌體僅產生待傳輸之UMPIU與預先儲存於硬體中之範本
之間的差分資訊。
圖28係圖解說明根據第九實施例之記憶體裝置5之一封包建構單元之結構之一圖式。在第九實施例中,結構類似於第八實施例中之結構,惟一封包建構單元519c除外,且將不重複與第八實施例中之結構相同之結構之說明。封包建構單元519c包含其中UM存取命令之UMPIU之範本由CPU 514b設定之一範本暫存器604及其中差分資訊由CPU 514b設定之一差分暫存器605。另外,可提供複數個範本暫存器604且可設定不同範本。
圖29係圖解說明根據第九實施例之記憶體裝置5之操作之一流程圖。首先,CPU 514b創建UMPIU之範本(步驟S121)並將所創建範本設定於範本暫存器604中(步驟S122)。然後,CPU 514b依據在範本暫存器604中設定之範本來創建差分資訊(步驟S123)並將所創建差分資訊設定於差分暫存器605中(步驟S124)。封包建構單元519c使用步驟S124之執行作為一觸發而開始其操作。然後,封包建構單元519c將在差分暫存器605中設定之差分資訊重寫於在範本暫存器604中設定之範本上以建構UMPIU(步驟S125)。然後,封包建構單元519c將所建構UMPIU儲存於傳輸佇列512中(步驟S126)並結束操作。
因此,根據第九實施例,CPU 514b可僅藉由將封包建構單元519c中預先設定之範本與為一傳輸目標之一UM存取命令之間的差分資訊寫入至封包建構單元519c而指示封包建構單元519c建構為該傳輸目標之該UM存取命令。因此,減小由韌體存取之硬體中之資訊之大小係可能的且改良韌體之處理效率。因此,改良記憶體裝置5之存取效能。
根據一第十實施例,硬體可自動產生一UM ID。
圖30係圖解說明根據第十實施例之一記憶體裝置5之一封包建構
單元之結構之一圖式。在第十實施例中,結構類似於第九實施例中之結構,惟一封包建構單元519d除外,且將不重複與第九實施例中之結構相同之結構之說明。封包建構單元519d包含其中UMPIU之範本由一CPU 514b設定之一範本暫存器604、其中差分資訊由CPU 514b設定之一差分暫存器605及自動產生一UM ID之一ID產生單元606。舉例而言,ID產生單元606產生用於連續地產生之複數個UMPIU之UM ID以使得UM ID之編號按產生次序為連續的。
圖31係圖解說明根據第十實施例之記憶體裝置5之操作之一流程圖。首先,CPU 514b創建UMPIU之範本(步驟S131)並將所創建範本設定於範本暫存器604中(步驟S132)。然後,CPU 514b依據在範本暫存器604中設定之範本來創建差分資訊(步驟S133)並將所創建差分資訊設定於差分暫存器605中(步驟S134)。封包建構單元519d使用步驟S134之執行作為一觸發而開始其操作。特定而言,ID產生單元606產生一UM ID(步驟S135)。然後,封包建構單元519d將在差分暫存器605中設定之差分資訊重寫於在範本暫存器604中設定之範本上且將UM ID附加至範本,藉此建構UMPIU(步驟S136)。然後,封包建構單元519d將所建構UMPIU儲存於傳輸佇列512中(步驟S137)並結束操作。
因此,根據第十實施例,封包建構單元519d包含自動產生一命令識別符之ID產生單元606並將由ID產生單元606自動產生之命令識別符附加至待傳輸之UM存取命令。以此方式,不需要韌體將命令識別符通知給硬體之程序。因此,減小由韌體存取之硬體中之資訊之大小係可能的且改良韌體之處理效率。因此,改良記憶體裝置5之存取效能。
在第四實施例中,記憶體裝置應用於產生UPIU之一封包之一操作。然而,記憶體裝置可應用於產生UMPIU之一封包之一操作。
雖然已闡述某些實施例,但此等實施例已僅以實例方式呈現且並非意欲限制本發明之範疇。實際上,可以多種其他形式體現本文中所闡述之新穎實施例;此外,在不背離本發明之精神之情況下可做出以本文中所闡述之實施例之形式之各種省略、替代及改變。隨附申請專利範圍及其等效物意欲涵蓋將屬於本發明之範疇及精神內之此等形式或修改。
11a‧‧‧裝置控制器/主機裝置控制器
111‧‧‧主機介面
112‧‧‧傳輸佇列
113‧‧‧接收佇列
114‧‧‧中央處理單元
115‧‧‧NAND介面
116‧‧‧處理單元
117‧‧‧封包判定單元/判定單元
118‧‧‧包裝單元/第二命令產生單元
Claims (24)
- 一種記憶體裝置,其連接至一主機裝置、接收來自該主機裝置之一命令並基於該命令執行一程序,該記憶體裝置包括:一介面單元,其自該記憶體裝置外接收一第一命令;一判定單元,其判定由該介面單元接收之該第一命令是否係為一寫入命令或一讀取命令之一存取命令;一第二命令產生單元,當該判定單元判定該第一命令係該存取命令時,該第二命令產生單元自該第一命令擷取為一存取目的地之位址資訊或大小資訊之存取目的地資訊並產生包含該所擷取存取目的地資訊且具有小於該第一命令之大小之一大小之一第二命令;及一處理器,其執行該第二命令。
- 如請求項1之記憶體裝置,其進一步包括:一接收佇列,其中當由該介面單元接收之該第一命令並非該存取命令時,該判定單元將該第一命令儲存於該接收佇列中,該第二命令產生單元將該所產生第二命令儲存於該接收佇列中,且該處理器獲取並執行儲存於該接收佇列中之該命令。
- 如請求項1之記憶體裝置,其進一步包括:一接收佇列,其中該介面單元將該所接收第一命令儲存於該接收佇列中,且該判定單元自該接收佇列獲取該第一命令並執行該判定。
- 如請求項1之記憶體裝置, 其中該判定單元及該第二命令產生單元安裝為硬體組件。
- 如請求項1之記憶體裝置,其中該第一命令包含儲存於一固定欄位中之命令類型資訊及儲存於針對每一命令類型資訊項目而定義之一欄位中之命令執行內容資訊,該存取目的地資訊儲存於一命令執行內容資訊欄位中,該判定單元基於該命令類型資訊判定該第一命令是否係該存取命令,且該第二命令產生單元自對應於該命令類型資訊之該欄位擷取該存取目的地資訊。
- 如請求項5之記憶體裝置,其中該寫入命令或該讀取命令包含複數種類型之命令,該複數種類型之命令包含其中儲存有該命令執行內容資訊之不同欄位且由該命令類型資訊識別,且該第二命令產生單元將該所擷取存取目的地資訊儲存於該第二命令之該固定欄位中。
- 如請求項6之記憶體裝置,其中該第二命令包含指示該命令是該第一命令還是該第二命令之一第一旗標,且該處理器基於該第一旗標識別待處理之一命令是該第一命令還是該第二命令。
- 如請求項7之記憶體裝置,其中該第二命令包含其中壓縮該存取目的地資訊之一第三命令、其中未壓縮該存取目的地資訊之一第四命令及指示該命令是該第三命令還是該第四命令之一第二旗標,且該處理器基於該第二旗標識別待處理之該第二命令是該第三 命令還是該第四命令。
- 如請求項2之記憶體裝置,其進一步包括:一封包建構單元,其產生對應於該第二命令之一回應封包,其中該第一命令包含用於識別每一第一命令之一命令識別符,該第二命令產生單元自該第一命令擷取該命令識別符並將該所擷取命令識別符插入至該第二命令中,該處理器將用於指定該接收佇列中之對應於待產生之一回應封包之該第二命令之一儲存位置的位置資訊傳輸至該封包建構單元,該封包建構單元基於該位置資訊獲取對應於待產生之該回應封包之該第二命令之該命令識別符並組合該所獲取命令識別符與一預定固定值以產生該回應封包,且該介面單元將由該封包建構單元產生之該封包傳輸至該記憶體裝置外。
- 如請求項9之記憶體裝置,其中在其中傳輸具有一預定大小且由該讀取命令請求之資料之每一第一傳輸期間,該處理器判定待處理之該第一傳輸是否對應於為其中完成該讀取命令之執行之最後第一傳輸之第二傳輸,當該處理器判定待處理之該第一傳輸不對應於該第二傳輸時,該封包建構單元產生用於執行待處理之該第一傳輸之一第一回應封包,且當該處理器判定待處理之該第一傳輸對應於該第二傳輸時,該封包建構單元產生該第一回應封包並自動產生指示該讀取命令之該執行已結束之一第二回應封包。
- 一種記憶體裝置,其連接至一主機裝置、接收自該主機裝置輸出之一命令並執行該命令,該記憶體裝置包括:一介面單元,其自該記憶體裝置外接收一命令,該命令包含儲存於一固定欄位中之命令類型資訊及儲存於針對每一命令類型資訊項目而定義之一欄位中之命令執行內容資訊;一接收佇列,其儲存由該介面單元接收之該命令;一擷取單元,其擷取包含於該命令中之該命令類型資訊;及一處理器,其自對應於儲存於該接收佇列中之該命令中之該所擷取命令類型資訊之該欄位獲取該命令執行內容資訊並基於該所獲取命令執行內容執行對應於該命令之一程序。
- 如請求項11之記憶體裝置,其進一步包括:一封包建構單元,其產生對應於儲存於該接收佇列中且由該處理器執行之該命令之一回應封包,其中該命令包含儲存於一固定欄位中並識別每一第一命令之一命令識別符,該處理器自儲存於該接收佇列中之該命令獲取該命令識別符並將該所獲取命令識別符通知給該封包建構單元,且該封包建構單元組合該所通知命令識別符與一預定固定值以產生該回應封包。
- 如請求項12之記憶體裝置,其中該命令包含一讀取命令,且在其中傳輸具有一預定大小且由該讀取命令請求之資料之每一第一傳輸期間,該回應封包包含用於執行該第一傳輸之一第一回應封包。
- 如請求項12之記憶體裝置,其中該回應封包包含指示完成對應於該命令之該程序之該執 行之一第二回應封包。
- 如請求項12之記憶體裝置,其中該命令包含一寫入命令,且該回應封包包含用於通知由該寫入命令請求之資料準備好被接收之一第三回應封包。
- 一種記憶體裝置,其連接至包含其中確保一裝置使用區域之一記憶體之一主機裝置、接收來自該主機裝置之一命令並基於該命令執行一程序,該記憶體裝置包括:一處理器,其產生指示該裝置使用區域中之一讀取目的地之存取目的地資訊;一封包建構單元,其基於該存取目的地資訊產生具有超過該存取目的地資訊之大小之一大小之一讀取命令;及一介面單元,其將由該封包建構單元產生之該讀取命令輸出至該記憶體裝置外。
- 如請求項16之記憶體裝置,其中該存取目的地資訊包含用於指定複數個預定大小中之一者之大小指定資訊,且該封包建構單元將指定由該大小指定資訊指定之該大小之資訊插入至該讀取命令中。
- 如請求項17之記憶體裝置,其中該裝置使用區域包含快取位址轉譯資訊之一快取區域,且複數個預定大小資訊項目中之一者與形成該快取區域之一快取線之大小資訊相同。
- 如請求項16之記憶體裝置,其中該讀取命令包含用於識別每一命令之一命令識別符,且 該封包建構單元包含接收來自該處理器之該存取目的地資訊之輸入且預先與不同命令識別符相關聯之複數個暫存器並將對應於該複數個暫存器當中的該存取目的地資訊所輸入至之該暫存器之該命令識別符附加至該所產生讀取命令。
- 如請求項17之記憶體裝置,其中該存取目的地資訊包含藉由對準該裝置使用區域中之一存取目的地之位址資訊與該複數個該等預定大小中之一者而獲得之一值。
- 如請求項16之記憶體裝置,其中該主機裝置執行包含該讀取命令且用於對該裝置使用區域之存取之一存取命令;該封包建構單元包含一範本儲存單元及接收來自該處理器之輸入之一暫存器,該處理器預先在該範本儲存單元中設定一範本並將在該範本儲存單元中設定之該範本與待傳輸之該存取命令之間的差分資訊寫入至該暫存器,且該封包建構單元基於在該範本儲存單元中設定之該範本及寫入至該暫存器之該差分資訊產生待傳輸之該存取命令。
- 如請求項16之記憶體裝置,其中該存取命令包含用於識別每一命令之一命令識別符,且該封包建構單元進一步包含產生該命令識別符之一命令識別符產生單元並將由該命令識別符產生單元產生之該命令識別符附加至待傳輸之該存取命令。
- 一種記憶體裝置,其連接至包含其中確保一裝置使用區域之一記憶體之一主機裝置、接收來自該主機裝置之一命令並基於該命令執行一程序,該記憶體裝置包括: 一存取命令產生單元,其產生用於對該裝置使用區域之存取之一存取命令;一介面單元,其將由該存取命令產生單元產生之該存取命令輸出至該記憶體裝置外並自該記憶體裝置外接收包含對應於該存取命令之應答之一封包;一判定單元,其判定由該介面單元接收之該封包是指示正常結束之正常應答還是指示異常結束之異常應答、在該封包係該異常應答時將該異常應答儲存於一接收佇列中且在該封包係該正常應答時不將該正常應答儲存於該接收佇列中;及一處理器,其自該接收佇列獲取該異常應答。
- 如請求項23之記憶體裝置,其進一步包括:一暫存器,其可由該處理器讀取,其中當該封包係該正常應答時,該判定單元將用於識別該正常應答之一命令識別符記錄於該暫存器中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361770043P | 2013-02-27 | 2013-02-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201433919A TW201433919A (zh) | 2014-09-01 |
TWI526838B true TWI526838B (zh) | 2016-03-21 |
Family
ID=51368606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102129355A TWI526838B (zh) | 2013-02-27 | 2013-08-15 | 記憶體裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9176673B2 (zh) |
CN (1) | CN104007935B (zh) |
TW (1) | TWI526838B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI526838B (zh) * | 2013-02-27 | 2016-03-21 | 東芝股份有限公司 | 記憶體裝置 |
US9377968B2 (en) * | 2013-11-13 | 2016-06-28 | Sandisk Technologies Llc | Method and system for using templates to communicate with non-volatile memory |
KR20150112075A (ko) * | 2014-03-26 | 2015-10-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US10061515B2 (en) * | 2014-09-11 | 2018-08-28 | Toshiba Memory Corporation | Information processing apparatus and memory system |
JP2017168967A (ja) | 2016-03-15 | 2017-09-21 | 富士ゼロックス株式会社 | 情報処理装置 |
US10528267B2 (en) * | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Command queue for storage operations |
US10853262B2 (en) * | 2016-11-29 | 2020-12-01 | Arm Limited | Memory address translation using stored key entries |
KR20180083093A (ko) * | 2017-01-12 | 2018-07-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10296473B2 (en) * | 2017-03-24 | 2019-05-21 | Western Digital Technologies, Inc. | System and method for fast execution of in-capsule commands |
KR102395190B1 (ko) * | 2017-07-31 | 2022-05-06 | 삼성전자주식회사 | 호스트와 인터페이스를 수행하는 스토리지 장치, 호스트 및 스토리지 장치의 동작방법 |
KR102549540B1 (ko) * | 2017-09-22 | 2023-06-29 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102411290B1 (ko) * | 2017-10-24 | 2022-06-22 | 삼성전자주식회사 | 선택적으로 퍼지 동작을 수행하도록 구성되는 호스트 장치 및 스토리지 장치를 포함하는 스토리지 시스템 |
KR102327878B1 (ko) * | 2017-11-07 | 2021-11-17 | 삼성전자주식회사 | 반도체 장치 및 반도체 시스템 |
KR20200049051A (ko) | 2018-10-31 | 2020-05-08 | 삼성전자주식회사 | 스토리지 장치의 구동 방법, 이를 수행하는 스토리지 장치 및 이를 이용한 스토리지 시스템의 구동 방법 |
US11137914B2 (en) * | 2019-05-07 | 2021-10-05 | Western Digital Technologies, Inc. | Non-volatile storage system with hybrid command |
US11275527B1 (en) * | 2019-06-11 | 2022-03-15 | Western Digital Technologies, Inc. | Execution condition embedded in a command or a request to storage device |
TWI734220B (zh) * | 2019-07-10 | 2021-07-21 | 慧榮科技股份有限公司 | 主機輸出入命令的執行裝置及方法及電腦程式產品 |
KR20210016208A (ko) | 2019-08-02 | 2021-02-15 | 삼성전자주식회사 | 스토리지 장치, 및 스토리지 장치 및 스토리지 장치를 제어하는 호스트 장치를 포함하는 스토리지 시스템의 동작 방법 |
US11537320B2 (en) | 2020-02-03 | 2022-12-27 | Western Digital Technologies, Inc. | Storage system and method for host memory access |
US11327684B2 (en) | 2020-05-14 | 2022-05-10 | Western Digital Technologies, Inc. | Storage system and method for host memory access |
US11941253B2 (en) * | 2021-04-22 | 2024-03-26 | EMC IP Holding Company, LLC | Storage system and method using persistent memory |
TWI814655B (zh) * | 2022-12-05 | 2023-09-01 | 慧榮科技股份有限公司 | 記憶裝置、快閃記憶體控制器及其控制方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0503092B1 (en) * | 1990-10-03 | 1998-01-07 | Fujitsu Limited | System for controlling issue of input/output instruction in data processing system |
JP4294894B2 (ja) | 2001-09-13 | 2009-07-15 | 株式会社ルネサステクノロジ | メモリカード |
CN1190735C (zh) | 2002-09-26 | 2005-02-23 | 深圳市朗科科技有限公司 | 数据交换及存储方法与装置 |
DE10318771B4 (de) * | 2003-04-25 | 2007-12-27 | Infineon Technologies Ag | Integrierte Speicherschaltung mit einer Redundanzschaltung sowie ein Verfahren zum Ersetzen eines Speicherbereichs |
US7334077B2 (en) | 2003-10-17 | 2008-02-19 | Renesas Technology America, Inc. | Method and apparatus for smart memory pass-through communication |
KR20080089586A (ko) | 2005-12-08 | 2008-10-07 | 샌디스크 코포레이션 | 명령 패스 스로우 메커니즘을 가지는 미디어 카드 |
JP5296041B2 (ja) * | 2010-12-15 | 2013-09-25 | 株式会社東芝 | メモリシステムおよびメモリシステムの制御方法 |
JP5677336B2 (ja) * | 2011-08-01 | 2015-02-25 | 株式会社東芝 | メモリ・デバイス |
JP2013077278A (ja) | 2011-09-16 | 2013-04-25 | Toshiba Corp | メモリ・デバイス |
JP5547154B2 (ja) * | 2011-09-21 | 2014-07-09 | 株式会社東芝 | メモリ・デバイス |
KR101949671B1 (ko) * | 2012-06-28 | 2019-04-25 | 삼성전자 주식회사 | 라이프 싸이클을 증가시킬 수 있는 저장 장치 및 그 동작 방법 |
TWI526838B (zh) * | 2013-02-27 | 2016-03-21 | 東芝股份有限公司 | 記憶體裝置 |
-
2013
- 2013-08-15 TW TW102129355A patent/TWI526838B/zh active
- 2013-08-28 CN CN201310382243.1A patent/CN104007935B/zh active Active
- 2013-08-30 US US14/014,924 patent/US9176673B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW201433919A (zh) | 2014-09-01 |
CN104007935A (zh) | 2014-08-27 |
US9176673B2 (en) | 2015-11-03 |
CN104007935B (zh) | 2017-07-04 |
US20140244907A1 (en) | 2014-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI526838B (zh) | 記憶體裝置 | |
KR102466353B1 (ko) | SSD 스토리지의 NVMe 명령간 연관을 위한 시스템 및 방법 | |
US8458381B2 (en) | Processing host transfer requests for direct block access storage devices | |
US9990138B2 (en) | Out of order SGL read sorting in a mixed system with PRP read or system that supports only SGL reads | |
US20160342463A1 (en) | Data protection in a namespace | |
US11635902B2 (en) | Storage device processing stream data, system including the same, and operation method | |
CN108153482B (zh) | Io命令处理方法与介质接口控制器 | |
US10540096B2 (en) | Method and design for dynamic management of descriptors for SGL operation | |
US10108565B2 (en) | Method for on-demand fetching of SGL pointers based buffer, traffic and command requirements | |
JP2011512591A5 (zh) | ||
US10936513B2 (en) | Apparatus and method for executing from a host side through a frontend interface input-output commands using a slot bit table | |
US7818473B2 (en) | Embedded locate records for device command word processing | |
US20150177985A1 (en) | Information processing device | |
CN109144742B (zh) | 通过队列交换信息的方法和处理队列的系统 | |
JP3747213B1 (ja) | シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ | |
CN111258491B (zh) | 降低读命令处理延迟的方法与装置 | |
TWI798034B (zh) | 記憶體控制器與資料處理方法 | |
US20230325110A1 (en) | Operation method of host device and operation method of storage device | |
TWI556102B (zh) | 資料存取系統及方法 | |
CN113448494A (zh) | 通过dma单元操作pi的存储设备及其方法 |