TWI820952B - 藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備 - Google Patents
藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備 Download PDFInfo
- Publication number
- TWI820952B TWI820952B TW111137804A TW111137804A TWI820952B TW I820952 B TWI820952 B TW I820952B TW 111137804 A TW111137804 A TW 111137804A TW 111137804 A TW111137804 A TW 111137804A TW I820952 B TWI820952 B TW I820952B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- memory
- copy
- host device
- address
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000013507 mapping Methods 0.000 claims description 55
- 230000011664 signaling Effects 0.000 claims description 24
- 238000012546 transfer Methods 0.000 claims description 11
- 230000010076 replication Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 6
- 238000012005 ligant binding assay Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 102220070930 rs794728599 Human genes 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 229920001485 poly(butyl acrylate) polymer Polymers 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- 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
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0658—Controller construction arrangements
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Communication Control (AREA)
Abstract
本發明提供藉助於預定命令來進行記憶體裝置的資料存取控制的方法及相關設備。該方法可包含:利用該記憶體控制器藉由該記憶體控制器內的一傳輸介面電路從主機裝置接收第一單一命令;以及響應於第一單一命令符合預定命令的預定格式,利用記憶體控制器依據第一單一命令進行一系列操作,其中第一單一命令代表第一複製命令,用於將第一資料從第一來源邏輯位址複製到第一目的地邏輯位址。該系列操作可包含:在第一來源邏輯位址讀取第一資料;以及在第一目的地邏輯位址寫入第一資料。
Description
本發明是有關於記憶體控制,尤指一種藉助於一預定命令(例如:一複製(duplicate)命令)來進行一記憶體裝置的資料存取控制的方法以及相關設備(apparatus)諸如該記憶體裝置、一電子裝置、該記憶體裝置的一記憶體控制器、以及一主機(host)裝置。
記憶體裝置可包含用以儲存資料的快閃記憶體,並且存取快閃記憶體的管理相當複雜,舉例來說,記憶體裝置可以為一記憶卡、一固態硬碟(solid state drive,SSD)或者一嵌入式儲存裝置(例如符合通用快閃儲存(universal flash storage,簡稱UFS)規範的嵌入式儲存裝置)。當一製造商嘗試根據既有的規範實現記憶體裝置的某些特徵時,可能會出現某些問題。尤其,記憶體裝置可能會響應於主機端請求(host-side request)而花費過多的時間來進行記憶體裝置的某些內部操作,從而導致整體效能降低。相關技術嘗試解決這個問題,然而,可能會引入了更多問題(例如某些副作用),因此,需要一種新穎的方法以及相關架構以在不引入任何副作用的情況下或藉由不太可能引入副作用的方式解決這些問題。
因此,本發明的多個目的的其中之一在於提供一種藉助於一預定命令(例如:一複製(duplicate)命令)來進行一記憶體裝置的資料存取控制的方法以及相關設備諸如該記憶體裝置、一電子裝置、該記憶體裝置的一記憶體控制器、以及一主機裝置,以解決上述問題。
本發明的至少一實施例提供了一種藉助於一預定命令來進行一記憶體裝置的資料存取控制的方法,其中該方法可應用於該記憶體裝置的一記憶體控制器。該記憶體裝置可包含該記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,並且該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件)。該方法可包含:利用該記憶體控制器藉由該記憶體控制器內的一傳輸介面電路從一主機裝置接收一第一單一命令;以及響應於該第一單一命令符合該預定命令的一預定格式,利用該記憶體控制器依據該第一單一命令進行一系列操作,其中該第一單一命令代表一第一複製命令,用於將第一資料從一第一來源邏輯位址複製到一第一目的地邏輯位址,以及該系列操作包含:藉由在一第一來源實體位址讀取該第一資料以在該第一來源邏輯位址讀取該第一資料,其中該第一來源實體位址與該第一來源邏輯位址相關聯;以及藉由在一第一目的地實體位址寫入該第一資料以在該第一目的地邏輯位址寫入該第一資料,其中該第一目的地實體位址與該第一目的地邏輯位址相關聯。
除了上述方法外,本發明另提供了一種記憶體裝置的記憶體控制器,其中該記憶體裝置可包含該記憶體控制器以及一非揮發性記憶體。該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件)。另外,該記憶體控制器包含一處理電路,其是用以根據來自一主機裝置的複數個主機命令來控制該記憶體控制器,以容許該主機裝置藉由該記憶體控制器來存取該非揮發性記憶體,其中該處理電路是用以藉助於一預定命令來進行該記憶體裝置的資料存取控制。該記憶體控制器另包含一傳輸介面電路,並
且該傳輸介面電路是用以與該主機裝置進行通訊。舉例來說,該記憶體控制器藉由該記憶體控制器內的該傳輸介面電路從該主機裝置接收一第一單一命令;以及響應於該第一單一命令符合該預定命令的一預定格式,該記憶體控制器依據該第一單一命令進行一系列操作,其中該第一單一命令代表一第一複製命令,用於將第一資料從一第一來源邏輯位址複製到一第一目的地邏輯位址。此外,該系列操作可包含:藉由在一第一來源實體位址讀取該第一資料以在該第一來源邏輯位址讀取該第一資料,其中該第一來源實體位址與該第一來源邏輯位址相關聯;以及藉由在一第一目的地實體位址寫入該第一資料以在該第一目的地邏輯位址寫入該第一資料,其中該第一目的地實體位址與該第一目的地邏輯位址相關聯。
除了上述方法外,本發明另提供包含上述記憶體控制器的該記憶體裝置,其中該記憶體裝置包含該非揮發性記憶體以及該記憶體控制器。該非揮發性記憶體是用以儲存資訊。該記憶體控制器是耦接至該非揮發性記憶體,並且用以控制該記憶體裝置的操作。
除了上述方法外,本發明另提供了一種相關電子裝置。該電子裝置可包含上述記憶體裝置,並且可另包含:該主機裝置,其耦接至該記憶體裝置。該主機裝置可包含:至少一處理器,其用以控制該主機裝置的操作;以及一電源供應電路,其耦接至該至少一處理器,並且用以提供電源給該至少一處理器以及該記憶體裝置,此外,該記憶體裝置可提供儲存空間給該主機裝置。
本發明的至少一實施例提供了一種藉助於一預定命令來進行一記憶體裝置的資料存取控制的方法,其中該方法可應用於耦接至該記憶體裝置的一主機裝置。該記憶體裝置可包含一記憶體控制器以及一非揮發性記憶體,並且該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件)。該方法可包含:藉由該主機裝置內的一傳輸介面電路從該主機裝
置發送一第一單一命令至該記憶體控制器,該第一單一命令符合該預定命令的一預定格式,以觸發該記憶體控制器依據該第一單一命令進行一系列操作,其中該第一單一命令代表一第一複製命令,用於將第一資料從一第一來源邏輯位址複製到一第一目的地邏輯位址。另外,該系列操作可包含:藉由在一第一來源實體位址讀取該第一資料以在該第一來源邏輯位址讀取該第一資料,其中該第一來源實體位址與該第一來源邏輯位址相關聯;以及藉由在一第一目的地實體位址寫入該第一資料以在該第一目的地邏輯位址寫入該第一資料,其中該第一目的地實體位址與該第一目的地邏輯位址相關聯。
除了上述方法外,本發明另提供根據該方法來操作的該主機裝置。
根據某些實施例,該設備可包含該電子裝置的至少一部分(例如一部分或全部),舉例來說,該設備可包含該記憶體裝置中的該記憶體控制器,又例如,該設備可包含該記憶體裝置,再舉一例,該設備可包含該主機裝置,在某些例子中,該設備可包含該電子裝置。
根據某些實施例,該記憶體裝置中的該記憶體控制器可依據該方法來控制該記憶體裝置的操作,並且該記憶體裝置可被設置於該電子裝置中。另外,該記憶體裝置可以為該主機裝置儲存資料。該記憶體裝置可響應於來自該主機裝置的一主機命令讀取所儲存的資料,並且將讀取自該非揮發性記憶體的資料提供給該主機裝置。
本發明的方法以及相關設備可保證該記憶體裝置可在不同情況中適當地操作,尤其,可避免響應於主機端請求而花費過多的時間來進行記憶體裝置的某些內部操作。此外,本發明的方法和設備可在不引入任何副作用的情況下或藉由不太可能引入副作用的方式來解決相關技術的問題。
10:電子裝置
50:主機裝置
50B:緩衝器
50C:完成佇列(CQ)
50S:提交佇列(SQ)
52:處理器
54:電源供應電路
58:傳輸介面電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
116:隨機存取記憶體
116T:暫時邏輯至實體(L2P)位址映射表
118:傳輸介面電路
120:非揮發性(NV)記憶體
120T:全域邏輯至實體(L2P)位址映射表
122-1~122-NE:非揮發性(NV)記憶體元件
200,300,400:固態硬碟(SSD)
210,310:控制器
216T:邏輯至實體(L2P)位址映射表
220:NAND型快閃記憶體
320:三維交叉點(3D X點)記憶體
DATAA,DATAB,DATAC,DATAD:資料
RW,RX,RY,RZ:邏輯區塊位址(LBA)範圍
S11,S21,S22,S22A,S22B:步驟
第1圖為依據本發明一實施例的一電子裝置的示意圖。
第2圖繪示與一NAND型快閃記憶體相關的一資料拷貝(copy)控制方案。
第3圖繪示與一三維交叉點(three-dimensional cross point,3D XPoint)記憶體相關的一資料拷貝控制方案。
第4圖繪示與一讀取命令(CMD)相關聯的某些操作。
第5圖繪示與一寫入命令相關聯的某些操作。
第6圖依據本發明一實施例繪示藉助於一預定命令諸如一複製命令來進行一記憶體裝置的資料存取控制的方法的一第一資料複製控制方案。
第7圖依據本發明一實施例繪示藉助於該預定命令諸如該複製命令來進行該記憶體裝置的資料存取控制的方法的一第二資料複製控制方案。
第8圖依據本發明一實施例繪示藉助於該預定命令諸如該複製命令來進行該記憶體裝置的資料存取控制的方法的一第三資料複製控制方案。
第9圖依據本發明一實施例繪示與相對於單一範圍執行的該預定命令(例如:該複製命令)相關聯的某些操作。
第10圖依據本發明一實施例繪示與相對於多個範圍執行的該預定命令(例如:該複製命令)相關聯的某些操作。
第11圖依據本發明一實施例繪示與在一特殊情況下執行的該預定命令(例如:該複製命令)相關聯的某些操作。
第12圖依據本發明一實施例繪示該方法的一工作流程。
第1圖為依據本發明一實施例的一電子裝置10的示意圖,其中電子裝置10可包含一主機裝置50以及一記憶體裝置100。主機裝置50可包含至少一處理
器(例如一或多個處理器),其可被統稱為處理器52,且包含一電源供應電路54以及一傳輸介面電路58,其中處理器52以及傳輸介面電路58可藉由匯流排來彼此耦接,並且可耦接於電源供應電路54以取得電源。處理器52可用以控制主機裝置50的操作,以及電源供應電路54可用以提供電源給處理器52、傳輸介面電路58以及記憶體裝置100,並且將一或多個驅動電壓輸出至記憶體裝置100,其中記憶體裝置100可提供儲存空間給主機裝置50,並且可自主機裝置50取得該一或多個驅動電壓以作為記憶體裝置100的電源。主機裝置50的例子可包含(但不限於):多功能手機、平板電腦、可穿戴裝置以及個人電腦,例如桌上型電腦以及筆記型電腦。記憶體裝置100的例子可包含(但不限於):可攜式記憶體裝置(例如符合SD/MMC、CF、MS或XD規範的記憶卡、固態硬碟(solid state drive,簡稱SSD)以及各種類型的嵌入式記憶體裝置(例如符合通用快閃儲存(universal flash storage,UFS)規範或嵌入式多媒體卡(embedded multi-media card,eMMC)規範的嵌入式記憶體裝置)。根據本實施例,記憶體裝置100可包含一控制器,諸如記憶體控制器110,並且可另包含一非揮發性(non-volatile,NV)記憶體120(在第1圖中標示為“NV記憶體”以求簡明),其中該控制器用以存取非揮發性記憶體120,以及非揮發性記憶體120用以儲存資訊。非揮發性記憶體120可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件),諸如複數個非揮發性記憶體元件122-1、122-2、...、以及122-NE(在第1圖中分別標示為“NV記憶體元件”以求簡明),其中“NE”可以代表大於1的正整數,舉例來說,非揮發性記憶體120可以是快閃記憶體,並且複數個非揮發性記憶體元件122-1、122-2、...、以及122-NE可以分別是複數個快閃記憶體晶片或複數個快閃記憶體裸晶(die),但本發明不限於此。
如第1圖所示,記憶體控制器110可包含一處理電路諸如一微處理器112、一儲存單元諸如一唯讀記憶體(read only memory,ROM)112M、一控制邏
輯電路114、一隨機存取記憶體(random access memory,RAM)116(例如:其可以藉由靜態隨機存取記憶體來實現)以及一傳輸介面電路118,其中上列元件之至少一部分(例如一部分或全部)可藉由匯流排彼此耦接。隨機存取記憶體116可用以提供內部儲存空間給記憶體控制器110(例如:可暫時地儲存資訊),但本發明不限於此。另外,本實施例的唯讀記憶體112M用以儲存程式碼112C,並且微處理器112用以執行程式碼112C以控制非揮發性記憶體120的存取。請注意,程式碼112C也可被儲存於隨機存取記憶體116或任一類型的記憶體。此外,控制邏輯電路114可用以控制非揮發性記憶體120。控制邏輯電路114可包含一錯誤校正碼(error correction code,ECC)電路(未顯示於第1圖),其可進行錯誤校正碼編碼以及錯誤校正碼解碼以保護資料,及/或進行錯誤校正。傳輸介面電路118可符合各種通訊規範(例如序列先進技術附件(Serial Advanced Technology Attachment,SATA)規範、通用序列匯流排(Universal Serial Bus,USB)規範、快捷週邊元件互連(Peripheral Component Interconnect Express,PCIe)規範、快捷非揮發性記憶體(Non-Volatile Memory Express,NVMe;亦可稱為“快捷NVM”)規範、嵌入式多媒體卡規範以及通用快閃儲存規範)當中的一或多個通訊規範,並且可根據該一或多個通訊規範來為記憶體裝置100與主機裝置50(例如傳輸介面電路58)進行通訊。相似地,傳輸介面電路58可符合該一或多個通訊規範,並且可根據該一或多個通訊規範來為主機裝置50與記憶體裝置100(例如傳輸介面電路118)進行通訊。
在本實施例中,主機裝置50可將對應於邏輯位址的複數個主機命令傳送至記憶體控制器110,以間接地存取記憶體裝置100中的非揮發性記憶體120。記憶體控制器110接收複數個主機命令以及邏輯位址,分別將複數個主機命令轉換為記憶體操作命令(其可稱為操作命令以求簡明),以及更進一步地用操作命令控制非揮發性記憶體120以對非揮發性記憶體120當中特定實體位址的
記憶體單元或資料頁面(data page)進行讀取或寫入/編程(programing),其中實體位址可以與邏輯位址有關聯。舉例來說,記憶體控制器110可產生或更新至少一邏輯至實體(logical-to-physical,簡稱L2P)位址映射表,以管理實體位址以及邏輯位址之間的關係。非揮發性記憶體120可儲存一全域L2P位址映射表120T,用以提供記憶體控制器110來控制記憶體裝置100,以存取非揮發性記憶體120中的資料,但本發明不限於此。
為了更好地理解,全域L2P位址映射表120T可位於非揮發性記憶體元件122-1內的一預定區域中,例如一系統區域,但本發明不限於此,舉例來說,全域L2P位址映射表120T可被劃分為複數個局部L2P位址映射表,並且該複數個局部L2P位址映射表可以被儲存在非揮發性記憶體元件122-1、122-2、...、以及122-NE中的一或多個非揮發性記憶體元件,尤其,可以分別被儲存在非揮發性記憶體元件122-1、122-2、...、以及122-NE中。當需要時,記憶體控制器110可將全域L2P位址映射表120T的至少一部分(例如一部分或全部)加載至隨機存取記憶體116或其它記憶體中,舉例來說,記憶體控制器110可將該複數個局部L2P位址映射表中的一局部L2P位址映射表加載至隨機存取記憶體116中以作為一暫時L2P位址映射表116T,以根據被儲存作為暫時L2P位址映射表116T的該局部L2P位址映射表來存取非揮發性記憶體120中的資料,但本發明不限於此。
此外,上述的至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件,諸如非揮發性記憶體元件122-1、122-2、...、以及122-NE)可包含複數個區塊(block),其中記憶體控制器110在非揮發性記憶體120上進行資料抹除操作的最小單位可以是一個區塊,以及記憶體控制器110在非揮發性記憶體120上進行資料寫入操作的最小單位可以是一個頁面,但本發明不限於此。舉例來說,非揮發性記憶體元件122-1、122-2、...、以及122-NE內的任一非揮發性記憶體元件122-n(其中“n”可以表示區間[1,NE]中的任一整數)可包含多個區塊,
並且該多個區塊中的一區塊可包含並記錄特定數量的頁面,其中記憶體控制器110可根據區塊位址以及頁面位址來存取該多個區塊中的某個區塊內的某個頁面。
第2圖繪示與一NAND型快閃記憶體220相關的一資料拷貝控制方案,其中SSD 200、控制器210、L2P位址映射表216T和NAND型快閃記憶體220可分別作為記憶體裝置100、記憶體控制器110、暫時L2P位址映射表116T和非揮發性記憶體120的例子。這個資料拷貝控制方案的操作可包含:(1)主機裝置50可以發送載有(carry)邏輯區塊位址(logical block address,簡稱LBA)#A的一讀取命令給控制器210以在LBA #A讀取資料(標示為“讀取LBA #A”以求簡明),其中控制器210可在實體區塊位址(physical block address,簡稱PBA)#X讀取該資料以供回傳(return)給主機裝置50;以及(2)主機裝置50可以向控制器210發送載有LBA #B的一寫入命令,以在LBA #B寫入相同的資料(標示為“以相同的資料寫入LBA #B”以求簡明),其中控制器210可以在PBA #Y寫入該資料並且於L2P位址映射表216T中更新LBA #B的L2P映射資訊N(例如:N可以為空值(null)或一有效位址諸如PBA #N)(標示為“更新LBA #B的L2P映射”以求簡明);但本發明不限於此。
第3圖繪示與一三維交叉點(three-dimensional cross point,3D XPoint)記憶體(簡稱“3D X點記憶體”)320相關的一資料拷貝控制方案,其中SSD 300、控制器310和3D X點記憶體320可分別作為記憶體裝置100、記憶體控制器110和非揮發性記憶體120的例子。控制器310可藉由一固定的方程式將多個LBA轉換(例如:重定向(redirect)或轉移(transfer))至多個PBA。這個資料拷貝控制方案的操作可包含:(1)主機裝置50可以將載有LBA #A的該讀取命令發送到控制器310以在LBA #A
讀取資料(標示為“讀取LBA #A”以求簡明),其中控制器310可以在PBA #X讀取該資料以供回傳給主機裝置50;以及(2)主機裝置50可將載有LBA #B的該寫入命令傳送至控制器310,以在LBA #B寫入相同的資料(標示為“以相同的資料寫入LBA #B”以求簡明),其中控制器310可以在PBA #Y寫入該資料;但本發明不限於此。
第4圖繪示與該讀取命令相關聯的某些操作,其中SSD 400可代表SSD 200和SSD 300中的任何一個。與該讀取命令相關聯的這些操作可包含:(1)主機裝置50可以將一主機命令(CMD)諸如該讀取命令插入到一提交佇列(submission queue,簡稱SQ)50S中(標示為“插入CMD”以求簡明);(2)主機裝置50可以在SSD側寫入一第一門鈴,諸如SQ尾門鈴(SQ tail doorbell),以供藉由信令(signaling)指出新命令諸如該主機命令(標示為“主機寫入門鈴以供信令新CMD”以求簡明);(3)SSD 400可以從SQ 50S獲取(fetch)該主機命令諸如該讀取命令(標示為“SSD獲取CMD”以求簡明);(4)SSD 400可以將讀取資料,諸如從NAND型快閃記憶體220或3D X點記憶體320讀取的資料,發送到主機側的緩衝器50B(標示為“發送讀取資料到主機緩衝器”以求簡明);(5)SSD 400可以將完成的命令,諸如該主機命令的完成資訊,推送(push)到一完成佇列(completion queue,簡稱CQ)50C;(6)SSD 400可以發送一中斷(interrupt),以供藉由信令指出該主機命令完成(標示為“SSD發送中斷以信令主機CMD完成”以求簡明);(7)主機裝置50可以從CQ 50C取得該主機命令的完成資訊(標示為“主機取得完成CMD”以求簡明);以及
(8)主機裝置50可以在SSD側寫入一第二門鈴,諸如CQ頭門鈴(CQ head doorbell),以釋放完成佇列條目(CQ entry,簡稱“CQ條目”)(標示為“主機寫入門鈴以釋放CQ條目”以求簡明);但本發明不限於此。
第5圖繪示與該寫入命令相關聯的某些操作。與該寫入命令相關聯的這些操作可包含:(1)主機裝置50可以將一主機命令(CMD)諸如該寫入命令插入到SQ 50S中(標示為“插入CMD”以求簡明);(2)主機裝置50可以在SSD側寫入該第一門鈴,諸如上述SQ尾門鈴,以供藉由信令指出新命令諸如該主機命令(標示為“主機寫入門鈴以供信令新CMD”以求簡明);(3)SSD 400可以從SQ 50S獲取該主機命令諸如該寫入命令(標示為“SSD獲取CMD”以求簡明);(4)SSD 400可以從主機側的緩衝器50B取得寫入資料,諸如要寫入NAND型快閃記憶體220或3D X點記憶體320的資料(標示為“從主機緩衝器取得寫入資料”以求簡明);(5)SSD 400可以將完成的命令,諸如該主機命令的完成資訊,推送到CQ 50C;(6)SSD 400可以發送一中斷,以供藉由信令指出該主機命令完成(標示為“SSD發送中斷以信令主機CMD完成”以求簡明);(7)主機裝置50可以從CQ 50C取得該主機命令的完成資訊(標示為“主機取得完成CMD”以求簡明);以及(8)主機裝置50可以在SSD側寫入該第二門鈴,諸如上述CQ頭門鈴,以釋放CQ條目(標示為“主機寫入門鈴以釋放CQ條目”以求簡明);但本發明不限於此。
第6圖依據本發明一實施例繪示藉助於一預定命令諸如一複製命令來進行一記憶體裝置諸如第1圖所示的記憶體裝置100(例如:SSD 200)的資料存取控制的方法的一第一資料複製控制方案。該第一資料複製控制方案的操作可包含:(1)主機裝置50可以向控制器210發送載有LBA #A和LBA #B的該複製命令,以將資料從LBA #A複製到LBA #B(標示為“將資料從LBA #A複製到LBA #B”以求簡明);以及(2)控制器210可以藉由在PBA #X讀取該資料以在LBA #A讀取該資料(標示為“讀取LBA #A”以求簡明),藉由在PBA #Y寫入該資料以在LBA #B寫入相同的資料(標示為“寫入LBA #B”以求簡明),且在L2P位址映射表216T中更新LBA #B的L2P映射資訊N(例如:N可以為空值或一有效位址諸如PBA #N)(標示為“更新LBA #B的L2P映射”以求簡明);但本發明不限於此。
第7圖依據本發明一實施例繪示藉助於該預定命令諸如該複製命令來進行該記憶體裝置諸如第1圖所示的記憶體裝置100(例如:SSD 300)的資料存取控制的方法的一第二資料複製控制方案。該第二資料複製控制方案的操作可包含:(1)主機裝置50可以向控制器310發送載有LBA #A和LBA #B的該複製命令,以將資料從LBA #A複製到LBA #B(標示為“將資料從LBA #A複製到LBA #B”以求簡明);以及(2)控制器310可以藉由在PBA #X讀取該資料以在LBA #A讀取該資料(標示為“讀取LBA #A”以求簡明),並且藉由在PBA #Y寫入該資料以在LBA #B寫入相同的資料(標示為“寫入LBA #B”以求簡明);其中,控制器310可以藉由該固定的方程式分別將該多個LBA諸如LBA #A、LBA
#B等轉換(例如:重定向或轉移)至該多個PBA諸如PBA #X、PBA #Y等,但本發明不限於此。
根據某些實施例,建議將該預定命令諸如該複製命令添加到NVMe協議中。響應於該預定命令諸如該複製命令,記憶體控制器110能夠在該記憶體裝置100中將資料從至少一來源位址諸如一來源LBA(例如:LBA #A)複製或拷貝到至少一目的地位址諸如目的地LBA(例如:LBA #B),而不需要在主機裝置50和記憶體裝置100之間進行資料傳送(data transfer)。關於將該資料從來源位址拷貝到目的地位址,使用該預定命令諸如該複製命令可以減少控制記憶體裝置100所需的主機命令的數量,並避免主機裝置50和記憶體裝置100之間的資料傳送。例如,第6圖所示的該第一資料複製控制方案中使用的主機命令的數量,諸如一個,小於第2圖所示的該資料拷貝控制方案中使用的主機命令的數量,諸如二個,並且第6圖所示的架構可以順利運行,而不需要在主機裝置50和記憶體裝置100(例如:SSD 200)之間進行資料傳送。又例如,第7圖所示的該第二資料複製控制方案中使用的主機命令的數量,諸如一個,小於第3圖所示的該資料拷貝控制方案中使用的主機命令的數量,諸如二個,並且第7圖所示的架構可以順利運行,而不需要在主機裝置50和記憶體裝置100(例如:SSD 300)之間進行資料傳送。此外,記憶體裝置100的後端帶寬(back-end bandwidth),諸如記憶體控制器110和非揮發性記憶體120之間的傳輸帶寬,可能遠大於記憶體裝置100的前端帶寬(front-end bandwidth),諸如記憶體控制器110和主機裝置50之間的傳輸帶寬。在這種情況下,藉由記憶體控制器110在記憶體裝置100內將資料從來源位址拷貝到目的地位址而不觸發主機裝置50和記憶體裝置100之間的資料傳送可提升整體效能。
根據某些實施例,建議將該預定命令諸如該複製命令添加到NVMe命令集(NVMe command set)中。響應於該預定命令諸如該複製命令,記憶體
控制器110能夠在記憶體裝置100中將資料從至少一來源位址範圍諸如一來源LBA範圍複製或拷貝到至少一目的地位址範圍諸如一目的地LBA範圍,而不需要在主機裝置50和記憶體裝置100之間進行資料傳送。例如,該來源LBA範圍可包含多個來源LBA,諸如LBA #A等,並且該目的地LBA範圍可包含多個目的地LBA,諸如LBA #B等。另外,該預定命令諸如該複製命令可以載有上述至少一來源位址範圍諸如該來源LBA範圍和上述至少一目的地位址範圍諸如該目的地LBA範圍。當接收到該預定命令諸如該複製命令時,記憶體控制器110可在記憶體裝置100中將該資料從上述至少一來源位址範圍拷貝到上述至少一目的地位址範圍,而不需要在主機裝置50和記憶體裝置100之間進行資料傳送。
第8圖依據本發明一實施例繪示藉助於該預定命令諸如該複製命令來進行該記憶體裝置諸如第1圖所示的記憶體裝置100(例如:SSD 200)的資料存取控制的方法的一第三資料複製控制方案。該第三資料複製控制方案的操作可包含:(1)主機裝置50可以向控制器210發送載有LBA #A和LBA #B的該複製命令,以將資料從LBA #A複製到LBA #B(標示為“將資料從LBA #A複製到LBA #B”以求簡明);以及(2)當偵測到LBA #A的L2P映射資訊為空值時,這指出在該來源LBA諸如LBA #A不存在有效資料(例如:此情況下,該來源LBA諸如LBA #A可視為空的),控制器210可以藉由在L2P位址映射表216T中將LBA #B的L2P映射資訊N(例如:N可以為空值或一有效位址諸如PBA #N)覆寫(overwrite)為空值以移除LBA #B的L2P映射資訊(標示為“移除LBA #B的L2P映射”以求簡明);但本發明不限於此。
第9圖依據本發明一實施例繪示與相對於單一範圍執行的該預定命令(例如:該複製命令)相關聯的某些操作。與該預定命令(例如:該複製命
令)相關聯的這些操作可包含:(1)主機裝置50可以將一主機命令(CMD)諸如該複製命令的插入到SQ 50S中(標示為“插入CMD”以求簡明);(2)主機裝置50可以在SSD側寫入該第一門鈴,諸如上述SQ尾門鈴,以供藉由信令指出新命令諸如該主機命令(標示為“主機寫入門鈴以供信令新CMD”以求簡明);(3)SSD 400可以從SQ 50S獲取該主機命令諸如該複製命令(標示為“SSD獲取CMD”以求簡明);(4)SSD 400可以處理該複製命令(標示為“處理複製”以求簡明),而不需要存取主機側的緩衝器50B;(5)SSD 400可以將完成的命令,諸如該主機命令的完成資訊,推送到CQ 50C;(6)SSD 400可以發送一中斷,以供藉由信令指出該主機命令完成(標示為“SSD發送中斷以信令主機CMD完成”以求簡明);(7)主機裝置50可以從CQ 50C取得該主機命令的完成資訊(標示為“主機取得完成CMD”以求簡明);以及(8)主機裝置50可以在SSD側寫入該第二門鈴,諸如上述CQ頭門鈴,以釋放CQ條目(標示為“主機寫入門鈴以釋放CQ條目”以求簡明);但本發明不限於此。
第10圖依據本發明一實施例繪示與相對於多個範圍執行的該預定命令(例如:該複製命令)相關聯的某些操作。與該預定命令(例如:該複製命令)相關聯的這些操作可包含:(1)主機裝置50可以將一主機命令(CMD)諸如該複製命令的插入到SQ 50S中(標示為“插入CMD”以求簡明);(2)主機裝置50可以在SSD側寫入該第一門鈴,諸如上述SQ尾門鈴,以供藉由信
令指出新命令諸如該主機命令(標示為“主機寫入門鈴以供信令新CMD”以求簡明);(3)SSD 400可以從SQ 50S獲取該主機命令諸如該複製命令(標示為“SSD獲取CMD”以求簡明);(4)SSD 400可以從主機側的緩衝器50B取得複製範圍資訊,諸如指出此複製的多個來源位址範圍的來源位址範圍資訊以及指出此複製的多個目的地位址範圍的相關的目的地位址範圍資訊,然後根據該複製範圍資訊處理該複製命令(標示為“從主機緩衝器取得複製範圍資訊,然後處理複製”以求簡明);(5)SSD 400可以將完成的命令,諸如該主機命令的完成資訊,推送到CQ 50C;(6)SSD 400可以發送一中斷,以供藉由信令指出該主機命令完成(標示為“SSD發送中斷以信令主機CMD完成”以求簡明);(7)主機裝置50可以從CQ 50C取得該主機命令的完成資訊(標示為“主機取得完成CMD”以求簡明);以及(8)主機裝置50可以在SSD側寫入該第二門鈴,諸如上述CQ頭門鈴,以釋放CQ條目(標示為“主機寫入門鈴以釋放CQ條目”以求簡明);但本發明不限於此。
第11圖依據本發明一實施例繪示與在一特殊情況下執行的該預定命令(例如:該複製命令)相關聯的某些操作。當相對於該多個範圍執行該預定命令諸如該複製命令時,SSD 400可以取得上述複製範圍資訊,諸如指出此複製的該多個來源位址範圍(例如:LBA範圍{RW,RX})的該來源位址範圍資訊以及指出此複製的該多個目的地位址範圍(例如:LBA範圍{RY,RZ})的相關的目的地位址範圍資訊,然後根據該複製範圍資訊處理該複製命令以將資料{{DATAA,DATAB},{DATAC,DATAD}}分別從該多個來源位址範圍諸如LBA範圍{RW,RX}複製到該多個目的地位址範圍諸如LBA範圍{RY,RZ}。
在複製的期間,當偵測到LBA範圍RW的一第一局部LBA範圍的L2P映射資訊以及LBA範圍RX的一第二局部LBA範圍的L2P映射資訊為空值時(例如:該第一局部LBA範圍和該第二局部LBA範圍尚未被寫入),這指出該第一局部LBA範圍和該第二局部LBA範圍內不存在有效資料(此情況下,該第一局部LBA範圍和該第二局部LBA範圍可視為空的),控制器210可以解除分配(deallocate)LBA範圍RY的一第一對應的局部LBA範圍(例如:在LBA範圍RY的多個局部LBA範圍當中的對應於該第一局部LBA範圍的一局部LBA範圍)以及LBA範圍RZ的一第二對應的局部LBA範圍(例如:在LBA範圍RZ的多個局部LBA範圍當中的對應於該第二局部LBA範圍的一局部LBA範圍),尤其,藉由在L2P位址映射表216T中將LBA範圍RY的該第一對應的局部LBA範圍的第一L2P映射資訊以及LBA範圍RZ的該第二對應的局部LBA範圍的第二L2P映射資訊分別覆蓋為空值以移除LBA範圍RY的該第一對應的局部LBA範圍的該第一L2P映射資訊以及LBA範圍RZ的該第二對應的局部LBA範圍的該第二L2P映射資訊,以分別使LBA範圍RY的該第一對應的局部LBA範圍以及LBA範圍RZ的該第二對應的局部LBA範圍為無效(在LBA範圍RY和RZ的對應的局部LBA範圍中標示為“無效”以求簡明)。舉例來說,如果在該第一局部LBA範圍和該第二局部LBA範圍中的任何局部LBA範圍中有任何資料,則該任何資料應被視為無效。再舉一例,如果在該第一對應的局部LBA範圍和該第二對應的局部LBA範圍中的任何局部LBA範圍中有任何資料,則該任何資料應被視為無效。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
根據某些實施例,LBA範圍RW及其第一局部LBA範圍可分別視為多個LBA範圍和該多個LBA範圍的其中之一。類似地,LBA範圍RX及其第二局部LBA範圍可分別視為多個LBA範圍和該多個LBA範圍的其中之一。此外,LBA範圍RY及其第一對應的局部LBA範圍可分別視為多個LBA範圍和該多個LBA範
圍的其中之一。類似地,LBA範圍RZ及其第二對應的局部LBA範圍可分別視為多個LBA範圍和該多個LBA範圍其中之一。
根據某些實施例,用於單一範圍的該複製命令可用表1、表2、表3和表4來定義(例如:十六進制(hexadecimal,hex)數字可寫成帶有一前導的“0x”或一尾隨的“h”,並且二進制(binary)數字可寫成帶有一尾隨的“b”),如下所示:
針對可用來作為一個新的NVM命令(NVM Command)的該複製命令“複製”(例如:表1中所示的“複製”),例如:(1)表1展示用於這個NVM命令的操作碼(operation code,Opcode),其中,其三個欄位(亦即位元07、位元06:02以及位元01:00)可以分別載有0b(或1b)、00111b(或任何保留的功能碼(function code))和00b,且對於這三個欄位分別載有0b、00111b和00b的情況,它們的組合{0b,00111b,00b}(亦即00011100b)可以寫為組合的操作碼1Ch(亦即0x1C);(2)表2展示該複製命令“複製”的命令雙字(Command Double Word,Command Dword)10至11;(3)表3展示該複製命令“複製”的命令雙字12至13;以及(4)表4展示該複製命令“複製”的命令雙字14。針對命令完成,當上述命令(亦即,用於該單一範圍的上述複製命令,諸如由
表1至表4定義的該複製命令“複製”)是以成功或失敗作為結果來完成時,記憶體控制器110應發布(post)一個完成佇列(CQ)條目到相關聯的輸入/輸出(input/output,I/O)CQ,諸如指出命令狀態的CQ 50C,舉例來說,根據表5。
表5展示命令特定狀態值(command specific status value)的例子,其中上列表5中提到的某些術語,諸如保護資訊欄位(PRINFO)、ILBRT欄位等,以及這些術語的含義,在相關技術中是眾所周知的,因此為簡明起見在此不再詳細解釋。
根據某些實施例,用於多個範圍的該複製命令可用表6、表7和表8藉助於表9來定義(例如:十六進制(hex)數字可寫成帶有一前導的“0x”或一尾隨的“h”,並且二進制數字可寫成帶有一尾隨的“b”),如下所示:
針對可用來作為一個新的NVM命令的該複製命令“複製”(例如:表6中所示的“複製”),例如:(1)表6展示用於這個NVM命令的操作碼,其中,其三個欄位(亦即位元07、位元06:02以及位元01:00)可以分別載有0b(或1b)、00110b(或任何保留的功能碼)和01b,且對於這三個欄位分別載有0b、00110b和01b的情況,它們的組合{0b,00110b,01b}(亦即00011001b)可以寫成組合的操作碼19h(亦即0x19);
(2)表7展示該複製命令“複製”的資料指標器命令雙字6至9,其中資料指標器(DPTR)指定緩衝器50B內的上述複製範圍資訊(例如:表9的表格內容);(3)表8展示該複製命令“複製”的命令雙字10;以及(4)表9展示該複製命令“複製”的範圍定義(Range Definition),其中上述複製範圍資訊可以如表9所示實現;其中上列表7中提到的術語“資料指標器(DPTR)”以及這個術語的含義在相關技術中是眾所周知的,因此為簡明起見在此不再詳細解釋。針對命令完成,當上述命令(亦即,用於該多個範圍的上述複製命令,諸如由表6至表8定義的該複製命令“複製”)是以成功或失敗作為結果來完成時,記憶體控制器110應發布(post)一個完成佇列(CQ)條目到相關聯的輸入/輸出(I/O)CQ,諸如指出命令狀態的CQ 50C,舉例來說,根據表10。
表10展示命令特定狀態值的例子,其中上列表10中提到的某些術語,諸如保護資訊欄位(PRINFO)、ILBRT欄位等,以及這些術語的含義,在相關技術中是眾所周知的,因此為簡明起見在此不再詳細解釋。
第12圖依據本發明一實施例繪示該方法的一工作流程,其中該方法可應用於主機裝置50和記憶體裝置100(例如:SSD 200、300和400)。舉例來說,記憶體裝置100可代表第6圖所示的SSD 200,且記憶體控制器110和非揮發性記憶體120可分別代表第6圖所示的控制器210和NAND型快閃記憶體220。再舉一例,記憶體裝置100可代表第7圖中所示的SSD 300,並且記憶體控制器110和非揮發性記憶體120可分別代表第7圖所示的控制器310和3D X點記憶體320。
在步驟S11中,主機裝置50可藉由主機裝置50內的傳輸介面電路58從主機裝置50發送一第一單一命令,諸如符合該預定命令(例如:該複製命令)的一預定格式的該第一單一命令,至記憶體控制器110(例如:第6圖和第7圖中的任一圖所示的“1.將資料從LBA #A複製到LBA #B”),以觸發裝置側(例如:SSD側)的記憶體控制器110依據該第一單一命令進行一系列操作,其中該第一單一命令可代表一第一複製命令(例如:該複製命令),用於將第一資料從一第一來源邏輯位址(例如:第6圖和第7圖的其中一者當中所示的LBA #A)複製到一第一目的地邏輯位址(例如:第6圖和第7圖的其中一者當中所示的LBA #B)。
在步驟S21中,記憶體裝置100可利用記憶體控制器110藉由記憶體控制器110內的傳輸介面電路118從主機裝置50接收該第一單一命令(例如:第6圖和第7圖中的任一圖所示的“1.將資料從LBA #A複製到LBA #B”),其中該第一單一命令可代表該第一複製命令(例如:該複製命令),用於將該第一資料從該第一來源邏輯位址(例如:第6圖和第7圖的其中一者中所示的LBA #A)複製到該第一目的地邏輯位址(例如:第6圖和第7圖的其中一者中所示的LBA #B)。
在步驟S22中,響應於符合該預定命令(例如:該複製命令)的該預定格式的該第一單一命令,記憶體裝置100可利用記憶體控制器110根據該第一單一命令執行該系列操作。舉例來說,步驟S22可包含某些子步驟諸如步驟S22A和S22B,而這一系列操作包含步驟S22A和S22B的操作。
在步驟S22A中,記憶體裝置100可利用記憶體控制器110藉由在一第一來源實體位址(例如:第6圖和第7圖的其中一者中所示的PBA #X)讀取該第一資料以在該第一來源邏輯位址讀取該第一資料(例如:第6圖和第7圖的其中一者中所示的“2.讀取LBA #A”),其中該第一來源實體位址與該第一來源邏輯位址相關聯。
在步驟S22B中,記憶體裝置100可利用記憶體控制器110藉由在一第一目的地實體位址(例如:第6圖和第7圖的其中一者中所示的PBA #Y)寫入該第一資料以在該第一目的地邏輯位址寫入該第一資料(例如:第6圖和第7圖的其中一者中所示的“3.寫入LBA #B”),其中該第一目的地實體位址與該第一目的地邏輯位址相關聯。
舉例來說,非揮發性記憶體120可代表快閃記憶體諸如第6圖所示的NAND型快閃記憶體220。在這個情況下,該系列操作還可以包含:(1)在一第一L2P位址映射表諸如L2P位址映射表216T中,更新該第一目的地邏輯位址的L2P映射資訊,諸如LBA #B的L2P映射資訊N(例如:第6圖所示的“4.更新LBA #B的L2P映射”);但本發明不限於此。再舉一例,非揮發性記憶體120可代表3D X點記憶體,諸如第7圖中所示的3D X點記憶體320。
響應於該第一複製命令,記憶體控制器110能夠在該記憶體裝置100中將該第一資料從包含該第一來源邏輯位址(例如:LBA #A)的至少一來源邏輯位址(例如:一或多個來源邏輯位址)複製或拷貝到包含該第一目的地邏輯位址(例如:LBA #B)的至少一目的地邏輯位址(例如:一個或個目的地邏輯位址),而不需要在主機裝置50和記憶體裝置100之間進行該第一資料的資料傳送。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
為了更好地理解,該方法可用第12圖所示之工作流程來說明,但本
發明不限於此。依據某些實施例,一個或多個步驟可於第12圖所示之工作流程中增加、刪除或修改。舉例來說,在主機側的另一步驟中,主機裝置50可藉由主機裝置50內的傳輸介面電路58從主機裝置50發送一第二單一命令,諸如符合該預定命令(例如:該複製命令)的該預定格式的該第二單一命令,至記憶體控制器110(例如:第8圖所示的“1.將資料從LBA #A複製到LBA #B”),以觸發裝置側(例如:SSD側)的記憶體控制器110依據該第二單一命令進行至少一後續操作(例如:一或多個後續操作),其中該第二單一命令可代表一第二複製命令(例如:該複製命令),用於從一第二來源邏輯位址(例如:第8圖所示的LBA #A)複製到一第二目的地邏輯位址(例如:第8圖所示的LBA #B)。此外,在裝置側的另一步驟中,記憶體裝置100可利用記憶體控制器110藉由記憶體控制器110內的傳輸介面電路118從主機裝置50接收該第二單一命令(例如:第8圖所示的“1.將資料從LBA #A複製到LBA #B”),其中該第二單一命令可代表該第二複製命令(例如:該複製命令),用於從該第二來源邏輯位址(例如:第8圖所示的LBA #A)複製到該第二目的地邏輯位址(例如:第8圖所示的LBA #B)。在裝置側的一後續步驟中,響應於符合該預定命令(例如:該複製命令)的該預定格式的該第二單一命令,記憶體裝置100可以利用記憶體控制器110根據該第二單一命令來進行上述至少一後續操作(例如:該一或多個後續操作)。尤其,上述至少一後續操作可包含:(1)響應於在該第一L2P位址映射表諸如L2P位址映射表216T當中,該第二來源邏輯位址的L2P映射資訊,諸如第8圖所示的LBA #A的L2P映射資訊(在PBA欄位中標示為“空值”),為空值,控制記憶體裝置100使在該第二目的地邏輯位址的任何資料為無效資料(例如:第8圖所示的“2.移除LBA #B的L2P映射”);但本發明不限於此。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
根據某些實施例,第一複製命令是可應用於(applicable to)單一範圍複製諸如第9圖所示實施例的複製,其中該預定命令(例如:該複製命令)的該預定格式可代表如表1至表4所定義的該複製命令“複製”的格式。針對該單一範圍複製,與該第一複製命令相關聯的多個操作可包含:(1)主機裝置50可以插入該第一複製命令至主機裝置50內的SQ 50S中(例如:第9圖所示的“1.插入CMD”);(2)主機裝置50可以在記憶體裝置100中寫入該第一門鈴(例如:上述SQ尾門鈴),以供藉由信令指出以該第一複製命令作為一新命令(例如:第9圖所示的“2.主機寫入門鈴以供信令新CMD”);(3)記憶體裝置100可以從主機裝置50內的SQ 50S獲取該第一複製命令(例如:第9圖所示的“3.SSD獲取CMD”);(4)記憶體裝置100可以處理該第一複製命令,而不需要存取主機裝置50內的緩衝器50B(例如:第9圖所示的“4.處理複製”);(5)記憶體裝置100可以將該第一複製命令的完成資訊推送到主機裝置50內的CQ 50C(例如:第9圖所示的“5.SSD將完成的CMD推送到CQ”);(6)記憶體裝置100可以發送一中斷,以供藉由信令指出該第一複製命令完成(例如:第9圖所示的“6.SSD發送中斷以信令主機CMD完成”);(7)主機裝置50可以從主機裝置50內的CQ 50C取得該第一複製命令的完成資訊(例如:第9圖所示的“7.主機取得完成CMD”);以及(8)主機裝置50可以在記憶體裝置100中寫入該第二門鈴(例如:上述CQ頭門鈴)以釋放CQ中與該第一複製命令相對應的CQ條目(例如:第9圖所示的“8.主機寫入門鈴以釋放CQ條目”)。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
根據某些實施例,第一複製命令是可應用於多範圍(multi-range)複
製諸如第10圖所示實施例的複製,其中該預定命令(例如:該複製命令)的該預定格式可代表如表6至表8所定義的該複製命令“複製”的格式。針對該多範圍複製,與該第一複製命令相關聯的多個操作可包含:(1)主機裝置50可以插入該第一複製命令至主機裝置50內的SQ 50S中(例如:第10圖所示的“1.插入CMD”);(2)主機裝置50可以在記憶體裝置100中寫入該第一門鈴(例如:上述SQ尾門鈴),以供藉由信令指出以該第一複製命令作為一新命令(例如:第10圖所示的“2.主機寫入門鈴以供信令新CMD”);(3)記憶體裝置100可以從主機裝置50內的SQ 50S獲取該第一複製命令(例如:第10圖所示的“3.SSD獲取CMD”);(4)記憶體裝置100可從主機裝置50內的緩衝器50B取得複製範圍資訊(例如:前述的複製範圍資訊諸如表9的表格內容),然後處理該第一複製命令(例如:如第10圖所示的“4.從主機緩衝器取得複製範圍資訊,然後處理複製”),其中該複製範圍資訊可包含指出該多範圍複製的該多個來源位址範圍的來源位址範圍資訊以及指出該多範圍複製的該多個目的地位址範圍的相關的目的地位址範圍資訊,以及該第一來源邏輯位址和該第一目的地邏輯位址(例如:LBA #A和LBA #B,如第6圖和第7圖的其中一者所示)可分別代表該多個來源位址範圍中的任一來源位址範圍的一來源邏輯位址和該多個目的地位址範圍中的任一目的地位址範圍的一目的地邏輯位址;(5)記憶體裝置100可以將該第一複製命令的完成資訊推送到主機裝置50內的CQ 50C(例如:第10圖所示的“5.SSD將完成的CMD推送到CQ”);(6)記憶體裝置100可以發送一中斷,以供藉由信令指出該第一複製命令完成(例如:第10圖所示的“6.SSD發送中斷以信令主機CMD完成”);(7)主機裝置50可以從主機裝置50內的CQ 50C取得該第一複製命令的完成資訊
(例如:第10圖所示的“7.主機取得完成CMD”);以及(8)主機裝置50可以在記憶體裝置100中寫入該第二門鈴(例如:上述CQ頭門鈴)以釋放CQ中與該第一複製命令相對應的CQ條目(例如:第10圖所示的“8.主機寫入門鈴以釋放CQ條目”)。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
根據某些實施例,該多個來源位址範圍可包含分別從表9中所示的範圍0、1、...和127的各自的來源LBA開始且分別具有範圍0、1、...和127的各自的長度(其以LBA為單位來量測)的這些來源位址範圍的至少一部分(例如:一部分或全部),並且該多個目的地位址範圍可包含分別從表9中所示的範圍0、1、...和127的各自的目的地LBA開始且分別具有範圍0、1、...和127的各自的長度(其以LBA為單位來量測)的這些目的地位址範圍的至少一部分(例如:一部分或全部)。在這個情況下,該第一來源邏輯位址和該第一目的地邏輯位址(例如:LBA #A和LBA #B,如第6圖和第7圖的其中一者所示)可分別代表表9中所示的範圍0、1、...和127的其中一者的來源LBA和目的地LBA。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
58:傳輸介面電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
116:隨機存取記憶體
116T:暫時邏輯至實體(L2P)位址映射表
118:傳輸介面電路
120:非揮發性(NV)記憶體
120T:全域邏輯至實體(L2P)位址映射表
122-1~122-NE:非揮發性(NV)記憶體元件
Claims (16)
- 一種藉助於一預定命令來進行一記憶體裝置的資料存取控制的方法,該方法是應用於該記憶體裝置的一記憶體控制器,該記憶體裝置包含該記憶體控制器以及一非揮發性記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該方法包含:利用該記憶體控制器藉由該記憶體控制器內的一傳輸介面電路從一主機裝置接收一第一單一命令;以及響應於該第一單一命令符合該預定命令的一預定格式,利用該記憶體控制器依據該第一單一命令進行一系列操作,其中該第一單一命令代表一第一複製(duplicate)命令,用於將第一資料從一第一來源邏輯位址複製到一第一目的地邏輯位址,以及該系列操作包含:藉由在一第一來源實體位址讀取該第一資料以在該第一來源邏輯位址讀取該第一資料,其中該第一來源實體位址與該第一來源邏輯位址相關聯;以及藉由在一第一目的地實體位址寫入該第一資料以在該第一目的地邏輯位址寫入該第一資料,其中該第一目的地實體位址與該第一目的地邏輯位址相關聯;其中響應於該第一單一命令,該記憶體控制器能在該記憶體裝置中將該第一資料從包含該第一來源邏輯位址的至少一來源邏輯位址複製到包含該第一目的地邏輯位址的至少一目的地邏輯位址,而不需要於該主機裝置和該記憶體裝置之間進行該第一資料的資料傳送(data transfer)。
- 如申請專利範圍第1項所述之方法,其中該非揮發性記憶體代表一快閃記憶體;以及該系列操作另包含: 於一第一邏輯至實體(logical-to-physical,L2P)位址映射表中更新該第一目的地邏輯位址的邏輯至實體映射資訊。
- 如申請專利範圍第1項所述之方法,其中該非揮發性記憶體代表一三維交叉點(three-dimensional cross point,3D XPoint)記憶體。
- 如申請專利範圍第1項所述之方法,其另包含:利用該記憶體控制器藉由該記憶體控制器內的該傳輸介面電路從該主機裝置接收一第二單一命令;以及響應於該第二單一命令符合該預定命令的該預定格式,利用該記憶體控制器依據該第二單一命令進行至少一後續操作,其中該第二單一命令代表一第二複製命令,用於從一第二來源邏輯位址複製到一第二目的地邏輯位址,以及該至少一後續操作包含:響應於在一第一邏輯至實體(logical-to-physical,L2P)位址映射表當中,該第二來源邏輯位址的邏輯至實體映射資訊為空值(null),控制該記憶體裝置使在該第二目的地邏輯位址的任何資料為無效資料(invalid data)。
- 如申請專利範圍第1項所述之方法,其中該第一複製命令是可應用於(applicable to)單一範圍複製;以及針對該單一範圍複製,與該第一複製命令相關聯的多個操作包含:該主機裝置插入該第一複製命令至該主機裝置內的一提交佇列(submission queue,SQ)中;該主機裝置在該記憶體裝置中寫入一第一門鈴(doorbell),以供藉由信 令(signaling)指出以該第一複製命令作為一新命令;該記憶體裝置從該主機裝置內的該提交佇列獲取(fetch)該第一複製命該記憶體裝置處理該第一複製命令,而不需要存取該主機裝置內的一緩衝器;該記憶體裝置將該第一複製命令的完成資訊推送(push)到該主機裝置內的一完成佇列(completion queue,CQ);該記憶體裝置發送一中斷(interrupt),以供藉由信令指出該第一複製命令完成;該主機裝置從該主機裝置內的該完成佇列取得該第一複製命令的該完成資訊;以及該主機裝置在該記憶體裝置中寫入一第二門鈴以釋放該完成佇列中與該第一複製命令相對應的一完成佇列條目(CQ entry)。
- 如申請專利範圍第1項所述之方法,其中該第一複製命令是可應用於(applicable to)多範圍(multi-range)複製;以及針對該多範圍複製,與該第一複製命令相關聯的多個操作包含:該主機裝置插入該第一複製命令至該主機裝置內的一提交佇列(submission queue,SQ)中;該主機裝置在該記憶體裝置中寫入一第一門鈴(doorbell),以供藉由信令(signaling)指出以該第一複製命令作為一新命令;該記憶體裝置從該主機裝置內的該提交佇列獲取(fetch)該第一複製命令;該記憶體裝置從該主機裝置內的一緩衝器取得複製範圍資訊,然後處理 該第一複製命令,其中該複製範圍資訊包含指出該多範圍複製的多個來源位址範圍的來源位址範圍資訊以及指出該多範圍複製的多個目的地位址範圍的目的地位址範圍資訊,以及該第一來源邏輯位址和該第一目的地邏輯位址分別代表該多個來源位址範圍中的任一來源位址範圍的一來源邏輯位址以及該多個目的地位址範圍中的任一目的地位址範圍的一目的地邏輯位址;該記憶體裝置將該第一複製命令的完成資訊推送(push)到該主機裝置內的一完成佇列(completion queue,CQ);該記憶體裝置發送一中斷(interrupt),以供藉由信令指出該第一複製命令完成;該主機裝置從該主機裝置內的該完成佇列取得該第一複製命令的該完成資訊;以及該主機裝置在該記憶體裝置中寫入一第二門鈴以釋放該完成佇列中與該第一複製命令相對應的一完成佇列條目(CQ entry)。
- 一種記憶體裝置的記憶體控制器,該記憶體裝置包含該記憶體控制器以及一非揮發性記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該記憶體控制器包含:一處理電路,用以根據來自一主機裝置的複數個主機命令來控制該記憶體控制器,以容許該主機裝置藉由該記憶體控制器來存取該非揮發性記憶體,其中該處理電路是用以藉助於一預定命令來進行該記憶體裝置的資料存取控制;以及一傳輸介面電路,用以與該主機裝置進行通訊;其中: 該記憶體控制器藉由該記憶體控制器內的該傳輸介面電路從該主機裝置接收一第一單一命令;以及響應於該第一單一命令符合該預定命令的一預定格式,該記憶體控制器依據該第一單一命令進行一系列操作,其中該第一單一命令代表一第一複製(duplicate)命令,用於將第一資料從一第一來源邏輯位址複製到一第一目的地邏輯位址,以及該系列操作包含:藉由在一第一來源實體位址讀取該第一資料以在該第一來源邏輯位址讀取該第一資料,其中該第一來源實體位址與該第一來源邏輯位址相關聯;以及藉由在一第一目的地實體位址寫入該第一資料以在該第一目的地邏輯位址寫入該第一資料,其中該第一目的地實體位址與該第一目的地邏輯位址相關聯;其中響應於該第一單一命令,該記憶體控制器能在該記憶體裝置中將該第一資料從包含該第一來源邏輯位址的至少一來源邏輯位址複製到包含該第一目的地邏輯位址的至少一目的地邏輯位址,而不需要於該主機裝置和該記憶體裝置之間進行該第一資料的資料傳送(data transfer)。
- 一種包含如申請專利範圍第7項所述之記憶體控制器的該記憶體裝置,其中該記憶體裝置包含:該非揮發性記憶體,用以儲存資訊;以及該記憶體控制器,耦接至該非揮發性記憶體,用以控制該記憶體裝置的操作。
- 一種電子裝置,其包含如申請專利範圍第8項所述之記憶體裝 置,並且另包含:該主機裝置,耦接至該記憶體裝置,其中該主機裝置包含:至少一處理器,用以控制該主機裝置的操作;以及一電源供應電路,耦接至該至少一處理器,用以提供電源給該至少一處理器以及該記憶體裝置;其中該記憶體裝置提供儲存空間給該主機裝置。
- 一種藉助於一預定命令來進行一記憶體裝置的資料存取控制的方法,該方法是應用於耦接至該記憶體裝置的一主機裝置,該記憶體裝置包含一記憶體控制器以及一非揮發性記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該方法包含:藉由該主機裝置內的一傳輸介面電路從該主機裝置發送一第一單一命令至該記憶體控制器,該第一單一命令符合該預定命令的一預定格式,以觸發該記憶體控制器依據該第一單一命令進行一系列操作,其中該第一單一命令代表一第一複製(duplicate)命令,用於將第一資料從一第一來源邏輯位址複製到一第一目的地邏輯位址,以及該系列操作包含:藉由在一第一來源實體位址讀取該第一資料以在該第一來源邏輯位址讀取該第一資料,其中該第一來源實體位址與該第一來源邏輯位址相關聯;以及藉由在一第一目的地實體位址寫入該第一資料以在該第一目的地邏輯位址寫入該第一資料,其中該第一目的地實體位址與該第一目的地邏輯位址相關聯;其中響應於該第一單一命令,該記憶體控制器能在該記憶體裝置中將該 第一資料從包含該第一來源邏輯位址的至少一來源邏輯位址複製到包含該第一目的地邏輯位址的至少一目的地邏輯位址,而不需要於該主機裝置和該記憶體裝置之間進行該第一資料的資料傳送(data transfer)。
- 如申請專利範圍第10項所述之方法,其中該非揮發性記憶體代表一快閃記憶體;以及該系列操作另包含:於一第一邏輯至實體(logical-to-physical,L2P)位址映射表中更新該第一目的地邏輯位址的邏輯至實體映射資訊。
- 如申請專利範圍第10項所述之方法,其中該非揮發性記憶體代表一三維交叉點(three-dimensional cross point,3D XPoint)記憶體。
- 如申請專利範圍第10項所述之方法,其另包含:藉由該主機裝置內的該傳輸介面電路從該主機裝置發送一第二單一命令至該記憶體控制器,該第二單一命令符合該預定命令的該預定格式,以觸發該記憶體控制器依據該第二單一命令進行至少一後續操作,其中該第二單一命令代表一第二複製命令,用於從一第二來源邏輯位址複製到一第二目的地邏輯位址,以及該至少一後續操作包含:響應於在一第一邏輯至實體(logical-to-physical,L2P)位址映射表當中,該第二來源邏輯位址的邏輯至實體映射資訊為空值(null),控制該記憶體裝置使在該第二目的地邏輯位址的任何資料為無效資料(invalid data)。
- 如申請專利範圍第10項所述之方法,其中該第一複製命令是可應用於(applicable to)單一範圍複製;以及針對該單一範圍複製,與該第一複製命令相關聯的多個操作包含:該主機裝置插入該第一複製命令至該主機裝置內的一提交佇列(submission queue,SQ)中;該主機裝置在該記憶體裝置中寫入一第一門鈴(doorbell),以供藉由信令(signaling)指出以該第一複製命令作為一新命令;該記憶體裝置從該主機裝置內的該提交佇列獲取(fetch)該第一複製命令;該記憶體裝置處理該第一複製命令,而不需要存取該主機裝置內的一緩衝器;該記憶體裝置將該第一複製命令的完成資訊推送(push)到該主機裝置內的一完成佇列(completion queue,CQ);該記憶體裝置發送一中斷(interrupt),以供藉由信令指出該第一複製命令完成;該主機裝置從該主機裝置內的該完成佇列取得該第一複製命令的該完成資訊;以及該主機裝置在該記憶體裝置中寫入一第二門鈴以釋放該完成佇列中與該第一複製命令相對應的一完成佇列條目(CQ entry)。
- 如申請專利範圍第10項所述之方法,其中該第一複製命令是可應用於(applicable to)多範圍(multi-range)複製;以及針對該多範圍複製,與該第一複製命令相關聯的多個操作包含:該主機裝置插入該第一複製命令至該主機裝置內的一提交佇列 (submission queue,SQ)中;該主機裝置在該記憶體裝置中寫入一第一門鈴(doorbell),以供藉由信令(signaling)指出以該第一複製命令作為一新命令;該記憶體裝置從該主機裝置內的該提交佇列獲取(fetch)該第一複製命令;該記憶體裝置從該主機裝置內的一緩衝器取得複製範圍資訊,然後處理該第一複製命令,其中該複製範圍資訊包含指出該多範圍複製的多個來源位址範圍的來源位址範圍資訊以及指出該多範圍複製的多個目的地位址範圍的目的地位址範圍資訊,以及該第一來源邏輯位址和該第一目的地邏輯位址分別代表該多個來源位址範圍中的任一來源位址範圍的一來源邏輯位址以及該多個目的地位址範圍中的任一目的地位址範圍的一目的地邏輯位址;該記憶體裝置將該第一複製命令的完成資訊推送(push)到該主機裝置內的一完成佇列(completion queue,CQ);該記憶體裝置發送一中斷(interrupt),以供藉由信令指出該第一複製命令完成;該主機裝置從該主機裝置內的該完成佇列取得該第一複製命令的該完成資訊;以及該主機裝置在該記憶體裝置中寫入一第二門鈴以釋放該完成佇列中與該第一複製命令相對應的一完成佇列條目(CQ entry)。
- 一種根據如申請專利範圍第10項所述之方法來操作的該主機裝置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163273121P | 2021-10-28 | 2021-10-28 | |
US63/273,121 | 2021-10-28 | ||
US17/864,449 | 2022-07-14 | ||
US17/864,449 US11977783B2 (en) | 2021-10-28 | 2022-07-14 | Method and apparatus for performing data access control of memory device with aid of predetermined command |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202318206A TW202318206A (zh) | 2023-05-01 |
TWI820952B true TWI820952B (zh) | 2023-11-01 |
Family
ID=86122752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111137804A TWI820952B (zh) | 2021-10-28 | 2022-10-05 | 藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11977783B2 (zh) |
CN (1) | CN116048381A (zh) |
TW (1) | TWI820952B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815172A (zh) * | 2017-11-20 | 2019-05-28 | 三星电子株式会社 | 设备控制器以及包括其的储存设备 |
TW202001573A (zh) * | 2018-06-19 | 2020-01-01 | 旺宏電子股份有限公司 | 記憶系統 |
TW202117543A (zh) * | 2019-09-17 | 2021-05-01 | 美商美光科技公司 | 存取儲存的元資料以識別儲存資料的記憶體裝置 |
US20210273652A1 (en) * | 2020-03-02 | 2021-09-02 | Micron Technology, Inc. | Configuring iterative error correction parameters using criteria from previous iterations |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135121B2 (en) * | 2012-10-16 | 2015-09-15 | International Business Machines Corporation | Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses |
US10635316B2 (en) | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US9898411B2 (en) | 2014-12-14 | 2018-02-20 | Via Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
WO2016097806A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Fully associative cache memory budgeted by memory access type |
US10218166B2 (en) | 2015-03-03 | 2019-02-26 | Sandisk Technologies Llc | System and method for dynamic monitoring of controller current consumption |
CN106326133B (zh) | 2015-06-29 | 2020-06-16 | 华为技术有限公司 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
CN107391391B (zh) * | 2017-07-19 | 2019-05-14 | 深圳大普微电子科技有限公司 | 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘 |
US10387226B2 (en) | 2017-11-13 | 2019-08-20 | Western Digital Technologies, Inc. | Timestamp suppression |
US10580512B2 (en) | 2018-02-21 | 2020-03-03 | Western Digital Technologies, Inc. | Storage device with debug namespace |
TWI679538B (zh) | 2018-03-31 | 2019-12-11 | 慧榮科技股份有限公司 | 資料儲存系統之控制單元以及邏輯至物理映射表更新方法 |
TWI719654B (zh) | 2019-06-21 | 2021-02-21 | 慧榮科技股份有限公司 | 閃存實體資源集合管理裝置及方法以及電腦程式產品 |
US11409348B2 (en) * | 2019-07-29 | 2022-08-09 | Micron Technology, Inc. | Power backup architecture to manage capacitor health |
KR102650809B1 (ko) | 2019-08-02 | 2024-03-26 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
US11556268B2 (en) * | 2021-04-22 | 2023-01-17 | Western Digital Technologies, Inc. | Cache based flow for a simple copy command |
US20220342553A1 (en) * | 2021-04-27 | 2022-10-27 | Micron Technology, Inc. | Copy command for a memory system |
-
2022
- 2022-07-14 US US17/864,449 patent/US11977783B2/en active Active
- 2022-10-05 TW TW111137804A patent/TWI820952B/zh active
- 2022-10-20 CN CN202211286995.3A patent/CN116048381A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815172A (zh) * | 2017-11-20 | 2019-05-28 | 三星电子株式会社 | 设备控制器以及包括其的储存设备 |
TW202001573A (zh) * | 2018-06-19 | 2020-01-01 | 旺宏電子股份有限公司 | 記憶系統 |
TW202117543A (zh) * | 2019-09-17 | 2021-05-01 | 美商美光科技公司 | 存取儲存的元資料以識別儲存資料的記憶體裝置 |
US20210273652A1 (en) * | 2020-03-02 | 2021-09-02 | Micron Technology, Inc. | Configuring iterative error correction parameters using criteria from previous iterations |
Also Published As
Publication number | Publication date |
---|---|
US11977783B2 (en) | 2024-05-07 |
US20230133559A1 (en) | 2023-05-04 |
TW202318206A (zh) | 2023-05-01 |
CN116048381A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI720588B (zh) | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 | |
US10347349B2 (en) | Method and device for fail-safe erase of flash memory | |
US20140215125A1 (en) | Logical block address remapping | |
US10866736B2 (en) | Memory controller and data processing circuit with improved system efficiency | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
US20220100425A1 (en) | Storage device, operating method of storage device, and operating method of computing device including storage device | |
US10866755B2 (en) | Two stage command buffers to overlap IOMMU map and second tier memory reads | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
TWI762275B (zh) | 借助專用位元資訊來執行一記憶體裝置之存取管理之方法、記憶體裝置、電子裝置、應用於一記憶體裝置之控制器以及主機裝置 | |
TWI717751B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI820951B (zh) | 藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備 | |
TWI820952B (zh) | 藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備 | |
TW201426314A (zh) | 資料傳輸方法、記憶體控制器、資料傳輸系統 | |
US9652378B2 (en) | Writing method, memory controller and memory storage device | |
TWI839288B (zh) | 用來在主機效能增幅器架構中藉助於裝置側表資訊編碼與解碼進行記憶裝置的存取管理的方法、記憶裝置、電子裝置及控制器 | |
TWI839289B (zh) | 用來在主機效能增幅器架構中藉助於裝置側表資訊編碼與解碼進行記憶裝置的存取管理的方法、記憶裝置、電子裝置及控制器 | |
TWI814655B (zh) | 記憶裝置、快閃記憶體控制器及其控制方法 | |
TWI852615B (zh) | 藉助於專用資訊控制來進行記憶體裝置的垃圾收集管理之方法、記憶體控制器、記憶體裝置以及電子裝置 | |
EP3974954A1 (en) | Storage device, operating method of storage device, and operating method of computing device including storage device | |
US20240012564A1 (en) | Memory controller and storage device including the same | |
CN117453122A (zh) | 检测进行记忆装置的数据碎化降低控制的方法及设备、以及相关电脑可读媒体 | |
TW201430697A (zh) | 控制方法、記憶體控制器與資料傳輸系統 |