TWI743085B - 固態硬碟、計算系統及用於儲存資料之方法 - Google Patents
固態硬碟、計算系統及用於儲存資料之方法 Download PDFInfo
- Publication number
- TWI743085B TWI743085B TW106104619A TW106104619A TWI743085B TW I743085 B TWI743085 B TW I743085B TW 106104619 A TW106104619 A TW 106104619A TW 106104619 A TW106104619 A TW 106104619A TW I743085 B TWI743085 B TW I743085B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage device
- controller
- plane
- memory
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
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)
- Read Only Memory (AREA)
- Stored Programmes (AREA)
Abstract
一固態硬碟包括一控制器其具有一硬體介接至比較涵括於非依電性儲存裝置中者更少個記憶體胞元之平面。舉例言之,一控制器硬體介面可包括耦合至具有記憶體胞元之2N平面的一非依電性儲存裝置之一1N平面介面。用於該控制器與該非依電性儲存裝置間之資料存取交易,第一及第二連續1N平面指令序列被解譯為一單一2N平面指令序列。
Description
發明領域
本文描述大致上係有關於固態硬碟,及更特別描述係有關於一N平面控制器與一2N平面非依電性媒體介接。
著作權聲明/許可
本專利文件之部分揭示內容可能含有受著作權保護之材料。當本專利出現在專利商標局的專利檔案或記錄時,著作權擁有者並不反對任何人複製專利文件或專利揭示文,但雖言如此仍然保有全部著作權權利。著作權聲明適用於後述全部資料及其附圖圖式,以及後述任何軟體:著作權©2016,英特爾公司(Intel Corporation),版權所有。
發明背景
固態非依電性儲存裝置(例如,以半導體電路為基礎之記憶體胞元)的效能持續地改良同時價格持續地下跌。今日固態硬碟(SSD)具有與相似容量的旋轉式磁碟儲存裝置可相媲美的價格點,持續地擴大SSD的滲透。即便如此,設
計師仍然持繼對SSD架構及實施方式上做效能改良。傳統上SSD具有組織成「平面」的記憶體胞元,平面係指資源集結在一起及一起定址。多個平面使得多個資源能在SSD內部被並列地存取。
SSD的效能及儲存容量增高的推動力已經驅使記憶體胞元的平面數目增加。須瞭解硬體介接至儲存資源提供優於以軟體為基礎或以韌體為基礎的介面之改良效能。然而,非依電性媒體的改變,及特別儲存資源之硬體組織成更多平面,傳統上要求非依電性儲存裝置控制器中的對應改變。傳統上,製造商針對各個新一代非依電性媒體設計新穎控制器。然而,控制器之設計及建構傾向於比較對非依電性媒體做硬體改變需要更多時間。當控制器為客製化設計用於非依電性媒體硬體變化的各次迭代時,記憶體控制器傾向於變成產品發佈的瓶頸。
依據本發明之一實施例,係特地提出一種固態硬碟,包含:一非依電性儲存裝置,包括記憶體胞元之一數目2N之平面;及一控制器,包括耦合至該非依電性儲存裝置的一1N平面硬體介面;其中該控制器與該非依電性儲存裝置間之一資料存取交易包括被解譯為一單一2N平面指令序列之第一及第二連續1N平面指令序列。
102、104、200、500:系統
110、150、210:主機
112:CPU
114:晶片組
120、160、220、580、690:固態硬碟(SSD)
130、170、230、302:控制器
132:N-平面介面
140:2N平面NV媒體
152:主機OS
154:檔案系統
156:驅動裝置
172:主機介面
174:韌體
176:NV介面
178:錯誤控制
180:NV裝置
182、254:快取記憶體
184:2N平面
212:依電性記憶體
232、520、610:處理器
234:緩衝器
240:NV儲存介面
242:存取硬體
244:信號線
250:NV晶粒
252:介面
300:序列
304:NV媒體
312-334:方塊
400:方法
402-420:處理方塊
510:匯流排、匯流排/匯流排系統
512、652:電源
530、660:記憶體子系統
532:記憶體
534、664:記憶體控制器
536:作業系統(OS)
538:指令
540:I/O介面
550:網路介面
560:儲存裝置
562:代碼/資料
570:周邊裝置介面
600:裝置
620:音訊子系統
630:顯示子系統
632:顯示介面
640:I/O控制器
650:電源管理
662:記憶體裝置
670:連接性
672:細胞式連接性
674:無線連接性
680:周邊連結
682:至
684:自
後文詳細說明部分包括具有藉由舉例說明本發明之實施例給定的例示之圖式討論。附圖須瞭解為例示
性而非限制性。如於本文中使用,述及一或多個「實施例」須瞭解為描述涵括於至少一個本發明之實施例中的特定特徵、結構、及/或特性。如此,於本文中出現的片語諸如「於一個實施例中」或「於一替代實施例中」描述本發明之各種實施例及實施方式,而無需全部皆係指相同實施例。但其也非必然彼此互斥。
圖1A為具有固態硬碟(SSD)帶有一控制器的一系統之一實施例的方塊圖,該控制器具有比較於SSD中之儲存位置的平面數目更窄的介面。
圖1B為具有固態硬碟(SSD)之一系統的一實施例的方塊圖,該系統具有控制器帶有可規劃韌體以調整其如何與儲存媒體介接,該儲存媒體具有多個儲存位置之平面而非支援於控制器硬體中。
圖2為具有控制器於固態硬碟(SSD)耦合多個非依電性媒體晶粒的一系統之一實施例的方塊圖。
圖3為例示控制器與非依電性媒體間之交換以自1N控制器提供2N價值的資料之一實施例的方塊圖。
圖4為用於在非依電性媒體自一控制器接收指令序列之一方法之一實施例的流程圖。
圖5為於其中可實施具有N平面控制器及2N平面非依電性媒體的SSD的一計算系統之一實施例的方塊圖。
圖6為於其中可實施具有N平面控制器及2N平面非依電性媒體的SSD的一行動裝置之一實施例的方塊
圖。
後文某些細節及實施方式之描述,包括圖式之描述,可描繪如下描述之部分或全部實施例,以及討論本文中呈現的本發明構想之其它潛在實施例或實施方式。
較佳實施例之詳細說明
如於本文中描述,一固態硬碟(SSD)包括一控制器具有一硬體介接至比較非依電性儲存裝置中涵括者更少的記憶體胞元之平面。如此,控制器可與具有比較由控制器介面之硬體支援的更多平面的非依電性儲存媒體介接。一SSD包括組織成記憶體胞元之平面的非依電性儲存媒體,於該處該等平面提供並列的儲存裝置存取路徑。非依電性媒體常見實施為分開的儲存晶粒。一SSD也包括具有一硬體介面的一控制器以耦合至及存取非依電性儲存媒體。典型地,一SSD包括與多個非依電性媒體晶粒介接的一控制器。
控制器硬體介面藉改變成控制邏輯,諸如控制器內部的韌體或軟體,能支援與非依電性儲存媒體之更多平面介接。舉例言之,控制器硬體介面可包括1N平面介面耦合至帶有2N平面之記憶體胞元的非依電性儲存裝置,於該處N為整數。基於藉控制器邏輯操作介面,控制器可與具有更多平面的非依電性儲存媒體介接。於一個實施例中,為了控制器與非依電性儲存裝置間之資料存取交易,第一及第二連續1N平面指令序列被解譯為單一2N平
面指令序列。
當系統設計師產生非依電性媒體改良時,其典型地結合新穎非依電性儲存裝置架構。舉例言之,針對新穎NAND解決方案通常將產生新穎NAND快閃記憶體架構。傳統上,系統設計師從下到上設計NAND控制器。非依電性控制器之一常見實施例為特定應用積體電路(ASIC),其能被稱作客製控制器或客製矽以與非依電性媒體介接。
考慮產生用於置換基於雙平面架構之舊式NAND SSD的四平面架構NAND快閃記憶體裝置之一實例。此種情境傳統上要求新的控制器ASIC設計以改良循序寫入或讀取產出量。於一個實施例中,對控制器的韌體變化可使其能使用舊式雙平面控制器以介接四平面記憶體裝置。此種實施例使其能建立新穎SSD而無需等待新控制器的發展與部署。於一個實施例中,系統設計師可以較少設計,以對控制器韌體的小量修改及對非依電性記憶體裝置上的韌體及硬體的修改而匹配舊式控制器至新穎媒體。
非依電性記憶體指即便供應記憶體的電力中斷其狀態為確定的記憶體或儲存裝置。非依電性記憶體與依電性記憶體相反,若供應電力中斷則其狀態(及因而儲存其上之資料)為不確定。依電性記憶體典型地用作為系統主記憶體,傳統上具有比非依電性記憶體更少的容量,但具有遠更快的存取時間。具有非依電性媒體的裝置係指用來儲存資料的硬體資源,可稱作非依電性記憶體裝置或儲存
裝置。
於一個實施例中,非依電性記憶體裝置為區塊可定址記憶體裝置,諸如NAND或NOR技術。非依電性記憶體裝置也可包括未來世代非依電性裝置,諸如三維交叉點記憶體裝置、或其它位元組可定址非依電性記憶體裝置、或使用硫屬化物相變材料(例如,硫屬化物玻璃)的記憶體裝置。於一個實施例中,記憶體裝置可以是或包括多臨界值階層NAND快閃記憶體、NOR快閃記憶體、單-或多-階層相變記憶體(PCM)、電阻式記憶體、奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁阻式隨機存取記憶體(MRAM)結合憶阻器技術的記憶體、或自旋轉移力矩(STT)-MRAM、或以上任一者的組合、或其它記憶體。
圖1A為具有固態硬碟(SSD)帶有一控制器的一系統之一實施例的方塊圖,該控制器具有比較於SSD中之儲存位置的平面數目更窄的介面。系統102包括依據本文中描述的SSD 120耦合主機110。換言之,SSD 120包括控制器130其具有用於N平面的硬體介面,及包括具有2N平面的非依電性媒體(NV媒體)140。
主機110表示連結至SSD 120的主機硬體平台。主機110包括中央處理單元(CPU)112及/或其它處理器。CPU 112表示任何主機處理器,其對存取儲存於120上的資料生成請求,或為讀取資料及/或將資料寫入至儲存裝置。此種處理器可包括單核心或多核心處理器、用於計
算裝置的主處理器、圖形處理器、周邊處理器、及/或補充或輔助處理器。CPU 112可執行主機作業系統(OS)及/或其它應用程式以使得系統102操作。主機110也包括晶片組114,其表示可涵括於CPU 112與SSD 120間之連結的其它硬體組件。舉例言之,晶片組114可包括驅動裝置及其它邏輯或電路以提供對SSD 120的存取。於一個實施例中,晶片組114包括儲存控制器,其為與SSD 120內部的控制器130分開的主機端控制器。
SSD 120表示包括NV媒體140以儲存資料的固態硬碟。SSD 120也包括控制器130以控制對NV媒體140的存取。控制器130包括N平面介面132,其包括硬體以與N平面非依電性儲存裝置介接。傳統上,控制器130及NV媒體140係基於不同方法技術發展。因其係基於不同方法發展,各自係於時間上獨立發展。於一個實施例中,控制器130表示ASIC控制器。傳統SSD上的ASIC發展為長的處理。然而,替代N平面非依電性儲存裝置,SSD 120包括2N平面NV媒體140。如此,系統102可發揮舊式控制器設計的槓桿作用以介接至新非依電性媒體。於一個實施例中,發揮舊式控制器設計的槓桿作用可包括對設計的修改以動態縮小控制器設計之範圍(例如,減少設計新ASIC所需工作量)。
於一個實施例中,SSD 120包括四平面NV媒體140(2N平面計數,於該處N等於2)及雙平面(N平面計數)控制器130。使用2N平面NV媒體以使其能使用N平面
控制器提供減少平台成本的機會,及提供針對給定SSD密度的一半NV媒體140之相等效能而不改變控制器硬體。利用此種設計,系統102可維持先前世代SSD解決方案之相同循序寫入效能。控制器130具有用於讀取及寫入至NV媒體140的記憶體胞元的指令序列。平面之數目表示資料的寬度。
於一個實施例中,控制器130包括對NV媒體140之介面(例如,南橋),及包括對主機110的介面(例如,北橋)。介面132為用於讀取、寫入、及以其它方式存取NV媒體140的介面。介面132包括硬體以控制對NV媒體140的指令序列。於一個實施例中,對NV媒體140的指令可包括自控制器130的寫入指令。於一個實施例中,控制器130將兩個N平面(或1N平面)指令序列縫綴在一起成單一2N指令序列。NV媒體140將兩個1N平面指令序列解譯成單一2N平面指令序列。於一個實施例中,對NV媒體140的指令可包括自控制器130的讀取指令。於一個實施例中,NV媒體140提供2N讀取序列給控制器130,控制器接收及解碼為兩個1N讀取序列。
圖1B為具有固態硬碟(SSD)之一系統的一實施例的方塊圖,該系統具有控制器帶有可規劃韌體以調整其如何與儲存媒體介接,該儲存媒體具有多個儲存位置之平面而非支援於控制器硬體中。系統104提供依據圖1A之系統102的一個系統實例。雖然系統102例示主機及SSD的硬體平台,系統104例示主機及SSD的邏輯層。於一個實
施例中,主機150提供主機110的一個實例。依據本發明,SSD 160提供SSD 120的一個實例。
於一個實施例中,主機150包括主機OS 152,其表示主機作業系統或用於主機的軟體平台。主機OS 152可包括於其上執行應用程式、服務、代理器、及/或其它軟體的平台。檔案系統154表示用於控制存取NV媒體的控制邏輯。檔案系統154可管理哪些位址或記憶體位置被使用來儲存哪些資料。有無數檔案系統為已知,及檔案系統154可實施已知之檔案系統或其它專有系統。於一個實施例中,檔案系統154為主機OS 152的部分。驅動裝置156表示控制硬體的系統層級模組。於一個實施例中,驅動裝置156包括軟體應用程式以控制SSD 160的硬體。
SSD 160之控制器170包括韌體174,其表示用於控制器的控制軟體/韌體。於一個實施例中,控制器170包括主機介面172,其表示對主機150的介面。於一個實施例中,控制器170包括NV介面176,其表示對NV裝置180的介面。須瞭解控制器170包括硬體以介接至主機150(未特別顯示於圖中),其可被考慮為受主機介面軟體/韌體172控制。同理,須瞭解控制器170包括硬體以介接至NV裝置180(系統102之N平面介面132表示一個實例)。於一個實施例中,針對主機介面172的代碼可以是韌體174的部分。於一個實施例中,針對NV介面176的代碼可以是韌體174的部分。
韌體174控制硬體介面以使其能通訊。於一個
實施例中,韌體174可經修改以使得控制器170能介接至具有比設計用來介接的控制器170之硬體介面更多個平面之NV裝置180。於一個實施例中,NV介面176及/或韌體174提供一串指令序列給NV裝置180作為單一指令。如此,控制器170可包括相對於舊式SSD實施例已改變的指令序列。控制器170可被考慮將多個指令序列縫綴在一起成為一個較長的指令序列。
須瞭解控制器170內部的更多硬體實施例將提高SSD的操作速度。如此,指令序列可於韌體(例如,韌體174及/或NV介面176)中實施,但韌體通常比硬體更慢。韌體較具彈性,原因在於其可進行較多操作且可經修改,但硬體通常比韌體實施方式遠更快速。須瞭解鑒於韌體控制硬體,在任何情況下,有些互動面向係由韌體控制。然而,韌體實施例係指其中信號的全部排序及全部處理係於經韌體控制的邏輯中進行之實施例。硬體實施例包括硬體處理至少若干信號交換。韌體控制優於硬體須與控制器170的硬體介面,以及NV裝置180的硬體及韌體兩者可相容。
硬體相較於韌體之一實例可由錯誤控制178表示。錯誤控制178處理於所存取資料中之資料錯誤,及就依從發訊及通訊介接的個別案例。可能實施於硬體中之至少若干錯誤控制。然而,大多數錯誤控制為了彈性原故於韌體中實施,即便其比硬體實施例更慢亦復如此。硬體實施例可能要求不合實際的大量硬體邏輯以實施。同理,
於一個實施例中,韌體174處理刪除操作及驅動清除程序。
依據本文中描述的任何實施例,NV裝置180表示非依電性裝置。於一個實施例中,NV裝置180包括快取記憶體182,其表示輸入及/或輸出緩衝器或快取記憶體以儲存暫態資料用與控制器170交換。快取記憶體182的使用可使得NV裝置180非同步接收指令,而仍然同步在指令上操作及回應於指令。藉將資料緩衝於快取記憶體182中可使得時序變成同步。於一個實施例中,NV裝置180包括2N平面,而控制器170的NV介面176包括1N介面。雖然特定參考例及特定實例提及與描述1N至2N介面施於控制器170與NV裝置180間,但須瞭解1:2以外的其它比值可適應本文中描述的類似方式。
於一個實施例中,控制器170改變對NV裝置180的指令排序以支援具有比由控制器170之硬體天然支援者更多個平面之NV裝置。藉由改變控制器如何操作其硬體,對控制器170之韌體修改可支援此種指令排序改變。
圖2為具有控制器於固態硬碟(SSD)耦合多個非依電性媒體晶粒的一系統之一實施例的方塊圖。系統200提供依據圖1A之系統102及/或圖1B之系統104的一計算系統之一實施例的一個實例。主機210表示主機硬體及軟體平台。主機210產生針對資料的請求,其請求對SSD 220之資料存取操作的結果。主機210可包括一儲存控制器,其控制自主機210至SSD 220的存取。此種儲存控制器可與SSD 220之控制器230區別。控制器230表示SSD
220上之一控制器用以管理自主機210輸入的針對資料存取的請求。
於一個實施例中,系統200包括依電性記憶體212,其表示主機210可存取資料之暫態儲存的依電性記憶體。舉例言之,記憶體212可被視為系統200之操作記憶體,而SSD 220可包括非由主機210直接執行的儲存裝置。於一個實施例中,用於由主機執行的全部資料及代碼首先自SSD 220載入至記憶體212。於一個實施例中,主機210例如藉將資料載入快取記憶體(未明確地顯示於圖中)而直接執行來自SSD 220的代碼及/或資料。雖然於圖中未特別顯示,但於一個實施例中,SSD 220耦合至記憶體212,及可移轉資料至及/或自記憶體212,諸如,載入程式用於由主機處理器執行,寫入由主機應用程式產生的程式,或其它動作。
於一個實施例中,控制器230為客端裝置(例如,ASIC),其包括處理器232、緩衝器234、及一或多個NV儲存介面240。處理器232表示微處理器或微控制器或控制器230上的其它處理邏輯,其使得控制器230能執行與處理輸入請求相關的操作及回應於請求而存取非依電性媒體。須瞭解處理器232與涵括於主機210中作為主機硬體平台之部分的處理器分開。緩衝器234表示控制器230內部的緩衝器或快取記憶體,其使得SSD 220能接收與緩衝來自主機210的多個請求或指令及/或寫入資料。緩衝器234也可表示緩衝器或快取記憶體以緩衝欲輸出至主機210的資
料(例如,讀取資料)。於一個實施例中,控制器230包括分開的輸入及輸出緩衝器234。
介面240表示控制器230內部的硬體及軟體/韌體以使其能存取NV晶粒250。於一個實施例中,各個介面240支援介接至N平面,於該處N為整數。於一個實施例中,各個NV晶粒250包括2N平面(例如,平面[0]-平面[2N-1])。NV晶粒250表示依據本文中描述的任何實施例的NV媒體。2N平面使其能同時並列存取多個記憶體胞元。介面252表示硬體介面,其可由NV媒體本身上的軟體/韌體控制,其介接至控制器230。
於一個實施例中,控制器230包括多個介面240,其各自可連結至多個NV晶粒250。各個NV晶粒250包括2N平面,及包括介面252以耦合至控制器230之一對應介面240。於一個實施例中,介面254包括快取記憶體254以儲存所接收的請求及寫入資料,及/或儲存讀取資料。於一個實施例中,處理器232執行韌體以控制介面240來支援連結至具有記憶體胞元之2N平面的NV晶粒250,即便介面240具有N平面介面亦復如此。
介面240包括存取硬體242,其表示硬碟驅動裝置及介面電路以使用NV晶粒250生成及接收信號。存取硬體242可包括處理硬體以支援控制器230與NV媒體間之資料交換處理。於一個實施例中,信號線244可被考慮為存取硬體242。信號線244被例示為表示SSD 220包括自介面240至NV晶粒250的一或多個實體匯流排。控制器230
與NV晶粒250間之信號交換係在匯流排之寬度(其可被稱作信號線之頻寬或數目)以內操作。基於信號線244之數目,控制器230可經組配於硬體以支援N平面。於一個實施例中,控制器230之控制器韌體改變指令之排序以支援NV媒體之2N平面。
於一個實施例中,為了將資料自控制器230寫入至NV晶粒250,控制器230可使得介面將多個連續指令視為單一指令處理。如此,須瞭解多個1N指令為單一多-N指令,諸如2N指令。於一個實施例中,為了自NV晶粒250讀取資料至控制器230,NV晶粒250於內部生成兩個1N平面指令序列以移轉2N平面資料,否則NV媒體將以其它方式呈單一2N平面讀取序列移轉。於一個實施例中,NV晶粒250移轉單一2N平面讀取序列,控制器230可經修改以接收及解譯為兩個1N平面讀取序列。兩種情況下,控制器230或NV晶粒250或兩者對其如何移轉資料做出內部改變以支援控制器與媒體間之介面中之不匹配。
圖3為例示控制器與非依電性媒體間之交換以自1N控制器提供2N價值的資料之一實施例的方塊圖。序列300提出依據本文中描述的任何實施例自控制器302至NV媒體304之寫入存取操作之一實施例的一個實例。於一個實施例中,序列300例示根據於控制器302的經修改之韌體及NV媒體304中經修改之韌體的一寫入操作或寫入交易。NV媒體304也可包括硬體改變以支援介接至控制器302,其支援比涵括於NV媒體304內部之平面更少的平
面。序列300使其能自舊式控制器針對新NV媒體獲得完整寫入頻寬。
於一個實施例中,控制器302首先設定NV媒體304之一組態,設定組態「A」。組態A可由NV媒體304瞭解為指示由NV媒體304支援的平面數目。於一個實施例中,回應於組態設定,NV媒體304設定一操作模式,312,或設定組態。基於組態,NV媒體304可差異地解譯輸入請求。
於一個實施例中,當NV媒體304於組態A操作時,控制器302發送帶有一橋接指令的一指令序列,回應於此,NV媒體304等待更多指令及/或資料,314。寫入指令序列之一實例可包括如下操作碼序列:80h-<Address>-<Data>-11h,於該處操作碼「80h」表示寫入指令,及操作碼「11h」表示橋接指令,表示在確認與執行指令之前,NV媒體304須期待更多位址及資料資訊。
隨後控制器302可發送另一序列之指令、位址及資料,回應於此,NV媒體304可忽略確認或執行指令。舉例言之,該序列可包括如下操作碼序列:80h-<Address>-<Data>-10h,於該處操作碼「80h」表示次一寫入指令,及操作碼「10h」表示確認指令或執行指令,表示NV媒體304須執行與確認指令序列。傳統上,回應於操作碼10h,NV媒體304將執行指令序列,寫入第一資料及第二資料。然而,基於設定成組態A,NV媒體304
忽略確認指令,316。
序列300如圖例示列舉指令以使得寫入代碼、位址、資料、及結束代碼的各個指令序列該點可被瞭解為一指令序列。於序列300中,第一與第二序列之組合為用於雙平面架構的一個指令序列。此種雙平面指令序列被瞭解為在第一位址及資料元件後方的橋接指令,及在第二位址及資料元件後方的確認指令。於四平面指令序列中,額外橋接指令可置於寫入代碼、位址、及資料元件後方直到四個位址及資料元件皆被移轉為止。但控制器302不支援四平面介面,及取而代之,於一個組態中發送出兩個指令、位址、及資料單元以使得NV媒體304忽略第一確認指令。
於一個實施例中,控制器302針對NV媒體304設定組態「B」,回應於此,NV媒體304設定對應模式或組態,322。於一個實施例中,設定NV媒體304之組態首先為A及隨後為B,通知NV媒體架構為2N架構(如圖例示為四平面)。
於一個實施例中,當NV媒體304於組態B操作時,控制器302發送帶有一橋接指令的一指令序列,回應於此,NV媒體304等待更多指令及/或資料,324。寫入指令序列之一實例可包括如下操作碼序列:80h-<Address>-<Data>-11h。類似如上描述,控制器302隨後可發送另一序列之指令、位址及資料,回應於此,NV媒體304確認雙指令,326,指兩個1N平面序列。舉例言
之,該序列可包括如下操作碼序列:80h-<Address>-<Data>-10h,其後NV媒體304執行與確認整個指令序列。
於一個實施例中,控制器302發送一指令以復置組態A,回應於此,NV媒體304可復置組態,332。於一個實施例中,控制器302分開發送一指令以復置組態B,回應於此,NV媒體304可復置第二組態,334。於一個實施例中,組態A提供功能以使得NV媒體304忽略第一確認或執行指令。於一個實施例中,回應於第一序列之指令,NV媒體304忽略第一確認指令,316及設置平面0及1用於規劃。回應於組態成B,NV媒體304知曉指令序列為四平面程式。如此,NV媒體304可組配平面2及3用於規劃,及根據整個指令序列設定修整用於四平面規劃操作。
如圖例示,控制器302發送第一及第二組態設定,其使得NV媒體304進入特定組態。各個組態係分開清除。於替代實施例中,系統可經組配以允許自我清除組態。舉例言之,控制器302可設定組態A,回應於接收第一確認指令,NV媒體304可清除之。於一個實施例中,回應於第一確認指令,NV媒體304也能自動切換至組態B。然後,NV媒體可被內定成確認由控制器302發送的第二指令序列。如此,例示實例只表示一個實例而非限制性。須瞭解可使用其它序列之設定組態。
圖4為用於在非依電性媒體自一控制器接收指令序列之一方法之一實施例的流程圖。方法400例示在
具有2N平面的一非依電性裝置處理自具有1N平面之介面的一控制器接收的指令序列之一個實例。依據本文中描述的任何實施例,方法400可由非依電性媒體裝置執行。
於一個實施例中,NV裝置自控制器接收存取指令序列,402。序列300例示指令序列之一個實例,於該處控制器發送一指令序列至NV裝置。於一個實施例中,回應於接收指令序列,NV裝置判定其組態,404。若NV裝置係於X平面組態,406 YES分支,則於一個實施例中,NV裝置拷貝X平面之資料至輸入頁面緩衝器內(諸如系統200之緩衝器234),及自NV裝置提供短的忙碌時間,410。短的忙碌時間係因NV裝置不執行與確認指令。於一個實施例中,NV裝置可退出處理程序等待另一個指令。
於一個實施例中,若NV裝置係不在X平面組態,406 NO分支,則NV裝置判定其是否在Y平面組態,412。若NV裝置係不在Y平面組態,412 NO分支,則於一個實施例中,NV裝置繼續正常程式,414。如此,NV裝置可判定其是否於特定組態模式,或其是否連結至具有與其具有的相同介面(例如,至涵括於NV裝置中之平面數目的介面)之一控制器。
於一個實施例中,若NV裝置係於Y平面組態,412 YES分支,則NV裝置拷貝Y平面之資料至頁面緩衝器內,416。於一個實施例中,然後,NV裝置回應於執行操作碼及程式規劃X加Y平面資料入NV媒體內,418。因下述事實,NV裝置正在程式規劃資料,NV媒體陣列將
忙碌歷經一程式時間,420。如此,NV裝置可將連續N平面指令序列解譯成單一2N平面指令序列。
圖5為於其中可實施具有N平面控制器及2N平面非依電性媒體的SSD的一計算系統之一實施例的方塊圖。系統500表示依據本文中描述的任何實施例之一計算裝置,可以是膝上型電腦、桌上型電腦、伺服器、遊戲或娛樂控制系統、掃描器、影印器、列印器、路由或切換裝置、或其它電子裝置。系統500包括處理器520,其提供指令之處理、操作管理、及執行給系統500。處理器520可包括任何型別的微處理器、中央處理單元(CPU)、處理核心、或其它處理硬體以給系統500提供處理。處理器520控制系統500之總體操作,可以是或可包括一或多個可規劃通用或特用微處理器、數位信號處理器(DSP)、可規劃控制器、特定應用積體電路(ASIC)、可程式化邏輯裝置(PLD)等、或此等裝置的組合。處理器520可執行儲存於記憶體532中之資料及/或寫入或編輯儲存於記憶體532中之資料。
記憶體子系統530表示系統500之主記憶體,及提供欲由處理器520執行之代碼,或欲使用來執行常式的資料值的暫時儲存。記憶體子系統530可包括一或多個記憶體裝置,諸如唯讀記憶體(ROM)、快閃記憶體、隨機存取記憶體(RAM)之一或多個變化、或其它記憶體裝置、或此等裝置的組合。記憶體子系統530儲存及主持作業系統(OS)536以提供用於系統500中執行指令的軟體平台。此外,其它指令538係自記憶體子系統530儲存與執行以提供
系統500之邏輯及處理。OS 536及指令538係由處理器520執行。記憶體子系統530包括記憶體532,於該處其儲存資料、指令、程式、或其它項目。於一個實施例中,記憶體子系統包括記憶體控制器534,其乃生成與簽發指令至記憶體532的記憶體控制器。須瞭解記憶體控制器534可以是處理器520的實體部件。
處理器520及記憶體子系統530耦合至匯流排/匯流排系統510。匯流排510為縮寫,表示藉適當橋接器、配接器、及/或控制器連結的任一個或任多個分開的實體匯流排、通訊線路/介面、及/或點對點連結。因此,匯流排510可包括例如系統匯流排、周邊組件互連(PCI)匯流排、超傳輸或工業標準架構(ISA)匯流排、小型電腦系統介面(SCSI)匯流排、通用串列匯流排(USB)、或美國電機及電子工程師學會(IEEE)標準1394匯流排(俗稱「火線」)。匯流排510之匯流排也可對應於網路介面550中之介面。
電源512耦合至匯流排510以供電給系統500之組件。於一個實施例中,電源512包括AC至DC(交流至直流)配接器以插入牆壁插座內。此種AC電力可以是再生能源(例如,太陽能)。於一個實施例中,電源512只包括DC電力,其可由DC電源提供,諸如外部AC至DC轉換器。於一個實施例中,電源512包括無線充電硬體以透過近端充電場充電。於一個實施例中,電源512可包括內部電池或燃料電池源。
系統500也包括耦合至匯流排510的一或多個
輸入/輸出(I/O)介面540、網路介面550、一或多個內部大容量儲存裝置560、及周邊裝置介面570。I/O介面540可包括一或多個介面組件,透過此組件用戶與系統500介接(例如,視訊、音訊、及/或文數介接)。於一個實施例中,I/O介面540基於儲存於記憶體中之及/或由處理器520執行的操作生成一顯示。網路介面550給系統500提供以透過一或多個網路與遠端裝置(例如,伺服器、其它計算裝置)通訊的能力。網路介面550可包括乙太網路配接器、無線互連組件、通用串列匯流排(USB)、或其它有線或無線基於標準或專有介面。網路介面550可與遠端裝置交換資料,其可包括發送儲存於記憶體中之資料及/或接收欲儲存於記憶體中之資料。
儲存裝置560可以是或可包括用來以非依電性方式儲存大量資料的任何習知媒體,諸如一或多個磁性、固態、或以光學為基礎之碟片、或其組合。儲存裝置560以持續狀態(亦即,儘管至系統500的電力中斷數值仍然保有)保有代碼或指令及資料562。儲存裝置560通常可被視為「記憶體」,但記憶體530是提供指令給處理器520的執行或操作記憶體。雖然儲存裝置儲存裝置560為非依電性,但記憶體530可包括依電性記憶體(亦即,若至系統500的電力中斷,則資料之數值或狀態為不確定)。
周邊裝置介面570可包括如上未特別述及的任何硬體介面。周邊裝置概略指稱相依性連結至系統500的裝置。相依性連結為於該處系統500提供於其上執行操
作,及用戶與其互動的軟體及/或硬體平台者。
於一個實施例中,系統500包括SSD 580,可以是依據本文中描述的任何實施例的SSD。SSD 580包括具有與N平面介面的一控制器,及包括涵括2N平面的NV裝置(例如,NV晶粒或晶片或其它裝置)。依據如上描述,控制器交換兩個分開的N平面指令序列以存取NV媒體的2N平面。
圖6為其中可實施具有N平面控制器及2N平面非依電性媒體的SSD的一行動裝置之一實施例的方塊圖。裝置600表示行動計算裝置,諸如計算平板、行動電話或智慧型電話、無線啟用的電子讀取器、穿戴式計算裝置、或其它行動裝置。須瞭解某些組件係概略顯示,並非此種裝置的全部組件皆顯示於裝置600中。
裝置600包括處理器610,其進行裝置600的主要處理操作。處理器610可包括一或多個實體裝置,諸如微處理器、應用處理器、微控制器、可程式化邏輯裝置、或其它處理構件。由處理器610進行的處理操作包括於其上執行應用程式及/或裝置功能的操作平台或作業系統的執行。處理操作包括與人類使用或與其它裝置輸入/輸出(I/O)相關之操作、電源管理相關之操作、及/或裝置600連結至另一裝置相關之操作。處理操作也可包括音訊I/O及/或顯示器I/O相關之操作。處理器610可執行儲存於記憶體中之資料及/或寫入或編輯儲存於記憶體中之資料。
於一個實施例中,裝置600包括音訊子系統620,其表示與提供音訊功能給計算裝置相關聯的硬體(例如,音訊硬體及音訊電路)及軟體(例如,驅動裝置、編解碼器)組件。音訊功能可包括揚聲器及/或耳機輸出,以及麥克風輸入。用於此等功能的裝置可整合入裝置600內,或連結至裝置600。於一個實施例中,藉提供由處理器610接收及處理的音訊指令,用戶與裝置600互動。
顯示器子系統630表示對用戶提供視覺及/或觸覺顯示以與計算裝置介接的硬體(例如,顯示裝置)及軟體(例如,驅動裝置)組件。顯示器子系統630包括顯示介面632,其包括用來提供顯示給用戶的特殊螢幕或硬體裝置。於一個實施例中,顯示介面632包括與處理器610分開的邏輯以進行與顯示相關的至少若干處理。於一個實施例中,顯示器子系統630包括提供輸出及輸入兩者給用戶的觸控螢幕裝置。於一個實施例中,顯示器子系統630包括提供輸出至用戶的高畫質(HD)顯示器。高畫質可指具有約60每吋像素(PPI)或以上的像素密度之一顯示器,且可包括下列格式諸如全HD(例如,680p)、視網膜顯示器、4K(超高畫質或UHD)、或其它。於一個實施例中,顯示器子系統630基於儲存於記憶體的資料及/或由處理器610執行的操作而生成顯示資訊。
I/O控制器640表示與用戶互動有關的硬體裝置及軟體組件。I/O控制器640可操作以管理屬於音訊子系統620及/或顯示器子系統630之部件的硬體。此外,
I/O控制器640例示連結至裝置600透過此處用戶可與系統互動的用於額外裝置之連結點。舉例言之,能附接至裝置600的裝置可包括麥克風裝置、揚聲器或立體聲系統、視訊系統或其它顯示裝置、鍵盤或數字小鍵盤裝置、或用於特定應用的其它I/O裝置,諸如讀卡機或其它裝置。
如前述,I/O控制器640可與音訊子系統620及/或顯示器子系統630互動。舉例言之,透過麥克風或其它音訊裝置的輸入可提供輸入或指令用於裝置600的一或多個應用或功能。此外,替代或除外顯示器輸出,可提供音訊輸出。於另一實例中,若顯示器子系統包括一觸控螢幕,則顯示裝置也可用作為輸入裝置,其可以至少部分地由I/O控制器640管理。在裝置600上也有額外按鈕或開關以提供由I/O控制器640管理的I/O功能。
於一個實施例中,I/O控制器640管理裝置,諸如加速度計、相機、光感測器或其它環境感測器、迴轉儀、全球定位系統(GPS)、或能涵括於裝置600內的其它硬體。輸入可以是直接用戶互動部分,以及提供環境輸入至系統以影響其操作(諸如,過濾雜訊,調整顯示器用於亮度檢測,對相機施以閃光燈,或其它特徵)。
於一個實施例中,裝置600包括電源管理650,其管理電池電力的使用、電池的充電、及節電操作的相關特徵。電源管理650管理來自電源652的電力,其提供電力至裝置600之組件。於一個實施例中,電源652包括AC至DC(交流至直流)配接器以插入牆壁插座內。此
種AC電力可以是再生能源(例如,太陽能)。於一個實施例中,電源652只包括DC電力,其可由DC電源提供,諸如外部AC至DC轉換器。於一個實施例中,電源652包括無線充電硬體以透過近端充電場充電。於一個實施例中,電源652可包括內部電池或燃料電池源。
記憶體子系統660包括用於儲存裝置600中之資訊的記憶體裝置662。記憶體子系統660可包括非依電性(記憶體裝置的電力中斷時狀態不改變)及/或依電性(記憶體裝置的電力中斷時狀態不確定)記憶體裝置。記憶體660可儲存系統600之應用及功能的執行相關的應用程式資料、用戶資料、音樂、照片、文件、或其它資料、以及系統資料(無論長期或短期)。於一個實施例中,記憶體子系統660包括記憶體控制器664(其也可被視為裝置600的控制部件,及潛在地被視為處理器610之部件)。記憶體控制器664包括一排程器以產生及簽發指令給記憶體裝置662。
連接性670包括硬體裝置(例如,無線及/或有線連接器及通訊硬體)及軟體組件(例如,驅動裝置、協定堆疊)以使得裝置600能與外部裝置通訊。外部裝置可以是分開裝置,諸如,其它計算裝置、無線接取點或其地台、以及周邊裝置諸如頭戴式耳機、列印器、或其它裝置。於一個實施例中,系統600與外部裝置交換用來儲存於記憶體中及/或顯示於顯示裝置上的資料。已交換的資料可包括欲儲存於記憶體中之資料及/或已儲存於記憶體中之資
料,用以讀取、寫入、或編輯資料。
連接性670可包括多種不同類型的連接性。概略言之,裝置600係以細胞式連接性672及無線連接性674例示。細胞式連接性672大致係指由無線載波提供的細胞式網路連接性,諸如,透過全球行動通訊系統(GSM)或其變化或其衍生、劃碼多向接取(CDMA)或其變化或其衍生、分時多工(TDM)或其變化或其衍生、長期演進(LTE-又稱「4G」)、或其它細胞式服務標準提供者。無線連接性674係指非為細胞式的無線連接性,及可包括個人區域網路(諸如藍牙)、區域網路(諸如WiFi)、及/或廣域網路(諸如WiMax)、或其它無線通訊。無線通訊係指透過經由非固體媒體之經調變的電磁輻射之使用而移轉資料。有線通訊經由固體通訊媒體發生。
周邊連結680包括硬體介面及連接器,以及軟體組件(例如,驅動裝置、協定堆疊)以完成周邊連結。須瞭解裝置600可以是至其它計算裝置的周邊裝置(「至」682),以及具有周邊裝置連結其上者(「自」684)。裝置600常見具有「對接」連接器以連結至其它計算裝置用於諸如管理(例如,下載及/或上傳、改變、同步化)裝置600上的內容之目的。此外,對接連接器可允許裝置600連結至某些周邊裝置,其允許裝置600控制例如內容輸出至影音或其它系統。
除了專有對接連接器或其它專有連接硬體之外,裝置600可透過以通用或標準為基礎的連接器進行周
邊連結680。常見類型可包括通用串列匯流排(USB)連接器(其可包括多種不同硬體介面中之任一者)、顯示埠包括迷你顯示埠(MDP)、高畫質多媒體介面(HDMI)、火線、或其它類型。
於一個實施例中,系統600包括SSD 690,其可以是依據本文中描述的任何實施例的SSD。SSD 690包括具有與N平面介面的一控制器,及包括涵括2N平面的NV裝置(例如,NV晶粒或晶片或其它裝置)。依據如上描述,控制器交換兩個分開的N平面指令序列以存取NV媒體的2N平面。
於一個面向中,一種固態硬碟包括:一非依電性儲存裝置包括記憶體胞元之一數目2N之平面;及一控制器包括耦合至該非依電性儲存裝置的一1N平面硬體介面;其中該控制器與該非依電性儲存裝置間之一資料存取交易包括被解譯為一單一2N平面指令序列之第一及第二連續1N平面指令序列。
於一個實施例中,該非依電性儲存裝置包含一四-平面儲存裝置,及其中該控制器包括一雙-平面硬體介面。於一個實施例中,該資料存取交易包含自該控制器寫入至該非依電性儲存裝置。於一個實施例中,其進一步包含該控制器以在該第一指令序列之前設定該非依電性儲存裝置至一第一組態,及在該第一指令序列與該第二指令序列間設定該非依電性儲存裝置至一第二組態。於一個實施例中,其進一步包含該非依電性儲存裝置以忽略與該第
一指令序列相關聯的一第一執行指令,及回應於與該第二指令序列相關聯的一第二執行指令而執行該等第一及第二指令序列。於一個實施例中,該執行指令包含一確認指令。於一個實施例中,該資料存取交易包含自該非依電性儲存裝置之一讀取至該控制器。於一個實施例中,其進一步包含該非依電性儲存裝置以生成兩個1N平面指令序列而移轉2N平面之資料至該控制器。於一個實施例中,其進一步包含該非依電性儲存裝置以發送一2N平面指令序列,該控制器將該指令序列解譯成兩個1N平面指令序列。
於一個面向中,一種計算系統包括:一多核心處理器用以執行指令;一依電性記憶體裝置用以儲存欲由該處理器執行的資料;及耦合至該處理器及該依電性記憶體裝置的一固態硬碟,該固態硬碟包括一非依電性儲存裝置,其包括記憶體胞元之一數目2N之平面;及一控制器包括耦合至該非依電性儲存裝置的一1N平面硬體介面;其中該控制器與該非依電性儲存裝置間之一資料存取交易包括被解譯為一單一2N平面指令序列之第一及第二連續1N平面指令序列。該計算系統可包括依據固態硬碟之前述面向的一固態硬碟的任一實施例。
於一個面向中,一種用於資料儲存之方法包括:在具有2N平面之記憶體胞元的一非依電性儲存裝置自具有1N平面硬體介面之一控制器接收一第一資料存取交易,其中該第一資料存取交易用以定址1N平面之記憶體胞元;及自該控制器接收一連續第二資料存取交易以定址於
該非依電性儲存裝置的1N平面;其中該非依電性儲存裝置用以將該等連續1N平面資料存取交易解譯成一2N平面資料存取交易。
於一個實施例中,該非依電性儲存裝置包含一四-平面儲存裝置,及其中該控制器包括一雙-平面硬體介面。於一個實施例中,N等於2。於一個實施例中,接收該第一資料存取交易包括接收一寫入至該非依電性儲存裝置。於一個實施例中,其進一步包含:在該第一資料存取交易之前於該非依電性儲存裝置自該控制器接收一第一組態設定;及基於該第一組態設定而忽略該第一資料存取交易之一執行指令。於一個實施例中,其進一步包含:在該第一資料存取交易與該第二資料存取交易間於該非依電性儲存裝置自該控制器接收一第二組態設定;及基於該第二組態設定而執行該第二資料存取交易之一執行指令。於一個實施例中,該執行指令包含一確認指令。於一個實施例中,其進一步包含基於接收該第一組態設定而忽略該第一資料存取交易之一確認指令。於一個實施例中,其進一步包含回應於接收該第一組態設定而忽略該第一資料存取交易之該執行指令及自動地清除該第一組態設定。於一個實施例中,接收該第一資料存取交易包含於該非依電性儲存裝置接收一讀取。於一個實施例中,其進一步包含回應於該讀取生成兩個1N平面指令序列以將2N平面之資料自該非依電性儲存裝置移轉至該控制器。於一個實施例中,其進一步包含自該非依電性儲存裝置發送一2N平面指令序
列至該控制器,該控制器將該指令序列解譯為兩個1N平面指令序列。
於一個面向中,一種製造物件包含一電腦可讀取儲存媒體具有內容儲存於其上以使得操作之執行來執行依據前述方法面向的任何實施例用於資料移轉之方法。於一個面向中,一種用於資料移轉之設備包括用於進行操作執行依據前述方法面向的任何實施例之方法的構件。
於一個面向中,一種計算系統包括:一多核心處理器用以執行指令;一依電性記憶體裝置用以儲存欲由該處理器執行的資料;及耦合至該處理器及該依電性記憶體裝置的一固態硬碟,該固態硬碟包括一非依電性儲存裝置,其包括記憶體胞元之一數目2N之平面;及一控制器包括耦合至該非依電性儲存裝置的一1N平面硬體介面;其中該控制器與該非依電性儲存裝置間之一資料存取交易包括被解譯為一單一2N平面指令序列之第一及第二連續1N平面指令序列。於一個實施例中,其進一步包含下列中之一或多者:耦合以在該等記憶體模組與一遠端網路位置間交換資料的一網路配接器;通訊式耦合至該處理器之一顯示器;或一電池以供電該計算系統。
於一個面向中,一種用於資料儲存之方法包括:自具有一1N平面硬體介面的一控制器發送一第一資料存取交易至具有2N平面之記憶體胞元的一非依電性儲存裝置,其中該第一資料存取交易用以定址1N平面之記憶體胞元;及自該控制器發送用以定址1N平面之一連續第二資
料存取交易至該非依電性儲存裝置;其中該非依電性儲存裝置用以解譯該1N平面資料存取交易為一2N平面資料存取交易。
於一個實施例中,該非依電性儲存裝置包含一四-平面儲存裝置,及其中該控制器包括一雙-平面硬體介面。於一個實施例中,N等於2。於一個實施例中,發送該第一資料存取交易包含發送一寫入至該非依電性儲存裝置。於一個實施例中,其進一步包含:於該第一資料存取交易之前自該控制器發送一第一組態設定至該非依電性儲存裝置以使得該非依電性儲存裝置忽略該第一資料存取交易之一執行指令。於一個實施例中,其進一步包含:於該第一資料存取交易與該第二資料存取交易間自該控制器發送一第二組態設定至該非依電性儲存裝置以使得該非依電性儲存裝置執行該第二資料存取交易之一執行指令。在一個實施例中,該執行指令包含一確認指令。於一個實施例中,發送該第一組態設定係用以使得該非依電性儲存裝置忽略該第一資料存取交易之一確認指令。於一個實施例中,發送該第一組態設定係用以使得該非依電性儲存裝置忽略該第一資料存取交易之該執行指令及自動地清除該第一組態設定。於一個實施例中,發送該第一資料存取交易包含發送一讀取至該非依電性儲存裝置。於一個實施例中,其進一步包含該非依電性儲存裝置生成兩個1N平面指令序列以將2N平面之資料移轉至該控制器。於一個實施例中,其進一步包含該非依電性儲存裝置發送一2N平面指令
序列,該控制器將該指令序列解譯為兩個1N平面指令序列。
於一個面向中,一種製造物件包含一電腦可讀取儲存媒體具有內容儲存於其上以使得操作之執行來執行依據如上方法之該面向用於資料移轉之方法。於一個面向中,一種用於資料移轉之設備包括用於進行操作執行依據如上方法之該面向之方法的構件。
如於本文中例示的流程圖提出各種方法動作之順序的實例。流程圖可指示欲藉軟體或韌體常式執行的操作,以及實體操作。於一個實施例中,流程圖可例示有限狀態機(FSM)之狀態,其可於硬體及/或軟體實施。雖然以特定順序或排序顯示,但除非另行載明,否則動作的次序可經修改。如此,須瞭解例示實施例僅作為範例,及該方法可以不同排序進行,及有些動作可並列地進行。此外,於各種實施例中,一或多個動作可經刪除;如此,並非每個實施例中皆要求全部動作。其它方法流程亦屬可能。
至本文中描述的各種操作或功能的程度,其可被描述或界定為軟體代碼、指令、組態、及/或資料。內容可以是可被直接執行(「目標」或「可執行」形式)、來源代碼、或差分代碼(「△」或「補塊」代碼)。本文中描述的實施例之軟體內容可透過有內容儲存其上的製造物件提供,或透過操作通訊介面以透過通訊介面發送資料的方法提供。機器可讀取儲存媒體可使得機器進行所描述之功能或操作,及包括以由機器(例如,計算裝置、電子系統等)
可存取之形式儲存資訊,諸如可錄式/非可錄式媒體(例如,唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃記憶體裝置等)。通訊介面包括介接有線、無線、光學等媒體以通訊至另一裝置中之任一者的任何機構,諸如記憶體匯流排介面、處理器匯流排介面、網際網路連結、碟片控制器等。通訊介面可經組配以藉由提供組態參數及/或發送信號以準備通訊介面而提供描述該軟體內容的資料信號。通訊介面可透過發送給通訊介面的一或多個指令或信號存取。
本文中描述的各種組件可以是進行所描述之操作或功能的構件。本文中描述的各個組件包括軟體、硬體、或此等之組合。該等組件可以軟體模組、硬體模組、特用硬體(例如,特定應用硬體、特定應用積體電路(ASIC)、數位信號處理器(DSP)等)、嵌入式控制器、有線電路等實施。
除了本文中描述者之外,不背離其範圍,可對所揭示之本發明之實施例及實施方式進行各種修改。因此,本文中之例示及實例須以例示性解譯,而非限制性意義。本發明之範圍須只參照如下申請專利範圍度量。
102:系統
110:主機
112:中央處理單元(CPU)
114:晶片組
120:固態硬碟(SSD)
130:控制器
132:N平面介面
140:2N平面NV媒體
Claims (18)
- 一種固態硬碟,包含:一非依電性儲存裝置,包括一第二數目平面之記憶體胞元;及一控制器,包括耦合至該非依電性儲存裝置的一硬體介面,該硬體介面用以提供對在該非依電性儲存裝置中之一第一數目平面之記憶體胞元之存取,該第一數目平面之記憶體胞元之第一數目不同於該第二數目平面之記憶體胞元之第二數目;其中該控制器與該非依電性儲存裝置間之一資料存取交易包括連續的第一及第二指令序列,用以存取該第一數目平面之記憶體胞元之每對該第一及第二指令序列一體地被解譯為用以存取該第二數目平面之記憶體胞元之一單一指令序列,並且其中該非依電性儲存裝置要忽略與該第一指令序列相關聯的一第一執行指令,及回應於與該第二指令序列相關聯的一第二執行指令而執行該第一及第二指令序列。
- 如請求項1之固態硬碟,其中該非依電性儲存裝置包含一四-平面儲存裝置,且其中該控制器包括一雙-平面硬體介面。
- 如請求項1之固態硬碟,其中該資料存取交易包含自該控制器向該非依電性儲存裝置之一寫入。
- 如請求項3之固態硬碟,進一步包含該控制器以在該第一指令序列之前設定該非依電性儲存裝置為 一第一組態,及在該第一指令序列與該第二指令序列間設定該非依電性儲存裝置為一第二組態。
- 如請求項1之固態硬碟,其中該執行指令包含一確認指令。
- 如請求項1之固態硬碟,其中該資料存取交易包含自該非依電性儲存裝置向該控制器之一讀取。
- 如請求項6之固態硬碟,進一步包含該非依電性儲存裝置生成第一及第二指令序列,該第一及第二指令序列各自要去存取該第一數目平面之記憶體胞元以將該第二數目平面之記憶體胞元之資料轉移至該控制器。
- 如請求項6之固態硬碟,進一步包含該非依電性儲存裝置發送一第三指令序列以存取該第二數目平面之記憶體胞元,該控制器將該第三指令序列解譯成一對第一及第二指令序列,該第一指令序列及該第二指令序列之每一者用以存取該第一數目平面之記憶體胞元。
- 一種計算系統,包含:一多核心處理器,其用以執行指令;一依電性記憶體裝置,其用以儲存要由該處理器所執行的資料;及耦合至該處理器及該依電性記憶體裝置的一固態硬碟,該固態硬碟包括一非依電性儲存裝置,其包括一第二數目平面之記憶體胞元;及一控制器,其包括耦合至該非依電性儲存裝置的 一硬體介面,該硬體介面用以提供對在該非依電性儲存裝置中之一第一數目平面之記憶體胞元之存取,該第一數目平面之記憶體胞元之第一數目不同於該第二數目平面之記憶體胞元之第二數目;其中該控制器與該非依電性儲存裝置間之一資料存取交易包括連續的第一及第二指令序列,用以存取該第一數目平面之記憶體胞元之每對該第一及第二指令序列一體地被解譯為用以存取該第二數目平面之記憶體胞元之一單一指令序列,並且其中該非依電性儲存裝置要忽略與該第一指令序列相關聯的一第一執行指令,及回應於與該第二指令序列相關聯的一第二執行指令而執行該第一及第二指令序列。
- 如請求項9之計算系統,其中該資料存取交易包含自該控制器向該非依電性儲存裝置之一寫入,及進一步包含該控制器用以在該第一指令序列之前設定該非依電性儲存裝置為一第一組態,及用以在該第一指令序列與該第二指令序列間設定該非依電性儲存裝置為一第二組態。
- 如請求項9之計算系統,其中該資料存取交易包含自該控制器向該非依電性儲存裝置之一寫入。
- 如請求項9之計算系統,其中該資料存取交易包含自該非依電性儲存裝置向該控制器之一讀取,及進一步包含該非依電性儲存裝置生成一對第一及第二指令 序列,該第一指令序列及該第二指令序列各自用以存取該第一數目平面之記憶體胞元以一體地將該第二數目平面之記憶體胞元之資料轉移至該控制器。
- 如請求項9之計算系統,進一步包含下列中之一或多者經耦合以在該記憶體模組與一遠端網路位置間交換資料的一網路配接器;通訊式耦合至該處理器之一顯示器;或用以供電該計算系統之一電池。
- 一種用於儲存資料之方法,包含:在進行一第一資料存取交易以致使一非依電性儲存裝置要忽略該第一資料存取交易之一執行命令之前,從具有一硬體介面的一控制器發送一第一組態設定至該非依電性儲存裝置,該硬體介面用以提供對該非依電性儲存裝置之一第一數目平面之記憶體胞元的存取,該非依電性儲存裝置具有一第二數目平面之記憶體胞元;從該控制器發送該第一資料存取交易至該非依電性儲存裝置,其中該第一資料存取交易要去定址該第一數目平面之記憶體胞元,該第一數目平面之記憶體胞元之第一數目不同於該第二數目平面之記憶體胞元之第二數目;及從該控制器發送要去定址該第一數目平面之記憶體胞元之一連續的第二資料存取交易至該非依電性儲存裝置;其中該非依電性儲存裝置要去將連續的該第一及第 二資料存取交易解譯為一用以存取該第二數目平面之記憶體胞元之一第三資料存取交易。
- 如請求項14之方法,其中該第二數目平面之記憶體胞元係該第一數目平面之記憶體胞元之兩倍。
- 如請求項14之方法,進一步包含:於該第一資料存取交易與該第二資料存取交易間從該控制器發送一第二組態設定至該非依電性儲存裝置,以使得該非依電性儲存裝置要去執行該第二資料存取交易之一執行指令。
- 如請求項14之方法,其中發送該第一組態設定係用以使得該非依電性儲存裝置要去忽略該第一資料存取交易之一確認指令。
- 如請求項14之方法,其中發送該第一組態設定係用以使得該非依電性儲存裝置要去忽略該第一資料存取交易之執行指令及自動地清除該第一組態設定。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/087,071 US10175903B2 (en) | 2016-03-31 | 2016-03-31 | N plane to 2N plane interface in a solid state drive (SSD) architecture |
| US15/087,071 | 2016-03-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201737099A TW201737099A (zh) | 2017-10-16 |
| TWI743085B true TWI743085B (zh) | 2021-10-21 |
Family
ID=59961156
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106104619A TWI743085B (zh) | 2016-03-31 | 2017-02-13 | 固態硬碟、計算系統及用於儲存資料之方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10175903B2 (zh) |
| DE (1) | DE112017001623T5 (zh) |
| TW (1) | TWI743085B (zh) |
| WO (1) | WO2017172221A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11783893B2 (en) | 2020-12-23 | 2023-10-10 | Intel Corporation | Utilizing NAND buffer for DRAM-less multilevel cell programming |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090157964A1 (en) * | 2007-12-16 | 2009-06-18 | Anobit Technologies Ltd. | Efficient data storage in multi-plane memory devices |
| US20120198131A1 (en) * | 2011-01-31 | 2012-08-02 | Phison Electronics Corp. | Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same |
| WO2015134941A1 (en) * | 2014-03-06 | 2015-09-11 | Graphite Systems, Inc. | Multiprocessor system with independent direct access to bulk solid state memory resources |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7827348B2 (en) | 2000-01-06 | 2010-11-02 | Super Talent Electronics, Inc. | High performance flash memory devices (FMD) |
| US7870363B2 (en) | 2007-12-28 | 2011-01-11 | Intel Corporation | Methods and arrangements to remap non-volatile storage |
| US8195891B2 (en) | 2009-03-30 | 2012-06-05 | Intel Corporation | Techniques to perform power fail-safe caching without atomic metadata |
| US20130024602A1 (en) | 2011-07-18 | 2013-01-24 | Dell Products L.P. | Universal Storage for Information Handling Systems |
| KR101692417B1 (ko) | 2011-12-29 | 2017-01-05 | 인텔 코포레이션 | 다이렉트 액세스를 갖는 다중-레벨 메모리 |
| US9329989B2 (en) | 2011-12-30 | 2016-05-03 | SanDisk Technologies, Inc. | System and method for pre-interleaving sequential data |
| US9195584B2 (en) | 2012-12-10 | 2015-11-24 | Sandisk Technologies Inc. | Dynamic block linking with individually configured plane parameters |
| US9690491B2 (en) | 2014-12-17 | 2017-06-27 | Sandisk Technologies Llc | System and method for managing data in a memory device |
| US20160188519A1 (en) | 2014-12-27 | 2016-06-30 | Intel Corporation | Method, apparatus, system for embedded stream lanes in a high-performance interconnect |
| KR20160094186A (ko) | 2015-01-30 | 2016-08-09 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 제조방법 |
-
2016
- 2016-03-31 US US15/087,071 patent/US10175903B2/en active Active
-
2017
- 2017-02-13 TW TW106104619A patent/TWI743085B/zh active
- 2017-03-01 DE DE112017001623.1T patent/DE112017001623T5/de active Pending
- 2017-03-01 WO PCT/US2017/020257 patent/WO2017172221A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090157964A1 (en) * | 2007-12-16 | 2009-06-18 | Anobit Technologies Ltd. | Efficient data storage in multi-plane memory devices |
| US20120198131A1 (en) * | 2011-01-31 | 2012-08-02 | Phison Electronics Corp. | Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same |
| WO2015134941A1 (en) * | 2014-03-06 | 2015-09-11 | Graphite Systems, Inc. | Multiprocessor system with independent direct access to bulk solid state memory resources |
Also Published As
| Publication number | Publication date |
|---|---|
| US10175903B2 (en) | 2019-01-08 |
| WO2017172221A1 (en) | 2017-10-05 |
| TW201737099A (zh) | 2017-10-16 |
| US20170285991A1 (en) | 2017-10-05 |
| DE112017001623T5 (de) | 2018-12-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11403044B2 (en) | Method and apparatus for performing multi-object transformations on a storage device | |
| TWI546672B (zh) | 用於低電力記憶體裝置之通用晶粒實作技術 | |
| CN109313617B (zh) | 负载减少的非易失性存储器接口 | |
| US9436630B2 (en) | Using dual phys to support multiple PCIe link widths | |
| TWI835837B (zh) | 多裝置的配對系統及配對方法 | |
| TWI615767B (zh) | 整合式行動桌面及其操作方法 | |
| TWI614608B (zh) | 用於觸控感測器資訊的通訊之設備、系統及方法 | |
| US20110302357A1 (en) | Systems and methods for dynamic multi-link compilation partitioning | |
| KR20060132847A (ko) | 상호-모듈 메모리 액세스를 가지는 다중 모듈 회로 카드 | |
| KR20190011732A (ko) | 컴퓨팅 장치의 분리가능한 부분을 위한 이중 역할 가능 커넥터 | |
| TWI593263B (zh) | 用於分享跨多個協定之實體層邏輯的設備、系統及方法 | |
| US20190227884A1 (en) | Data loss prevention for integrated memory buffer of a self encrypting drive | |
| US11783893B2 (en) | Utilizing NAND buffer for DRAM-less multilevel cell programming | |
| CN1331037C (zh) | 一种具有多重接口功能的存储卡及其传输模式选择方法 | |
| CN104021809A (zh) | Usb存储器 | |
| CN104737141B (zh) | 基于设备的条件配置信号 | |
| TWI743085B (zh) | 固態硬碟、計算系統及用於儲存資料之方法 | |
| CN110221993A (zh) | 用于支持50g或100g以太网速度的模块化系统 | |
| CN103902301A (zh) | 读取bios的方法、装置以及处理器 | |
| CN109557846B (zh) | 检测识别电路、其检测识别方法及电子设备 | |
| US20140006650A1 (en) | System and method for generating a virtual pci-type configuration space for a device | |
| KR20160081852A (ko) | 스토리지 제어 메커니즘을 구비한 전자 시스템 및 그것의 동작 방법 | |
| CN115454894A (zh) | 数据访问方法、电子设备及存储介质 | |
| TW201837730A (zh) | 改善伺服器模組定址之系統、方法及電腦可讀取儲存裝置 |