TWI500040B - 快閃記憶體控制器 - Google Patents
快閃記憶體控制器 Download PDFInfo
- Publication number
- TWI500040B TWI500040B TW097137662A TW97137662A TWI500040B TW I500040 B TWI500040 B TW I500040B TW 097137662 A TW097137662 A TW 097137662A TW 97137662 A TW97137662 A TW 97137662A TW I500040 B TWI500040 B TW I500040B
- Authority
- TW
- Taiwan
- Prior art keywords
- period
- memory devices
- timing
- implementations
- read
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- 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
-
- 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
-
- 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
-
- 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/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/061—Improving I/O performance
-
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
-
- 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/0653—Monitoring storage devices or 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明一般係關於記憶體裝置。
許多電子裝置都包含嵌入式系統,其具備中央處理器單元(CPU,“central processor unit”)來控制該等裝置的運作來提供大幅增強的功能性與操作彈性。一般而言,包含非揮發性記憶體成為該嵌入式系統的一部分,來儲存用於操作該嵌入式系統的作業系統程式碼和資料。近來,嵌入式系統已經使用快閃記憶體當成非揮發性記憶體。快閃記憶體具備可重新程式編輯,同時提供資訊非揮發性儲存之優點。
本發明提供一種於一或多個快閃記憶體裝置之間實施輪詢處理之方法、系統及電腦程式產品。在某些實施當中,該輪詢處理可包含將一讀取狀態指令傳送至一快閃記憶體裝置,來偵測該快閃記憶體裝置的讀取或忙碌狀態。該快閃記憶體裝置內可包含一狀態暫存器,用於儲存指出一寫入(或抹除)操作執行狀態的狀態信號。一固態磁碟機系統可藉由讀取該快閃記憶體裝置的快閃暫存器來執行該輪詢處理。
在某些實施當中,說明一種方法,其包含主張一控制信號至一或多裝置;決定認定該控制信號之後一初始等待時間;根據該初始等待時間發出一第一指令;決定與該第一指令相關聯的一第一間隔時間和一第二指令;以及根據該第一間隔時間發出該第二指令。
在某些實施當中,說明一種方法,其包含控制複數
個記憶體裝置,該裝置包含一第一組記憶體裝置和一第二組記憶體裝置;決定與該第一組記憶體裝置相關聯的一第一週期;根據該第一週期發出一第一指令至該第一組記憶體裝置;決定與該第二組記憶體裝置相關聯的一第二週期;以及根據該第二週期發出一第二指令至該第二組記憶體裝置。
在某些實施當中,說明一種裝置,其包含一第一可程式編輯計時器,用於指定與發出一或多指令到至少一裝置相關聯之一初始等待時間;以及一第二可程式編輯計時器,用於指定一間隔時間來控制每一已發出指令之間的一週期。
在某些實施當中,說明一種裝置,其包含一匯流排,用於接收一或多至一或多記憶體裝置的指令,並且用於根據該發出的指令控制該一或多記憶體裝置;以及一記憶體控制器,用於執行資料輪詢,同時利用該一或多記憶體裝置處理該發出的指令。
以下在附圖及說明中提出本發明之一或多個具體實施例之細節。從說明與圖式以及申請專利範圍中將明白本發明之其他特徵、目的與優點。
像是快閃可電抹除可程式唯讀記憶體(EEPROM,“electrically erasable programmable read only memory”)這類記憶體裝置的使用已經更加廣泛,例如:跳躍磁碟機、記憶卡和其他非揮發性記憶體設備在相機、電視遊樂器、電腦和其他電子裝置內非常普遍。第一圖顯示一記憶體陣列100的方塊圖。
如第一圖所示,一記憶體陣列100可用位元來組
織。例如:記憶體陣列100可包含8位元深度108。記憶體陣列100也可用位元組來組織。例如:記憶體陣列100可包含內含2k位元組的部分104和內含64位元組的部分106。記憶體陣列100可進一步組織成分頁。例如:記憶體陣列100可包含512k分頁102。一單一分頁112可組織成兩個部分:一第一部分114(例如代表2k位元組的部分104)和一第二部分116(例如代表64位元的部分106)。第二部分116一般對應至一個八位元寬的資料輸入/輸出(I/O)路徑(例如I/O[0]至I/O[7])。甚至進一步,記憶體陣列100可排列在單節內。例如:記憶體陣列100可包含一單節110,其等於64個分頁。在這之中,使用該等前述位元、位元組、分頁和單節可形成8Mb記憶體裝置。
第一圖顯示的記憶體陣列可配置成一快閃記憶體。在某些實施當中,該快閃記憶體可為一「NAND」型快閃記憶體。NAND快閃記憶體一般具有較快的抹除與寫入時間、較高密度、每位元較低的成本以及比NOR型快閃記憶體更耐用。NAND快閃記憶體可與一NAND快閃I/O介面耦合。不過,該NAND快閃I/O介面通常只允許依序存取資料。當然,第一圖顯示的記憶體陣列也可為NOR快閃EEPROM、AND快閃EEPROM、DiNOR快閃EEPROM、序列快閃EEPROM、DRAM、SRAM、ROM、EPROM、FRAM、MRAM或PCRAM任一的形式。
一NAND快閃I/O介面可包含多個接腳,每一都對應至一特殊功能。表1內顯示一範例介面。
如上面表1所示,許多接腳功能可對應至介面內指定的接腳。
資料讀取操作的範例時序圖
第二A圖顯示在資料讀取操作期間與一NAND快閃介面內每一接腳相關聯之範例時序圖。請參閱第二A圖,區域202表示一或多個指令已經傳送至一快閃記憶體裝置的週期,而區域204則表示資料已經傳輸至/來自該快閃記憶體裝置的週期。如所示,寫入啟用信號「WE_」可具備脈衝(例如週期25ns),允許行位址(例如RA1、RA2和RA3)以及列位址(例如CA1和CA2)資訊鎖定在該NAND快閃記憶體裝置內。資料進/出I/O[7:0]接腳上出現的指令「00h」指出一讀取位址輸入,同時指令「3 Oh」指出一讀取開始。
在此也可使用其他指令。例如:其他記憶體指令可包含但不受限於讀取操作、寫入操作、抹除操作、讀取狀態操作、讀取ID操作、寫入組態暫存操作、寫入位址操作以及重置操作。例如:指令「05h」可表示一隨機資料讀取指令、指令「10h」表示一分頁程式指令、指令「20h」表示一晶片抹除指令、指令「21h」表示一區段抹除指令、指令「30h」表示一讀取開始指令、指令「35h」表示一分頁讀取複製指令、指令「39h」表示一寫入裝置位址指令、指令「60h」表示一單節抹除指令、指令「70h」表示一讀取狀態指令、指令「80h」表示一序列資料輸入(寫入器至緩衝器)指令、指令「85h」表示一隨機資料輸入指令、指令「8Fh」表示一目標位址輸入複製指令、指令「90h」表示一讀取裝置類型指令、指令「A0h」表示一寫入組態暫存指令、指令「C0h」表示一程式編輯/抹除中止指令、指令「D0h」表示一程式編輯/抹除指令並且「FFh」表示重置指令,這只是一些範例。
底下表2顯示該資料進/出接腳(例如I/O[7:0])上行和列位址多工範例。
在某些實施當中,較高位址位元可用於定址較大記憶體配置(例如A30用於2Gb、A31用於4Gb、A32用於8Gb、A33用於16Gb、A34用於32Gb、A35用於64Gb等等)。
另一方面,在讀取啟用信號「RE_」脈衝之下,可從該NAND快閃記憶體裝置中讀取像是Dout
N、Dout
N+1、Dout
N+2、...Dout
M的資料。一特定邏輯狀態內的備妥/忙碌輸出信號「R/B_」可指示該輸出是否忙碌。例如:一低邏輯狀態內的備妥/忙碌輸出信號「R/B_」可指示該輸出上的忙碌狀態。在此範例中,備妥/忙碌輸出信號「R/B_」可在寫入啟用信號「WE_」的最後上升邊緣之後某些時間週期內成為邏輯高狀態(即是變成指示一備妥狀態的邏輯高狀態)。
如所示,指出讓一資料從一單元傳輸至一內部分頁緩衝區的資料傳輸時間之「tR」週期可橫跨從讀取開始指令「30h」至備妥/忙碌輸出信號「R/B」的上升邊緣,並且指出讀取資料的讀取時間。在某些實施當中,「tR」週期可決定用於READ操作的固態磁碟機系統(例如第三圖所示的固態磁碟機系統300)之效能。在某些實施當中,一長「tR」週期表示在該控制器可取得READ資料之前對於一固態控制器(例如固態控制器308)有更長的等待時間。
在資料備妥之前,該NAND快閃I/O介面會閒置並且消耗不必要的頻寬。如此,吾人想要恆定將該NAND快閃I/O介面維持在一忙碌狀態來達成頻寬。例如:若
該NAND快閃I/O介面以tRC=25ns來運行,則一可達到頻寬的上限可為40MB/S(例如根據8位元資料匯流排所使用的消耗量,並且該NAND快閃記憶體具備無限制的頻寬,如此資料可持續從該NAND快閃記憶體傳送至該固態控制器)。不過,在讀取資料返回固態磁碟機之前,此目的可能難以達成已知的「tR」週期來從一NAND快閃記憶體內一記憶體單元讀取一分頁至一內部緩衝區。
如此,在某些實施當中,一單一通道內附帶多個裝置(例如多個晶片啟動信號)而分享一相同NAND快閃I/O介面,如此盡可能涵蓋該「tR」時間同時允許相同通道的至少一個裝置獲得資料。
在某些實施當中,該資料傳輸時間在一單層單元(SLC,“single level cell”)裝置上大約25μs的範圍內,或在一多層單元(MLC,“multi-level cell”)裝置上大約60μs的範圍內,底下會有更詳細討論。在該「tR」週期期間,備妥/忙碌輸出信號「R/B_」可認定為一邏輯「0」,指出該快閃記憶體位於一忙碌狀態,在此間資料無法寫入或抹除。
單層單元和多層單元裝置簡介
一記憶體裝置內的每一單元都可程式編輯成每單元一單一位元(即是單層單元--SLC)或每單元多位元(即是多層單元--MLC)。每一單元的臨界電壓一般決定儲存在該單元內的資料類型,例如:在一SLC記憶體裝置內,0.5V的臨界電壓指出一已程式編輯的單元(即是邏輯「0」狀態),而-0.5V的臨界電壓則指出一已抹除的
單元(即是邏輯「1」狀態)。
隨著電子系統的效能與複雜程度增加,一系統內額外記憶體的需求也增加。不過,為了繼續降低該系統成本,該等相關部件一般必須維持最小。在一記憶體應用當中,這可由利用增加一積體電路的記憶體密度來達成。尤其是,藉由使用MLC記憶體裝置可增加記憶體密度。MLC記憶體裝置可增加一積體電路內儲存的資料量,而不需要增加額外的單元和/或增加該晶粒大小。MLC記憶體裝置在每一記憶體單元內可儲存二或更多個資料位元,不過MLC記憶體裝置需要緊密控制該臨界電壓,以便每一單元使用多重臨界位階。非揮發性記憶體單元的一項問題為其間隔緊密,MLC尤為甚,屬於浮動閘至浮動閘耦合會導致單元之間干擾。此干擾會在一個單元程式編輯時移動相鄰單元的臨界電壓。
部分是因為需要更緊密間隔臨界電壓的狀態數量增加,造成MLC記憶體也具有比SLC記憶體裝置還低的可靠度。例如:一記憶體裝置內用於儲存相片的壞位元比一記憶體裝置內用於儲存程式碼的壞位元更容易容忍。一相片內的壞位元可能只產生數百萬畫素中的一個壞畫素,不過程式碼或其他資料內的壞位元意味著一指令毀壞,這會影響到整個程式的操作。
一MLC記憶體裝置具有二或多個臨界電壓分佈,並且具有對應至該電壓分佈的二或更多個資料儲存狀態。例如:可程式編輯2位元資料的MLC記憶體裝置具有四個資料儲存狀態(例如[11]、[10]、[01]和[00])。這些狀態可對應至該MLC記憶體裝置的臨界電壓分佈,例如:假設該記憶體單元的個別臨界電壓分佈為-2.7
V或以下、0.3V至0.7V、1.3V至1.7V以及2.3V至2.7V,則狀態[11]、[10]、[01]和[00]分別對應至-2.7V或以下、0.3V至0.5V、1.3V至1.7V以及2.3V至2.7V。
具備多層單元的快閃記憶體裝置之讀取操作可利用偵測一多層單元的資料來執行。根據可包含例如:根據一定量位元線電流與一階梯狀波形的字線電壓,決定流過所選記憶體單元的單元電流間之差異。
具備多層單元的快閃記憶體裝置之程式編輯操作可利用一預定的程式編輯電壓供應至所選記憶體單元的閘道,然後將一接地電壓供應至該位元線來執行。然後,一電源供應電壓可供應至該位元線,以避免進行程式編輯。若該程式編輯電壓和該接地電壓分別供應至所選記憶體單元的字線與位元線,則會在一浮動閘與該記憶體單元通道之間供應相當高的電場。由於此電場,該通道的電子通過在該浮動閘與該通道之間形成的氧化物層,如此其中發生穿隧。在此方式中,可增加利用該浮動閘內該等電子累積來程式編輯的記憶體單元臨界電壓。
資料分頁操作的示例性時序圖
第二B圖顯示在一資料程式編輯操作期間與一NAND快閃介面內每一接腳相關聯之範例時序圖。請參閱第二B圖,區域206表示一或多個指令已經傳送至一快閃記憶體裝置的週期,而區域208則表示程式編輯資料可被傳送至該快閃記憶體裝置的週期,並且區域210則表示一狀態檢查可被傳送至該快閃記憶體裝置來檢
查該記憶體裝置狀態之週期。
如所示,資料進/出I/O[7:0]接腳上出現的指令「80h」指出序列資料輸入(例如Din
N...Din
M)。指令「10h」可指示一自動程式編輯,接著由指令「70h」所指示的狀態讀取。I/O[0]="0"指出一非錯誤情況,而I/O[0]=“1”則指出自動程式編輯內已經發生錯誤。
另外,根據已經討論過的,備妥/忙碌輸出信號「R/B_」可為邏輯低狀態,指出一忙碌狀態。在某些實施當中,備妥/忙碌輸出信號「R/B_」的低邏輯狀態期間範圍在數百μs內。另外,讀取啟用信號「RE_」的上升邊緣可在一段時間之後接著寫入啟用信號「WE_」的上升邊緣。在某些實施當中,此時間週期可在大約60ns的範圍內。
另外,如第二B圖所示,橫跨從該尾端邊緣至/忙碌輸出信號「R/B_」上升邊緣的時序週期「tPRG」可指出用於程式編輯資料的程式編輯時間。在某些實施當中,程式編輯時間「tPRG」在針對一SLC裝置時在大約200μs至大約700μs的範圍內,而在針對一MLC裝置時在大約800μs至大約3ms的範圍內。
在某些實施當中,程式編輯時間「tPRG」類似於「t4」週期,但是用於程式編輯資料時與用於讀取資料時相反。在「tPRG」週期期間,備妥/忙碌輸出信號「R/B_」可認定為一邏輯「0」,指出該快閃記憶體位於一忙碌狀態,在此間資料無法讀取或抹除。
單節抹除操作的示例時序圖
第二C圖顯示在一單節抹除操作期間與一NAND
快閃介面內每一接腳相關聯之範例時序圖。請參閱第二C圖,區域212表示一或多個指令已經傳送至一快閃記憶體裝置的週期,而區域214則表示一狀態檢查已經傳送至該快閃記憶體裝置來檢查該記憶體裝置狀態的週期。
如所示,資料進/出I/O[7:0]接腳上出現的指令「60h」指出一單節抹除操作,其中已經供應序列行位址(例如RA 1、RA 2和RA 3)。指令「D0h」可指出一循環2單節抹除操作。該單節抹除操作可利用一狀態讀取(指令「70h」)來檢查,其中I/O[0]=「0」指出一非錯誤情況,而I/O[0]=「1」則指出一單節抹除內已經發生錯誤。
在此範例中,備妥/忙碌輸出信號「R/B_」可在時序週期中為邏輯低狀態,像是在大約毫秒的範圍內(例如具有一預定最大值)。類似地,讀取啟用信號「RE_」的上升邊緣可接著寫入啟用信號「WE_」的上升邊緣。根據其他範例,寫入啟用信號「WE_」之上升邊緣對應至「D0h」指令,而備妥/忙碌輸出信號「R/B_」的下降邊緣可位於大約100ns的範圍內。
另外,如第二C圖所示,橫跨從該尾端邊緣至備妥/忙碌輸出信號「R/B_」上升邊緣的時序週期「tBERS」可指出用於抹除單節資料的單節抹除時間。
在某些案例中,除了傳送一或多個單節抹除指令以外(或若不使用讀取一備妥/忙碌輸出信號「R/B_」時的讀取狀態指令),一單節抹除操作並不需要進出該NAND快閃I/O介面。一固態磁碟機系統的效能間接取決於該單節抹除操作。在特定案例當中,在一單節抹除操作的
最開頭,該磁碟機可決定一些已抹除的分頁可用於資料程式編輯。結果,該磁碟機可維護一程式編輯操作而不需要執行一單節抹除操作。不過,隨著該磁碟機內儲存的資料跟著該磁碟機的操作而修改,可用於資料程式編輯的分頁變少了,如此該磁碟機應該需要執行一或多次單節抹除操作以清空分頁用於資料程式編輯。如此,一長「tBERS」週期應該產生一較長的等待週期,讓該固態磁碟機系統接受該PROGRAM指令。換言之,一單節抹除操作在該整體磁碟機效能上的衝擊絕大部分取決於由該韌體(例如韌體324)所處置的垃圾收集機制。
在某些實施當中,單節抹除時間「tBERS」在針對一SLC裝置時在大約1.5ms至大約2ms的範圍內,而在針對一MLC裝置時在大約1.5ms至大約10ms的範圍內。在「tBERS」週期期間,備妥/忙碌輸出信號「R/B_」可認定為一邏輯「0」,指出該快閃記憶體位於一忙碌狀態,在此間資料無法讀取或寫入。
固態磁碟機
第三圖顯示一範例固態磁碟機系統300。如第三圖所示,系統300包含一個主機302和一個固態磁碟機304。固態磁碟機304可包含一個主機介面310、中央處理器單元(CPU)323、一個記憶體控制器介面328、一個記憶體控制器330和一或多個快閃記憶體裝置306a-306d。
主機302可透過主機介面310與固態磁碟機304通訊。在某些實施當中,主機介面310包含一個序列先進技術附加(SATA,“serial advanced techonology
attachment”)介面或並列先進技術附加(PATA,“parallel advanced techonology attachment”)介面。一SATA介面或PATA介面分別用於將序列或並列資料轉換成並列或序列資料。例如:若主機介面310包含一SATA介面,則該SATA介面可透過一匯流排303(例如SATA匯流排)接收從主機302轉移來的序列資料,並將接收的資料轉換成並列資料。在其他實施當中,主機介面310可包含一複合介面。在這些實施當中,該複合介面可用於例如與一序列介面結合。
在某些實施當中,主機介面310可包含一或多暫存器,其中可暫時儲存來自主機302的操作指令和位址。主機介面310可將一寫入或讀取操作通訊至一固態控制器308,以回應該(等)暫存器內儲存的資訊。
在某些實施當中,固態磁碟機304可包含一或多個通道326a-326d(例如四或八個通道),並且每一通道都可配置成接收來自主機302或來自快閃記憶體306a-306d的一或多個控制信號(例如四晶片啟用信號)。
快閃記憶體裝置
在某些實施當中,每一快閃記憶體裝置306都可包含非揮發性記憶體(例如一單層快閃記憶體或一多層快閃記憶體)。在某些實施當中,該非揮發性快閃記憶體可包含一NAND型快閃記憶體模組。一NAND型快閃記憶體模組包含一個指令/位址/資料多工介面,如此可透過對應的輸入/輸出接腳提供指令、資料和位址。使用NAND型快閃記憶體的優點,與一硬碟方式相反,包含:(i)開機與恢復時間更快速;(ii)電池使用時間較長(例如
用於無線應用)以及(iii)較高的資料可靠度。
在某些實施當中,每一快閃記憶體裝置都可連接至通道326。每一通道都可例如支援一或多個輸入與輸出線、晶片選擇信號線、晶片啟用信號線等等。該通道也可支援其他信號線,像是寫入啟用、讀取啟用、備妥/忙碌輸出以及重置信號線。在某些實施當中,該等快閃記憶體裝置306a-306d可分享一共用通道。在其他實施當中,若要增加相似程度,每一快閃記憶體裝置都可具有自己的通道連接至固態磁碟機304。例如:快閃記憶體裝置306a可使用通道326a連接至固態磁碟機304;快閃記憶體裝置306b可使用通道326b連接至固態磁碟機304;快閃記憶體裝置306c可使用通道326c連接至固態磁碟機304;並且快閃記憶體裝置306d可使用通道326d連接至固態磁碟機304。
在某些實施當中,快閃記憶體裝置306a-306d可分離。在某些實施當中,快閃記憶體裝置306a-306d可使用標準連接器連接至固態磁碟機304。標準連接器的範例包含但不受限於SATA、USB(萬用序列匯流排)、SCSI(小型電腦系統介面)、PCMCIA(個人電腦記憶卡國際協會)以及IEEE-1394(Firewire)。
在某些實施當中,每一快閃記憶體裝置306都可包含排成列的一或多個固態儲存元件。一固態儲存元件可分割成分頁。在某些實施當中,一固態儲存元件具有2000位元組的容量(即是一個分頁)。在某些實施當中,一固態儲存元件可包含兩個暫存器,提供4000位元組(即是4kB)的總容量。
在某些實施當中,每一快閃記憶體裝置306也可包
含一或多列,每列都使用一晶片啟用信號或晶片選擇信號來選擇。該晶片啟用或晶片選擇信號可選擇一或多個固態儲存元件,以回應一主機指令。
在某些實施當中,每一固態儲存元件都可包含一或多個單層單元(SLC,“single level cell”)裝置。在某些實施當中,每一固態儲存元件都可包含一或多個多層單元(MLC,“multi-level cell”)裝置。該等SLC或MLC裝置可使用一晶片啟用或晶片選擇信號來選擇,這些信號可由固態控制器308使用接收自主機302的控制與位址資訊之組合來產生。
在某些實施當中,在使用多列之處,固態磁碟機304可同時存取一相同快閃記憶體裝置內一或多列。在某些實施當中,固態磁碟機304可同時存取不同快閃記憶體裝置內不同列。存取超過一列的能力允許固態磁碟機304完整利用可用的資源和通道326a-326d,以增加固態磁碟機304的整體效能。更進一步,在快閃記憶體裝置306a-306d分享一相同記憶體輸入/輸出線和控制信號(例如晶片啟用信號)之處,固態控制器308的接腳數量可減少,來將製造固態磁碟機304的成本降至最低。
固態控制器
固態控制器308可接收一或多個服務要求或指令(例如讀取和程式編輯要求)。固態控制器308可配置成處理任何指令、狀態或控制要求,來存取快閃記憶體裝置306a-306d。例如:固態控制器308可配置成管理和控制儲存裝置,並擷取快閃記憶體裝置306a-306d內的資料。
在某些實施當中,固態控制器308在一微處理器(未顯示)的控制下屬於一微處理器系統的一部分。固態控制器308可控制主機302與固態磁碟機304之間指令與資料的流動。在某些實施當中,固態控制器308可包含唯讀記憶體(ROM,“read only memory”)、隨機存取記憶體(RAM,“random access memory”)以及其他內部電路。在某些實施當中,固態控制器308可設置成支援與快閃記憶體裝置306a-306d相關聯的許多功能,像是(並無限制)診斷快閃記憶體裝置306a-306d、傳送指令(例如啟動、讀取、程式編輯、抹除、預先充能與更新指令)至快閃記憶體裝置306a-306d以及接收來自快閃記憶體裝置306a-306d的狀態,在一不同晶片上或一相同晶片上可形成固態控制器308當成快閃記憶體裝置306a-306d(例如在一相同晶片上形成為固態磁碟機304)。快閃記憶體裝置306a-306d可與記憶體介面328耦合。在某些實施當中,若快閃記憶體裝置306a-306d包含NAND型記憶體裝置,則記憶體介面328可為一NAND快閃輸入/輸出介面。
如第三圖所示,固態控制器308可包含一個錯誤檢查碼模組312、介面邏輯314、一個定序器316和一個格式化程式318。在某些實施當中,固態控制器308可與包含嵌入式韌體324的CPU 323耦合,該韌體可由固態控制器308所控制。CPU 323可包含一個微處理器、一個信號處理器(例如數位信號處理器)或微控制器。在某些實施當中,具有嵌入式韌體324的CPU 323可存在於固態磁碟機304之外。
在某些實施當中,固態磁碟機304(和/或主機302)
可固定在一晶片上系統(SOC,“system on chip”)之上。在這些實施當中,可使用例如數位處理來製造該SOC。該SOC可包含與固態磁碟機304內分離的嵌入式處理系統(例如一嵌入式CPU)。該SOC也可包含用於處理程式碼和資料的SRAM、系統邏輯、快取記憶體和快取控制器。與該嵌入式處理系統相關聯的程式碼和資料可儲存在快取裝置306a-306d內,並且透過例如一SOC介面通訊至該SOC。該SOC介面可由一轉譯器用來轉譯該SOC的介面與內部匯流排結構之間流動之資訊。控制信號可從該SOC流向快閃裝置306a-306d,而在讀取操作期間指令和資料可從快閃裝置308流量該SOC。指令和資料也可流向快閃裝置306a-306d,像是當快閃裝置306a-306d內的主記憶體處於WRITE操作當中時。
在某些實施當中,快閃裝置306a-306d可由記憶體控制器330控制。主機302可透過與記憶體控制器330耦合的記憶體介面328與快閃裝置306a-306d通訊。在某些實施當中,記憶體介面328可為一NAND快閃介面。
記憶體控制器330可透過一對應的接腳或端子連接至快閃記憶體裝置306a-306d。在這些實施當中,記憶體控制器330可實施成一應用專屬積體電路(ASIC,‘application specific integrated circuit”)或一晶片上系統(SOC,“system on chip”)。此外,信號CNFG可透過快閃裝置306a-306d上的電路以串聯方式連接。
狀態輪詢
如上面所討論,一特定邏輯狀態內的備妥/忙碌輸出信號「R/B_」可指示該輸出是否忙碌。例如:一低邏輯
狀態內的備妥/忙碌輸出信號「R/B_」可指示該輸出上的忙碌狀態。在此範例中,備妥/忙碌輸出信號「R/B_」可在寫入啟用信號「WE_」的最後上升邊緣之後某些時間週期內成為邏輯高狀態(即是變成指示備妥狀態的邏輯高狀態)。
一般而言,一快閃記憶體裝置只具有一個內部寫入充電泵。因此,將資料寫入該快閃記憶體裝置(即是程式編輯該裝置)將該記憶體裝置放入一忙碌狀態,如此在一寫入操作期間無法從該記憶體裝置讀取資料。若在該忙碌狀態期間執行一讀取操作,則回傳邏輯「00」。在此案例中,一寫入操作的忙碌狀態可持續數微秒。
類似地,將該快閃記憶體裝置的抹除操作初始化會將該記憶體裝置放入該忙碌狀態。在一抹除操作期間,裝置一般會進入該忙碌狀態0.50-1.0秒。在此期間,該裝置也無法存取。
在寫入與抹除操作期間無法存取該快閃記憶體裝置會導致實施該快閃記憶體裝置的系統之運作慢於一般系統。在該處理器(例如CPU 323)或嘗試讀取該快善記憶體裝置內容的記憶體控制器可獲得所要資料之前,必須先等待該寫入或抹除操作完成才行。
進一步,在此等待期間(例如寫入或抹除操作正在進行期間),該處理器或記憶體控制器330可使用備妥/忙碌輸出信號「R/B_」偵測該快閃記憶體裝置是否在一備妥狀況內(例如偵測該快閃記憶體裝置是否備妥可讀取)。若該快閃記憶體裝置忙碌,則一忙碌狀態會回傳至該處理器或記憶體控制器330。若該快閃記憶體裝置閒置中,則回傳一閒置狀態。
雖然前述偵測該快閃記憶體裝置一備妥/忙碌情況的處理允許該處理器或記憶體控制器330在其他操作(例如寫入或抹除操作)完成之後立即讀取(或寫入或抹除)該快閃記憶體裝置之內容,該快閃記憶體裝置通常需要一額外的接腳來支援此處理。
在某些實施當中,若要避免需要一額外接腳,該處理器或記憶體控制器330可利用一輪詢方法,該方法利用將一讀取狀態指令(例如一狀態讀取指令「70h」)傳送至該快閃記憶體裝置來偵測該快閃記憶體裝置的備妥或忙碌狀態(例如已執行一指令的讀取狀態、該讀取指令的忙碌/等待或通過/失敗狀態等等)。在某些實施當中,一狀態暫存器336a-336d可連接至該快閃記憶體裝置,用於儲存指出一寫入(或抹除)操作執行狀態的狀態信號。該處理器或記憶體控制器330可藉由讀取該快閃記憶體裝置的狀態暫存器336a-336d來執行一輪詢方法。在某些實施當中,即使該快閃記憶體裝置位於一忙碌狀態,該快閃記憶體裝置也可接受一讀取狀態指令,如底下表3內所示:
在某些實施當中,可在晶片啟用信號(CE_)設定為一
邏輯低狀態同時寫入啟用信號(WE_)設定為一邏輯高狀態的情況下設定資料輪詢。在操作上,該主機(例如主機302)或該記憶體控制器(例如記憶體控制器330)可輸入一寫入/抹除忙碌信號來將一寫入/抹除操作初始化。該寫入/抹除忙碌信號可將該快閃記憶體裝置的狀態暫存器336a-336d設定為邏輯「1」。在此期間,該CPU(例如CPU 323)可讀取該快閃記憶體裝置的內容,同時進行該寫入(或抹除)操作。
雖然該快閃記憶體裝置接受來自該處理器或記憶體控制器330的讀取狀態指令,該處理器或記憶體控制器330會繼續輪詢,來偵測寫入或抹除完成、抹除整個寫入或抹除或抹除該快閃記憶體裝置,這可用該等輪詢結果超載該快閃記憶體裝置和該處理器或記憶體控制器330。
如此在某些實施當中,記憶體控制器330可包含一可程式編輯計時器332,並且該可程式編輯計時器可用來決定輪詢之前(即是傳送一讀取狀態指令之前)的初始等待時間。尤其是,該初始等待時間可定義記憶體控制器330發出一狀態檢查至該快閃記憶體裝置之前所可等待的時間週期(即是在一讀取、程式編輯或抹除操作期間)。在某些實施當中,該初始等待時間可根據一或多項因素來決定,像是該等「tR」、「tPROG」和「tBERS」參數。
在某些實施當中,在該初始等待時間結束上,記憶體控制器330開始發出一或多指令(例如讀取狀態指令「70h」)來檢查該快閃記憶體的狀態(例如備妥/忙碌、通過/失敗等等)。
在某些實施當中,該記憶體控制器也可包含一第二可程式編輯計時器334,其可用於控制每一指令(例如讀取狀態指令)之間的間隔。在某些實施當中,間隔的適當值可由該系統韌體決定(例如韌體324),並且這種決定係根據與電力和效能相關聯的一或多項參數(例如因為經常輪詢而增加效能,但是消耗更多電力)。
在某些實施當中,第二可程式編輯計時器324可控制每一狀態檢查或每一讀取狀態指令之間的精確週期。利用在發出該讀取狀態指令之前控制初始等待時間以及每一所發出讀取狀態時間的間隔,記憶體控制器330可即時偵測該快閃記憶體的忙碌/備妥情況。
此外,當認定一讀取狀態指令時,執行指令中記憶體控制器330和快閃記憶體裝置306a-306d伴隨的電力消耗會增加。進一步,若一特定通道用於傳送一或多READ狀態指令,該通道會受阻,避免下一個指令傳送至其他裝置(或延遲下一個指令的執行)。如此,利用控制每一所發出讀取狀態指令的間隔,如此可調整讀取狀態指令的數量。調節讀取狀態指令可以節省與記憶體控制器330和快閃記憶體裝置306a-306d相關聯的電力,如此強化記憶體控制器330和快閃記憶體裝置306a-306d(或固態磁碟機308)的功率效能。
雖然上面說明屬於一讀取指令和一讀取狀態指令,吾人應該注意,精通此技術的人士應瞭解前述說明也可適用於程式操作。在這些實施當中,可根據上述輪詢處理來傳送並調節一程式狀態指令。
第四圖顯示關於一快閃記憶體裝置的備妥/忙碌輸出信號「R/B_」之範例初始等待時間。如第四圖所示,
跨越從該尾部邊緣到備妥/忙碌輸出信號「R/B_」上升邊緣的時間週期「t3」(例如在一邏輯「0」狀態),可指出讀取資料的讀取時間(例如第二A圖顯示的「tR」)、程式編輯資料的程式編輯時間(例如第二B圖顯示的「tPRG」)或抹除單節資料的單節抹除時間(例如第二C圖顯示的「tBERS」)。
在時間週期「t3」期間,可傳輸一或多個讀取狀態指令402、404和406來讀取該快閃記憶體裝置的狀態。在某些實施當中,第一讀取狀態指令402可在一初始等待時間「t1」之後傳送。在本質上,該初始等待時間控制何時發生狀態輪詢。在傳送第一讀取狀態指令402之後,可傳送一第二讀取狀態指令404。第二讀取狀態指令404可在一第一間隔時間「t2」經過之後傳送。在傳送第二讀取狀態指令404之後,可在第二時間間隔「t4」之後傳送一第三讀取狀態指令406。在某些實施當中,第一間隔時間「t2」和第二間隔時間「t4」可相同。在其他實施當中,第一間隔時間「t2」和第二間隔時間「t4」不同。
在上面顯示的實施當中,可由記憶體控制器330的時脈產生器供應初始等待時間「t1」和第一間隔時間「t2」和第二間隔時間「t4」。另外,可由該快閃記憶體裝置的內部時脈供應初始等待時間「t1」和第一間隔時間「t2」和第二間隔時間「t4」。
在此有一項優點,就是使用一讀取狀態指令來輪詢並控制何時發出狀態讀取指令包含避免不連貫讀取該快閃記憶體裝置的內部暫存器。這對於可避免舊資料的狀態讀取可避免錯誤指示處理器或記憶體控制器330來
說具有決定性。該處理器或記憶體控制器330可針對程式或抹除狀態輪詢,並且利用直接讀取狀態暫存器336a-336d內儲存的暫存器資料正確接收目前與更新的資料。
第五圖顯示發出一或多讀取狀態指令的範例處理500。處理500可例如由固態磁碟機300、固態磁碟機304或記憶體控制器330來執行。不過,也可使用其他設備、系統或系統組合來執行處理500。
處理500開始以認定一控制信號至一或多記憶體裝置為開始(502)。在某些實施當中,認定一控制信號可包含認定一讀取啟用、寫入啟用或晶片啟用(或晶片選擇)信號至一或多個快閃記憶體裝置。在某些實施當中,該等快閃記憶體裝置可包含NAND型記憶體裝置。
然後,可決定一初始等待時間(504)。在某些實施當中,該初始等待時間可包含一個記憶體控制器(例如記憶體控制器330)在發出指令給該快閃記憶體裝置之前等待的時間週期(例如在一讀取、程式編輯或抹除操作期間)。
根據該初始等待時間可發出一第一指令(506)。在某些實施當中,該記憶體控制器可在該初始等待時間之後發出第一指令。在這些實施當中,該第一指令可為一狀態檢查指令(例如一讀取狀態指令或一程式編輯狀態檢查指令)。
在某些實施當中,認定一控制信號可包含認定一讀取指令至一或多個記憶體裝置。在這些實施當中,發出一第一指令可包含根據該初始等待時間發出一讀取狀態指令。
在其他實施當中,認定一控制信號可包含認定一程式編輯(或寫入)指令至一或多個記憶體裝置。在這些實施當中,發出一第一指令可包含根據該初始等待時間發出一程式編輯狀態指令。
接下來,決定與該第一指令相關聯的第一間隔時間(508)。該第一間隔時間可關聯於二讀取狀態指令之間的間隔時間。例如:可在該初始等待時間之後傳送一第一讀取狀態指令。在傳送該第一讀取狀態指令之後,可傳送第二讀取狀態指令至快閃記憶體裝置。該第二讀取狀態指令可在該第一間隔時間經過之後傳送。在傳送該第二讀取狀態指令之後,可在該第二時間間隔之後傳送一第三讀取狀態指令。
根據該第一間隔時間可發出一第二指令(510)。在某些實施當中,可如上述一般決定與該第二指令相關聯的一第二間隔時間。在這些實施當中,可關於該第二指令和一第三指令來決定該第二間隔時間。根據該第二間隔時間,可發出該第三指令。
在某些實施當中,操作502-510可用所列的順序執行、同時執行(例如由在一或多個處理器上執行的相同或不同程式或執行緒,實質上或非嚴肅)或以相反順序執行來達成所要的結果。在其他實施當中,操作502-510可用顯示的順序執行。另外,其中執行操作的順序可至少部分取決於執行處理500的實體。操作502-510進一步由相同或不同實體或系統來執行。
讀取循環時間與寫入循環時間
傳統固態儲存裝置運用多維度記憶體陣列系統,來
增加效能並讓容量最大化。不過,傳統固態系統一般並不會在一相同系統內運用不同種類的固態儲存裝置。例如:一傳統固態系統無法同時在相同系統內有效運用單層單元和多層單元裝置。根據範例,若不使用備妥/忙碌輸出信號「R/B_」並且只提供一單一計時器給SLC和MLC,這可能難以發現對於SLC和MLC來說工作起來最好的單一計時器之最佳設定(例如因為SLC和MLC具有不同的最佳「tR」、「tPROG」和「tBERS」週期)。如此,當選擇一小計時器用於最佳SLC效能,該計時器可能並不適合達成最大MLC效能(例如在耗電量方面)。類似地,若一大計時器用於達成最大MLC效能(例如降低耗電量),則可能無法即時偵測到SLC狀態,如此導致效能低落。
雖然像是MLC裝置這類較慢裝置一般成本較低,並且可用來滿足傳統容量需求以及降低實施MLC裝置的儲存裝置總成本,MLC裝置可能因為像是參數衝突,而無法與像是SLC裝置這類快速裝置一起用於相同裝置上。例如:SLC裝置和MLC裝置通常需要不同的製造需求以及規格來用於資料存取(例如不同的時間參數)。
例如:請回頭參閱第二A圖,若要執行一讀取操作,讀取啟用信號(RE_)可認可並在邏輯「1」與邏輯「0」之間觸發用於一預定數量循環(例如當該快閃記憶體裝置在資料傳輸區域204內操作時)。一單一循環可由讀取循環時間「tRC」的週期來定義,尤其是,讀取循環時間「tRC」可定義在自該快閃記憶體裝置讀取資料期間之讀取時間。
在某些實施當中,讀取循環時間「tRC」大約是50ns(例如針對MLC裝置)。尤其是,在顯示的範例中,讀取循環時間「tRC」可包含第一時序週期T1和第二時序週期T2。第一時序週期T1和第二時序週期T2可定義與每一讀取循環時間「tRC」相關聯的快閃存取時間。在某些實施當中,第一時序週期T1可跨越4*T的時期,其中T為160MHz或大約6.25ns。換言之,第一時序週期T1長度大約為25ns。在這些實施當中,第二時序週期T2也跨越4*T的時期或長度大約25ns。然後長度大約25ns的第一時序週期T1和大約25ns的第二時序週期T2應產生大約50ns的總讀取循環時間「tRC」。
在其他實施當中,讀取循環時間「tRC」大約是25ns(例如針對SLC裝置)。例如:第一時序週期T1可跨越2*T的時期,其中T為160MHz或大約6.25ns。換言之,第一時序週期T1長度大約為12.5ns。在某些實施當中,第二時序週期T2也跨越2*T的時期或長度大約12.5ns。然後長度大約12.5ns的第一時序週期T1和大約25ns的第二時序週期T2應產生大約25ns的總讀取循環時間「tRC」。
讀取循環時間「tRC」不需要受限於上面顯示的時序週期,也可考慮其他讀取循環時間週期。例如:根據特定設計與應用,讀取循環時間「tRC」可在20ns的範圍內。
在某些實施當中,讀取循環時間「tRC」(和底下將討論的寫入循環時間「tWC」)可短於(例如快過)與該讀取啟用信號(或關於寫入循環時間「tWC」的寫入啟用信號)相關聯的循環時間。在這些實施當中,固態磁碟機系
統300可提供一SOC內部時脈,以便根據該讀取啟用信號和該寫入啟用信號產生讀取循環時間「tRC」和寫入循環時間「tWC」當成NAND快閃I/O介面信號。例如:若與一NAND快閃讀取啟用信號相關聯的低時間與高時間分別為10ns和15ns時,則該內部時脈可為200Mhz(5ns)。然後,第一時序週期T1的值可程式編輯來允許2T循環(例如5ns x 2=10ns),並且第二時序週期T2的值可程式編輯來允許3T循環(5ns x 3=15n)。
請參閱第二B圖,若要執行一資料程式編輯操作,寫入啟用信號(WE_)可認可並在邏輯「1」與邏輯「0」之間觸發而用於一預定數量循環(例如當該快閃記憶體裝置在資料傳輸區域206內操作時)。一單一循環可由寫入循環時間「tWC」的週期來定義,尤其是,寫入循環時間「tWC」可定義在該快閃記憶體裝置寫入程式編輯資料期間之寫入時間。
在某些實施當中,寫入循環時間「tWC」大約是50ns(例如針對MLC裝置)。尤其是,在顯示的範例中,讀取循環時間「tRC」可包含第一時序週期T1和第二時序週期T2。第一時序週期T1和第二時序週期T2可定義與每一寫入循環時間「tWC」相關聯的快閃存取時間。在某些實施當中,第一時序週期T1可跨越4*T的時期,其中T為160MHz或大約6.25ns。換言之,第一時序週期T1長度大約為25ns。在某些實施當中,第二時序週期T2也跨越4*T的時期或長度大約25ns。然後長度大約25ns的第一時序週期T1和大約25ns的第二時序週期T2應產生大約50ns的總寫入循環時間「tWC」。
在其他實施當中,寫入循環時間「tWC」大約是25
ns(例如針對SLC裝置)。例如:第一時序週期T1可跨越2*T的時期,其中T為160MHz或大約6.25ns。換言之,第一時序週期T1長度大約為12.5ns。在某些實施當中,第二時序週期T2也跨越2*T的時期或長度大約12.5ns。然後長度大約12.5ns的第一時序週期T1和大約25ns的第二時序週期T2應產生大約25ns的總寫入循環時間「tWC」。
當然,寫入循環時間「tWC」不需要受限於上面顯示的時序週期,也可考慮其他寫入循環時間週期。例如:根據特定設計與應用,寫入循環時間「tWC」可在45ns的範圍內。
一般而言,讀取循環時間「tRC」和寫入循環時間「tWC」都可用來當成時序參數,用於決定該資料傳輸率的整體效能。利用適當調整讀取循環時間「tRC」和寫入循環時間「tWC」,與該快閃記憶體裝置相關聯的介面時間可受到控制,如此可混合使用SLC和MLC裝置。根據範例,在發出一READ指令時,固態磁碟機系統300可等待一內部緩衝器在第二A圖所示的「t4」週期之後備妥。此後,資料透過該NAND介面從該內部緩衝器移出至固態控制器308。然後移位頻率由讀取操作的「tRC」週期(或由程式編輯操作的「tWC」週期)來指定。如上面所討論,最大產能為「1/tRC」所賦予(例如40MHz用於「tRC」週期=25ns)。換言之,「tRC」週期(或「tWC」週期)最小化允許增加頻寬。因此,利用定義二不同時序參數(例如一個設置用於SLC裝置並且另一個設置用於MLC裝置,兩個相反來利用相同邏輯(時序參數)控制用於SLC和MLC裝置的時序介面),如此顯著改善效率。
根據其他範例,一固態磁碟機可運用具有25ns讀取循環時間「tRC」和25ns寫入循環時間「tWC」的一第一快閃記憶體裝置、具有25ns讀取循環時間「tRC」和45ns寫入循環時間「tWC」的一第二快閃記憶體裝置、具有20ns讀取循環時間「tRC」和20ns寫入循環時間「tWC」的一第三快閃記憶體裝置以及具有50ns讀取循環時間「tRC」和50ns寫入循環時間「tWC」的一第四快閃記憶體裝置。在某些實施當中,因為在一單節抹除操作期間資料未移位入或出,所以一單節抹除操作不使用循環時間。
第六圖顯示根據一寫入循環時間和一讀取循環時間用於狀態輪詢之範例處理600。處理600可例如由固態磁碟機系統300、固態磁碟機304或記憶體控制器330來執行。不過,也可使用其他設備、系統或系統組合來執行處理600。
處理600開始時控制複數個記憶體裝置,該裝置包含一第一組記憶體裝置和一第二組記憶體裝置(602)。在某些實施當中,該第一組記憶體裝置可包含單層單元裝置,而該第二組記憶體裝置可包含多層單元裝置。在其他實施當中,該第一組記憶體裝置可包含多層單元裝置,而該第二組記憶體裝置可包含單層單元裝置。
接下來,可決定一第一循環時間(604)。在某些實施當中,決定一第一循環時間可包含決定與一第一組記憶體裝置相關聯的第一循環時間。在這些實施當中,決定與該第一組記憶體裝置相關聯的第一循環時間可包含決定一第一時序參數(例如第二A圖顯示的「tRC」週期)和第二時序參數(例如第二B圖顯示的「tWC」週期),
該第一時序參數與該第二時序參數都關聯於該第一組記憶體裝置(例如單層單元裝置)的資料傳輸率。在某些實施當中,該第一循環時間可為一讀取循環時間,其關聯於一讀取操作,在此操作期間可讀取來自至少記憶體裝置之一的資料。在其他實施當中,該第一循環時間可為一程式編輯循環時間,其關聯於一程式編輯操作,在此操作期間可將資料程式編輯入至少記憶體裝置之一。
此後,根據該第一循環時間發出一寫入指令(606)。在某些實施當中,根據該第一循環時間發出該第一指令至該第一組記憶體裝置。例如:可發出具有上升與下降邊緣對應至該第一循環時間的寫入啟用信號(WE_)。該寫入啟用信號(WE_)可在邏輯「0」與邏輯「1」之間觸發,同時已經進行一寫入操作。
在發出一寫入指令之後,決定一第二循環時間(608)。在某些實施當中,決定一第二循環時間可包含決定與一第二組記憶體裝置相關聯的第二循環時間。該第二組記憶體裝置可與該第一組記憶體裝置不同。例如:該第一組記憶體裝置可包含單層單元裝置,而該第二組記憶體裝置可包含多層單元裝置。在某些實施當中,決定一第二循環時間可包含決定與該第一循環時間無關的第二循環時間。例如:與單層單元裝置相關聯的「tRC」或「tWC」週期可和與多層單元裝置相關聯的週期分開決定。在某些實施當中,「tRC」或「WC」週期可用於將一對應記憶體裝置的資料傳輸率最大化。
在某些實施當中,可認可一控制信號(例如讀取啟用信號、寫入啟用信號或晶片啟用信號)至該第一或該第二組記憶體裝置之一,用於一預定數量的循環。在這些實
施當中,該預定數量的循環可包含與該第一循環時間相關聯的第一循環,該第一循環包含一第一時序週期(例如第二A圖和第二B圖顯示的第一時序週期「T1」)以及一第二時序週期(例如第二A圖和第二B圖顯示的第二時序週期「T2」)。在這些實施當中,該第一循環的第一時序週期與第二時序週期可包含相同或不同期間。
在某些實施當中,該預定數量的循環可包含與該第二循環時間相關聯的第二循環,該第二循環包含一第一時序週期(例如第二A圖和第二B圖顯示的第一時序週期「T1」)以及一第二時序週期(例如第二A圖和第二B圖顯示的第二時序週期「T2」)。在這些實施當中,該第二循環的第一時序週期與第二時序週期可包含相同或不同期間。
在某些實施當中,可決定一等待週期(例如第二A圖顯示的「tR」)。該等待週期可當成一等待時間,在此期間並無指令(例如讀取狀態或寫入狀態指令)發出至該第一組記憶體裝置或該第二組記憶體裝置。此後,該第一指令或該第二指令可發出至其對應的群組。
在已經決定該第二循環時間之下,根據該第二循環時間發出一第二指令(610)。例如:可發出具有上升與下降邊緣對應至該第二循環時間的讀取啟用信號(RE_)。該讀取啟用信號(RE_)可在邏輯「0」與邏輯「1」之間觸發,同時已經進行一讀取操作。
在某些實施當中,操作602-610可用所列的順序執行、同時執行(例如由在一或多個處理器上執行的相同或不同程式或執行緒,實質上或非嚴肅)或以相反順序執行來達成所要的結果。在其他實施當中,操作602-610可
用顯示的順序執行。另外,其中執行操作的順序可至少部分取決於執行處理600的實體。操作602-610進一步由相同或不同實體或系統來執行。
硬碟機的範例實施
第七圖至第十二圖顯示所說明系統與技術的許多示範實施。此時請參閱第七圖,所說明系統與技術可在一硬碟機(HDD)700內實施。所說明系統與技術可在信號處理以及/或控制電路內實施,這通常在第七圖上以702表示。在某些實施中,HDD 700內的信號處理以及/或控制電路702以及/或其他電路(未顯示)可處理資料、執行編碼和/或加密、執行計算,以及將輸出至或接收自一磁性儲存媒體704的資料格式化。
HDD 700可與像是電腦的主機裝置(未顯示)、像是個人數位助理的行動計算裝置、行動電話、媒體或MP3播放器等等以及透過一或多有線或無線通訊鏈結706的其他裝置通訊。HDD 700可連接至記憶體708,像是隨機存取記憶體(RAM)、低處理負擔非揮發性記憶體,像是快閃記憶體、唯讀記憶體(ROM)以及/或其他合適的電子資料儲存裝置。
此時請參閱第八圖,所說明系統與技術可在一數位多功能光碟機(DVD)800內實施。所說明系統與技術可在信號處理以及/或控制電路內實施,這一般在第八圖上以802表示,以及/或在DVD光碟機800的大量資料儲存裝置804內實施。DVD光碟機800內的信號處理以及/或控制電路802以及/或其他電路(未顯示)可處理資料、執行編碼和/或加密、執行計算,以及/或將讀取自
或寫入至光學儲存媒體806的資料格式化。在某些實施中,DVD光碟機800內的信號處理以及/或控制電路802以及/或其他電路(未顯示)也可執行其他功能,像是編碼和/或解碼以及DVD光碟機伴隨的任何其他信號處理功能。
DVD光碟機800可透過一或多種有線或無線通訊鏈結810與輸出裝置(未顯示)通訊,像是電腦、電視或其他裝置。DVD光碟機800可與用非揮發性方式儲存資料的大量資料儲存裝置804通訊。大量資料儲存裝置804可包含一硬碟機(HDD)。該HDD具有第七圖顯示的組態。該HDD可為內含一或多個直徑大約1.8吋碟盤的迷你HDD。DVD光碟機800可連接至記憶體808,像是RAM、ROM、低處理負擔非揮發性記憶體,像是快閃記憶體以及/或其他合適的電子資料儲存裝置。
此時請參閱第九圖,所說明系統與技術可在一高傳真電視(HDTV)900內實施。所說明系統與技術可在信號處理以及/或控制電路,這一般在第九圖上以902表示、WLAN介面906以及/或在HDTV 900的大量資料儲存裝置910內實施。HDTV 900接收一有線或無線格式的HDTV輸入信號,並產生顯示器904的HDTV輸出信號。在某些實施中,HDTV 900內的信號處理以及/或控制電路902以及/或其他電路(未顯示)可處理資料、執行編碼和/或加密、執行計算、資料格式化以及/或執行需要的任何一種HDTV處理。
HDTV 900可與用一非揮發性方式,像是光學以及/或磁性儲存裝置來儲存資料的大量資料儲存裝置910通訊。至少一個HDD可具有第七圖顯示的組態,並且/或
至少一個DVD可具有第八圖顯示的組態。該HDD可為內含一或多個直徑大約1.8吋碟盤的迷你HDD。HDTV 900可連接至記憶體908,像是RAM、ROM、低處理負擔非揮發性記憶體,像是快閃記憶體以及/或其他合適的電子資料儲存裝置。HDTV 900也支援透過WLAN網路介面906與一WLAN連線。
此時請參閱第十圖,所說明系統與技術可在包含行動天線1002的行動電話1000內實施。所說明系統與技術可在信號處理以及/或控制電路,這一般在第十圖上以1004識別、一WLAN介面1010以及/或在行動電話1000的大量資料儲存裝置1006內實施。在某些實施當中,行動電話1000包含一麥克風1012、像是一揚聲器以及/或聲音輸出插座的聲音輸出1014、一顯示器1016以及/或輸入裝置1018,像是鍵盤、指示裝置、語音致動以及/或其它輸入裝置。行動電話1000內的信號處理以及/或控制電路1004以及/或其他電路(未顯示)可處理資料、執行編碼和/或加密、執行計算、將資料格式化以及/或執行其他行動電話功能。
行動電話1000可與用一非揮發性方式,像是光學以及/或磁性儲存裝置,例如硬碟機HDD以及/或DVD來儲存資料的大量資料儲存裝置1006通訊。至少一個HDD可具有第七圖顯示的組態,並且/或至少一個DVD可具有第八圖顯示的組態。該HDD可為內含一或多個直徑大約1.8吋碟盤的迷你HDD。行動電話1000可連接至記憶體1008,像是RAM、ROM、低處理負擔非揮發性記憶體,像是快閃記憶體以及/或其他合適的電子資料儲存裝置。行動電話1000也支援透過一WLAN網路
介面1010與一WLAN連線。
此時請參閱第十一圖,所說明系統與技術可在機上盒1100內實施。所說明系統與技術可在信號處理以及/或控制電路,這一般在第十圖上以1102表示、一WLAN介面1108以及/或在機上盒1100的大量資料儲存裝置1104內實施。機上盒1100從來自像是廣播源的來源1112接收信號,並輸出適用於一顯示器1110的標準以及/或高傳真聲音/視訊信號,像是一電視以及/或監視器以及/或其他視訊以及/或聲音輸出裝置。機上盒1100內的信號處理以及/或控制電路1102以及/或其他電路(未顯示)可處理資料、執行編碼和/或加密、執行計算、將資料格式化以及/或執行任何其他機上盒功能。
機上盒1100可與用一非揮發性方式儲存資料的大量資料儲存裝置1104通訊。大量資料儲存裝置1104可包含光學以及/或磁性儲存裝置,像是硬碟機HDD以及/或DVD。至少一個HDD可具有第七圖顯示的組態,並且/或至少一個DVD光碟機可具有第八圖顯示的組態。該HDD可為內含一或多個直徑大約1.8吋碟盤的迷你HDD。機上盒1100可連接至記憶體1106,像是RAM、ROM、低處理負擔非揮發性記憶體,像是快閃記憶體以及/或其他合適的電子資料儲存裝置。機上盒1100也支援透過一WLAN網路介面1108與一WLAN連線。
此時請參閱第十二圖,所說明系統與技術可在媒體播放機1200內實施。所說明系統與技術可在信號處理以及/或控制電路,這一般在第十二圖上以1202表示、一WLAN介面1208以及/或在一媒體播放機1200的大量資料儲存裝置1204內實施。在某些實施當中,媒體
播放機1200包含一顯示器1212以及/或一使用者輸入1214,像是一鍵盤、觸碰板等等。在某些實施當中,媒體播放機1200可運用一圖形使用者介面(GUI,“graphical user interface”),通常透過顯示器1212以及/或使用者輸入1214運用功能表、下拉式功能表、圖示以及/或指點介面。媒體播放機1200進一步包含聲音輸出1210,像是一揚聲器以及/或聲音輸出插座。媒體播放機1200內的信號處理以及/或控制電路1202以及/或其他電路(未顯示)可處理資料、執行編碼和/或加密、執行計算、將資料格式化以及/或執行任何其他媒體播放器功能。
媒體播放機1200可與用一非揮發性方式來儲存資料,像是壓縮聲音與/或視訊內容,的大量資料儲存裝置1204通訊。在某些實施當中,該等壓縮聲音檔包含符合MP3格式或其他合適的壓縮聲音與/或視訊格式之檔案。該大量資料儲存裝置可包含光學以及/或磁性儲存裝置,像是硬碟機HDD以及/或DVD。至少一個HDD可具有第七圖顯示的組態,並且/或至少一個DVD光碟機可具有第八圖顯示的組態。該HDD可為內含一或多個直徑大約1.8吋碟盤的迷你HDD。媒體播放機1200可連接至記憶體1206,像是RAM、ROM、低處理負擔非揮發性記憶體,像是快閃記憶體以及/或其他合適的電子資料儲存裝置。媒體播放機1200也支援透過一WLAN網路介面1208與一WLAN連線。仍舊考慮其他實施加上上列之說明。
上面已經詳細說明一些具體實施例,並且可能還有許多修改。所公佈主張,包含本說明書內描述的功能操
作,可在電子電路、電腦硬體、韌體、軟體或這些的組合之中實施,像是本說明書內公佈的結構裝置及其結構同等品,包含潛在可操作來導致一或多資料處理設備執行所說明操作之程式(像是在電腦可讀取媒體內編碼的程式,其可為一記憶體裝置、一機器可讀取儲存基板或其他實體、機器可讀取媒體或這些之一或更多的組合)。
「資料處理設備」涵括處理資料的所有設備、裝置和機器,包含可程式編輯處理器、電腦或多處理器或電腦的範例。除了硬體以外,設備可包含建立執行環境給電腦程式的程式碼,即是構成處理器韌體、一通訊協定堆疊、一資料庫管理系統、一作業系統或這些之一或多的組合之程式碼。
一程式(已知為一電腦程式、軟體、軟體應用程式、描述檔或程式碼)可用任何程式編輯語言形式撰寫,包含編譯或解譯語言或陳述式或程序語言,並且其可用任何形式佈署,包含成為一單機程式或成為一模組、組件、子常式或適合一計算環境內使用的其他單元。一程式並不需要對應至一檔案系統內的檔案。一程式可儲存在保有其他程式或資料的部分檔案內(例如一或多個儲存在標記語言文件內的描述檔)、在專屬於該程式的單一檔案內或在多個合作檔案內(例如儲存一或多個模組、子程式或部分程式碼的檔案)。一程式可佈署成為在一個地點或散佈在多個地點並利用通訊網路互連的電腦或多部電腦上執行。
雖然本說明書內含許多細節,但不應該構成對於本申請專利範圍範疇的限制,而是屬於特定具體實施例的特色描述。本說明書內個別具體實施例範圍內的特定特
色也可在一單一具體實施例組合內實施。相反的,在一單一具體實施例範圍內說明的許多特色也可分散的多重組合或在任何合適的次組合內實施。再者,雖然上面以特定組合來說明特色並依此主張,不過來自所主張組合的一或多樣特色在某些情況下可組合實施,並且所主張組合可指向次組合或次組合的變化。
類似地,雖然用特定順序用圖式說明操作,不過並不應看待成需要以所顯示特定順序或依序來執行這些操作,也不應看待成需要執行所有說明的操作,而達成所要的結果。在特定環境中,多重工作與同時處理具有優點。再者,上述具體實施例內許多系統組件分開不應看待成在所有具體實施例內都需要分開。
100‧‧‧記憶體陣列
102‧‧‧分頁
104‧‧‧部分
106‧‧‧部分
108‧‧‧8位元深度
110‧‧‧單節
112‧‧‧單一分頁
114‧‧‧第一部分
116‧‧‧第二部分
202‧‧‧區域
204‧‧‧區域
206‧‧‧區域
208‧‧‧區域
210‧‧‧區域
212‧‧‧區域
214‧‧‧區域
300‧‧‧固態磁碟機系統
302‧‧‧主機
303‧‧‧匯流排
304‧‧‧固態磁碟機
306a-306d‧‧‧快閃記憶體裝置
308‧‧‧固態控制器
310‧‧‧主機介面
312‧‧‧錯誤檢查碼模組
314‧‧‧介面邏輯
316‧‧‧定序器
318‧‧‧格式化器
323‧‧‧中央處理器單元
324‧‧‧嵌入式韌體
326a-326d‧‧‧通道
328‧‧‧記憶體介面
330‧‧‧記憶體控制器
332‧‧‧可程式編輯計時器
334‧‧‧第二可程式編輯計時器
336a-336d‧‧‧狀態暫存器
402‧‧‧讀取狀態指令
404‧‧‧讀取狀態指令
406‧‧‧讀取狀態指令
500‧‧‧處理
600‧‧‧處理
700‧‧‧硬碟機
702‧‧‧信號處理以及/或控制電路
704‧‧‧磁性儲存媒體
706‧‧‧有線或無線通訊鏈結
708‧‧‧記憶體
800‧‧‧數位多功能光碟機
802‧‧‧信號處理以及/或控制電路
804‧‧‧大量資料儲存裝置
806‧‧‧光學儲存媒體
808‧‧‧記憶體
810‧‧‧有線或無線通訊鏈路
900‧‧‧高傳真電視
902‧‧‧信號處理以及/或控制電路
904‧‧‧顯示器
906‧‧‧WLAN介面
908‧‧‧記憶體
910‧‧‧大量資料儲存裝置
1000‧‧‧行動電話
1002‧‧‧行動天線
1004‧‧‧信號處理以及/或控制電路
1006‧‧‧大量資料儲存裝置
1008‧‧‧記憶體
1010‧‧‧WLAN介面
1012‧‧‧麥克風
1014‧‧‧聲音輸出
1016‧‧‧顯示器
1018‧‧‧輸入裝置
1100‧‧‧機上盒
1102‧‧‧信號處理以及/或控制電路
1104‧‧‧大量資料儲存裝置
1106‧‧‧記憶體
1108‧‧‧WLAN介面
1110‧‧‧顯示器
1112‧‧‧來源
1200‧‧‧媒體播放機
1202‧‧‧信號處理以及/或控制電路
1204‧‧‧大量資料儲存裝置
1206‧‧‧記憶體
1208‧‧‧WLAN介面
1210‧‧‧聲音輸出
1212‧‧‧顯示器
1214‧‧‧使用者輸入
第一圖顯示範例記憶體陣列的方塊圖。
第二A圖顯示在一資料讀取操作期間與一範例NAND快閃介面內每一接腳相關聯之時序圖。
第二B圖顯示在一資料程式編輯操作期間與一NAND快閃介面內每一接腳相關聯之範例時序圖。
第二C圖顯示在一單節抹除操作期間與一NAND快閃介面內每一接腳相關聯之範例時序圖。
第三圖顯示一範例固態磁碟機。
第四圖顯示關於一快閃記憶體裝置的備妥/忙碌輸出信號「R/B_」之範例初始等待時間。
第五圖顯示發出一或多讀取狀態指令的範例處理。
第六圖顯示根據一寫入循環時間和一讀取循環時間用於狀態輪詢之範例處理。
第七圖至第十二圖顯示實施一硬碟機系統的許多範例電子系統。
300‧‧‧固態磁碟機系統
302‧‧‧主機
303‧‧‧匯流排
304‧‧‧固態磁碟機
306a-306d‧‧‧快閃記憶體裝置
308‧‧‧固態控制器
310‧‧‧主機介面
312‧‧‧錯誤檢查碼模組
314‧‧‧介面邏輯
316‧‧‧定序器
318‧‧‧格式化器
323‧‧‧中央處理器單元
324‧‧‧嵌入式韌體
326a-326d‧‧‧通道
328‧‧‧記憶體介面
330‧‧‧記憶體控制器
332‧‧‧可程式編輯計時器
334‧‧‧第二可程式編輯計時器
336a-336d‧‧‧狀態暫存器
Claims (14)
- 一種快閃記憶體控制之方法,包含:控制複數個記憶體裝置,該裝置包含一第一組記憶體裝置和一第二組記憶體裝置;決定與該第一組記憶體裝置相關聯的一第一週期;根據該第一週期發出一第一指令至該第一組記憶體裝置;決定與該第二組記憶體裝置相關聯的一第二週期;以及根據該第二週期發出一第二指令至該第二組記憶體裝置。
- 如申請專利範圍第1項之方法,其中決定與該第二組記憶體裝置相關聯的一第二週期包含決定與該第一週期無關的該第二週期。
- 如申請專利範圍第1項之方法,其中決定與該第一組記憶體裝置相關聯的一第一週期包含:決定一第一時序參數與一第二時序參數,該第一時序參數與該第二時序參數關聯於該第一組記憶體裝置的一資料傳輸率。
- 如申請專利範圍第1項之方法,其中決定與該第二組記憶體裝置相關聯的一第二週期包含:決定一第一時序參數與一第二時序參數,該第一時序參數與該第二時序參數關聯於該第二組記憶體裝置的一資料傳輸率。
- 如申請專利範圍第1項之方法,其中控制複數個記憶體裝置包含: 認定一控制信號至該第一組記憶體裝置用於一預定數量的循環,包含與該第一週期相關聯的一第一循環,該第一循環包含一第一時序週期與一第二時序週期。
- 如申請專利範圍第5項之方法,其中該第一循環的第一時序週期與該第二時序週期包含一相同期間。
- 如申請專利範圍第5項之方法,其中該第一循環的第一時序週期與該第二時序週期包含一不同期間。
- 如申請專利範圍第1項之方法,其中控制複數個記憶體裝置包含:認定一控制信號至該第二組記憶體裝置用於一預定數量的循環,包含與該第二週期相關聯的一第二循環,該第二循環包含一第一時序週期與一第二時序週期。
- 如申請專利範圍第8項之方法,其中該第二循環的第一時序週期與該第二時序週期包含一相同期間。
- 如申請專利範圍第8項之方法,其中該第二循環的第一時序週期與該第二時序週期包含一不同期間。
- 如申請專利範圍第1項之方法,其中決定一第一週期包含決定從至少該記憶體裝置之一讀取資料期間的一讀取週期,或在資料程式編輯到至少該記憶體裝置之一內期間的一程式編輯週期。
- 如申請專利範圍第1項之方法,其中控制複數個記憶體裝置包含決定一等待週期。
- 如申請專利範圍第12項之方法,其中發出一第一指令包含在該等待週期之後發出該第一指令。
- 如申請專利範圍第12項之方法,其中發出一第二指 令包含在該等待週期之後發出該第二指令。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US97661607P | 2007-10-01 | 2007-10-01 | |
| US97662407P | 2007-10-01 | 2007-10-01 | |
| US12/241,000 US8438356B2 (en) | 2007-10-01 | 2008-09-29 | Flash memory controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200935436A TW200935436A (en) | 2009-08-16 |
| TWI500040B true TWI500040B (zh) | 2015-09-11 |
Family
ID=40509677
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW097137662A TWI500040B (zh) | 2007-10-01 | 2008-10-01 | 快閃記憶體控制器 |
Country Status (3)
| Country | Link |
|---|---|
| US (3) | US8438356B2 (zh) |
| TW (1) | TWI500040B (zh) |
| WO (1) | WO2009046115A1 (zh) |
Families Citing this family (65)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090172213A1 (en) * | 2007-12-31 | 2009-07-02 | Sowmiya Jayachandran | Command completion detection in a mass storage device |
| US8904082B1 (en) * | 2008-03-25 | 2014-12-02 | Cadence Design Systems, Inc. | Operation based polling in a memory system |
| US8762621B2 (en) | 2008-10-28 | 2014-06-24 | Micron Technology, Inc. | Logical unit operation |
| TW201017403A (en) * | 2008-10-28 | 2010-05-01 | Silicon Motion Inc | Access methods for memory devices and memory devices and machine readable medium thereof |
| US8825940B1 (en) | 2008-12-02 | 2014-09-02 | Siliconsystems, Inc. | Architecture for optimizing execution of storage access commands |
| US9176859B2 (en) * | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
| US8255615B1 (en) | 2009-01-08 | 2012-08-28 | Marvell International Ltd. | Flexible sequence design architecture for solid state memory controller |
| US10079048B2 (en) * | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
| US8291131B2 (en) * | 2009-07-06 | 2012-10-16 | Micron Technology, Inc. | Data transfer management |
| US20110102997A1 (en) * | 2009-11-02 | 2011-05-05 | Ocz Technology Group, Inc. | Mass storage device and method of accessing memory devices thereof |
| TWI413904B (zh) * | 2010-03-03 | 2013-11-01 | Pixart Imaging Inc | Universal Serial Bus (USB) controller and its execution method |
| USRE49818E1 (en) * | 2010-05-13 | 2024-01-30 | Kioxia Corporation | Information processing method in a multi-level hierarchical memory system |
| EP2656216B1 (en) * | 2010-12-20 | 2018-12-19 | Marvell World Trade Ltd. | Device with descriptor scheduler and corresponding method and system |
| US20120167100A1 (en) * | 2010-12-23 | 2012-06-28 | Yan Li | Manual suspend and resume for non-volatile memory |
| KR101919990B1 (ko) * | 2011-03-10 | 2018-11-19 | 삼성전자주식회사 | 데이터 처리 시스템 및 그것의 에러 정정 코드 처리 방법 |
| US8607003B2 (en) | 2011-07-15 | 2013-12-10 | International Business Machines Corporation | Memory access to a dual in-line memory module form factor flash memory |
| JP5524156B2 (ja) * | 2011-09-15 | 2014-06-18 | 株式会社東芝 | 情報処理装置および情報処理方法 |
| US9336112B2 (en) * | 2012-06-19 | 2016-05-10 | Apple Inc. | Parallel status polling of multiple memory devices |
| US9582465B2 (en) | 2012-11-15 | 2017-02-28 | Elwha Llc | Flexible processors and flexible memory |
| US20140137119A1 (en) * | 2012-11-15 | 2014-05-15 | Elwha LLC, a limited liability corporation of the State of Delaware | Multi-core processing in memory |
| US9442854B2 (en) | 2012-11-15 | 2016-09-13 | Elwha Llc | Memory circuitry including computational circuitry for performing supplemental functions |
| US9335952B2 (en) * | 2013-03-01 | 2016-05-10 | Ocz Storage Solutions, Inc. | System and method for polling the status of memory devices |
| JP6160294B2 (ja) * | 2013-06-24 | 2017-07-12 | 富士通株式会社 | ストレージシステム、ストレージ装置及びストレージシステムの制御方法 |
| US9824004B2 (en) | 2013-10-04 | 2017-11-21 | Micron Technology, Inc. | Methods and apparatuses for requesting ready status information from a memory |
| TWI646537B (zh) * | 2013-12-11 | 2019-01-01 | 美商愛德斯托科技有限公司 | 序列記憶體裝置通知外部主機內部自計時操作已完成 |
| US9852090B2 (en) * | 2013-12-11 | 2017-12-26 | Adesto Technologies Corporation | Serial memory device alert of an external host to completion of an internally self-timed operation |
| US10108372B2 (en) | 2014-01-27 | 2018-10-23 | Micron Technology, Inc. | Methods and apparatuses for executing a plurality of queued tasks in a memory |
| US9933980B2 (en) | 2014-02-24 | 2018-04-03 | Toshiba Memory Corporation | NAND raid controller for connection between an SSD controller and multiple non-volatile storage units |
| US20150261473A1 (en) * | 2014-03-11 | 2015-09-17 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
| KR102149768B1 (ko) | 2014-04-29 | 2020-08-31 | 삼성전자주식회사 | 불휘발성 메모리 시스템 |
| WO2015176040A1 (en) | 2014-05-15 | 2015-11-19 | Adesto Technologies Corporation | Memory devices and methods having instruction acknowledgement |
| US9922718B2 (en) | 2014-05-22 | 2018-03-20 | Seagate Technology Llc | Flash command that reports a count of cell program failures |
| KR102251810B1 (ko) * | 2014-09-30 | 2021-05-13 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치에 대한 제어 방법 |
| US9535607B2 (en) | 2015-02-12 | 2017-01-03 | SK Hynix Inc. | Semiconductor system performing status read for semiconductor device and operating method thereof |
| KR20170007958A (ko) * | 2015-07-13 | 2017-01-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
| JP2017027479A (ja) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | データ読出し方法及び情報処理システム |
| US10073653B2 (en) | 2015-12-01 | 2018-09-11 | Alson Technology Limited | Solid state disk |
| US20170153961A1 (en) * | 2015-12-01 | 2017-06-01 | Avexir Technologies Corporation | Solid state disk |
| JP6538597B2 (ja) * | 2016-03-14 | 2019-07-03 | 東芝メモリ株式会社 | 記憶装置 |
| US10539989B1 (en) | 2016-03-15 | 2020-01-21 | Adesto Technologies Corporation | Memory device alert of completion of internally self-timed power-up and reset operations |
| US10649672B1 (en) * | 2016-03-31 | 2020-05-12 | EMC IP Holding Company LLC | Offloading device maintenance to an external processor in low-latency, non-volatile memory |
| US10534540B2 (en) * | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
| CN107783727B (zh) * | 2016-08-31 | 2022-01-14 | 华为技术有限公司 | 一种内存设备的访问方法、装置和系统 |
| JP2018041154A (ja) * | 2016-09-05 | 2018-03-15 | 東芝メモリ株式会社 | ストレージシステムおよび処理方法 |
| US10514854B2 (en) * | 2016-11-04 | 2019-12-24 | Microsoft Technology Licensing, Llc | Conditional authorization for isolated collections |
| US10924467B2 (en) | 2016-11-04 | 2021-02-16 | Microsoft Technology Licensing, Llc | Delegated authorization for isolated collections |
| KR102526608B1 (ko) * | 2018-02-27 | 2023-05-02 | 에스케이하이닉스 주식회사 | 전자 장치 및 그것의 동작 방법 |
| US10528269B2 (en) * | 2018-03-02 | 2020-01-07 | Western Digital Technologies, Inc. | Advanced flash scan algorithm |
| CN108595124A (zh) * | 2018-04-27 | 2018-09-28 | 江苏华存电子科技有限公司 | 一种提升多颗闪存平行写入校能的管理方法 |
| US11366753B2 (en) * | 2018-07-31 | 2022-06-21 | Marvell Asia Pte Ltd | Controlling performance of a solid state drive |
| JP7159036B2 (ja) | 2018-12-25 | 2022-10-24 | キオクシア株式会社 | メモリデバイス |
| US10949115B2 (en) | 2019-06-24 | 2021-03-16 | Western Digital Technologies, Inc. | Flash memory polling |
| JP7458740B2 (ja) | 2019-10-21 | 2024-04-01 | キオクシア株式会社 | メモリシステム及び制御方法 |
| CN111078146B (zh) * | 2019-12-13 | 2023-11-14 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
| US11062761B1 (en) * | 2020-01-13 | 2021-07-13 | Infineon Technologies Ag | Digital address compensation for memory devices |
| JP2021111259A (ja) | 2020-01-15 | 2021-08-02 | キオクシア株式会社 | メモリシステムとその制御方法 |
| US11150841B2 (en) * | 2020-02-10 | 2021-10-19 | Western Digital Technologies, Inc. | NAND dropped command detection and recovery |
| JP2021174566A (ja) * | 2020-04-27 | 2021-11-01 | キオクシア株式会社 | 半導体記憶装置 |
| US11354041B2 (en) * | 2020-06-12 | 2022-06-07 | Western Digital Technologies, Inc. | Read latency reduction through command and polling overhead avoidance |
| US11775185B2 (en) * | 2020-09-17 | 2023-10-03 | Micron Technology, Inc. | Power budget arbitration for multiple concurrent access operations in a memory device |
| JP2023023980A (ja) | 2021-08-06 | 2023-02-16 | キオクシア株式会社 | メモリシステム |
| US11836384B2 (en) | 2022-03-10 | 2023-12-05 | Western Digital Technologies, Inc. | Automatic prediction timers adaptation |
| CN114780032A (zh) * | 2022-04-22 | 2022-07-22 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据读取方法、装置、设备及存储介质 |
| US12112165B2 (en) * | 2022-09-29 | 2024-10-08 | Macronix International Co., Ltd. | Managing status information of logic units |
| US12386738B1 (en) | 2024-03-15 | 2025-08-12 | Dell Products L.P. | Providing endurance to solid state device storage |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5892981A (en) * | 1996-10-10 | 1999-04-06 | Hewlett-Packard Company | Memory system and device |
| US5894485A (en) * | 1997-03-31 | 1999-04-13 | Emc Corporation | Disk array write protection at the sub-unit level |
| US6215703B1 (en) * | 1998-12-04 | 2001-04-10 | Intel Corporation | In order queue inactivity timer to improve DRAM arbiter operation |
| JP2003256273A (ja) * | 2002-02-26 | 2003-09-10 | Nec Corp | フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法 |
| US6859856B2 (en) * | 2001-10-23 | 2005-02-22 | Flex P Industries Sdn. Bhd | Method and system for a compact flash memory controller |
| US20070174573A1 (en) * | 2002-02-07 | 2007-07-26 | Shigemasa Shiota | Nonvolatile memory system |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6065093A (en) * | 1998-05-15 | 2000-05-16 | International Business Machines Corporation | High bandwidth narrow I/O memory device with command stacking |
-
2008
- 2008-09-29 US US12/241,000 patent/US8438356B2/en active Active
- 2008-10-01 TW TW097137662A patent/TWI500040B/zh not_active IP Right Cessation
- 2008-10-01 WO PCT/US2008/078462 patent/WO2009046115A1/en not_active Ceased
-
2013
- 2013-04-30 US US13/874,218 patent/US8645656B2/en active Active
-
2014
- 2014-01-07 US US14/149,733 patent/US9218284B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5892981A (en) * | 1996-10-10 | 1999-04-06 | Hewlett-Packard Company | Memory system and device |
| US5894485A (en) * | 1997-03-31 | 1999-04-13 | Emc Corporation | Disk array write protection at the sub-unit level |
| US6215703B1 (en) * | 1998-12-04 | 2001-04-10 | Intel Corporation | In order queue inactivity timer to improve DRAM arbiter operation |
| US6859856B2 (en) * | 2001-10-23 | 2005-02-22 | Flex P Industries Sdn. Bhd | Method and system for a compact flash memory controller |
| US20070174573A1 (en) * | 2002-02-07 | 2007-07-26 | Shigemasa Shiota | Nonvolatile memory system |
| JP2003256273A (ja) * | 2002-02-26 | 2003-09-10 | Nec Corp | フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20140122786A1 (en) | 2014-05-01 |
| US20130290614A1 (en) | 2013-10-31 |
| US8645656B2 (en) | 2014-02-04 |
| US20090089492A1 (en) | 2009-04-02 |
| US9218284B2 (en) | 2015-12-22 |
| TW200935436A (en) | 2009-08-16 |
| US8438356B2 (en) | 2013-05-07 |
| WO2009046115A1 (en) | 2009-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI500040B (zh) | 快閃記憶體控制器 | |
| JP5360214B2 (ja) | マルチプレーン型フラッシュメモリへのデータのプログラミング方法、これを用いたデバイスおよびシステム | |
| CN103971739B (zh) | 包括非易失性存储设备的存储系统及其编程方法 | |
| US7243185B2 (en) | Flash memory system with a high-speed flash controller | |
| CN103137197B (zh) | 半导体存储器件及其读取方法和数据储存器件 | |
| US7916557B2 (en) | NAND interface | |
| JP2009510656A (ja) | 複数の独立したシリアルリンクメモリ | |
| US8869004B2 (en) | Memory storage device, memory controller thereof, and data transmission method thereof | |
| CN110413446B (zh) | 数据存储设备及其操作方法 | |
| CN113220220B (zh) | 控制器、控制器的操作方法及包括该控制器的存储装置 | |
| US11422708B2 (en) | Memory interface, data storage device including the same and operating method thereof | |
| CN110196823A (zh) | 电子装置及其操作方法 | |
| CN109992202A (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
| US12423251B2 (en) | Memory device, method for controlling memory device and memory system | |
| US20190220220A1 (en) | Data storage device, operating method thereof and nonvolatile memory device | |
| US10127984B2 (en) | Method for operating storage device determining wordlines for writing user data depending on reuse period | |
| US12315573B2 (en) | Method and apparatus to reduce power consumption of page buffer circuitry in a non-volatile memory device | |
| CN118245402A (zh) | 提高多逻辑单元(lun)操作效率的总线间插协议 | |
| US20250284404A1 (en) | Memory system and control method thereof, and electronic apparatus | |
| US20250298740A1 (en) | Memory device, operation method thereof, and memory system | |
| US20250149074A1 (en) | Memory device, control logic circuit, and method of operating thereof | |
| US20240152295A1 (en) | Peak power management with dynamic data path operation current budget management | |
| CN120636490A (zh) | 存储器的操作方法、存储器、存储系统及电子系统 | |
| CN121148448A (zh) | 存储装置、非易失性存储器装置以及操作存储器控制器的方法 | |
| CN120540575A (zh) | 存储系统的操作方法、控制器、存储系统及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |