TWI701677B - Ssd device and related data writing method - Google Patents
Ssd device and related data writing method Download PDFInfo
- Publication number
- TWI701677B TWI701677B TW109106296A TW109106296A TWI701677B TW I701677 B TWI701677 B TW I701677B TW 109106296 A TW109106296 A TW 109106296A TW 109106296 A TW109106296 A TW 109106296A TW I701677 B TWI701677 B TW I701677B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- solid state
- block
- character line
- state drive
- Prior art date
Links
Images
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
本發明涉及固態硬碟(solid-state drive,SSD),尤指一種可彈性調整資料編程模式(program scheme)的固態硬碟裝置與相關的資料寫入方法。The present invention relates to a solid-state drive (solid-state drive, SSD), in particular to a solid-state drive device capable of flexibly adjusting a data programming mode (program scheme) and a related data writing method.
固態硬碟裝置中包含許多快閃記憶體區塊,這些區塊通常會被劃分為預留空間區塊(over provision block,OP block)與資料區塊。預留空間區塊的數量會影響固態硬碟裝置的運作效能,而資料區塊的數量則會影響固態硬碟裝置的資料儲存容量。當任一區塊中無法使用的實體頁超過一定數量時,傳統固態硬碟裝置的控制電路便會將該區塊整個標示為壞塊(bad block),而不再使用該區塊中的任何實體頁來儲存資料。A solid-state drive device contains many flash memory blocks, and these blocks are usually divided into over provision blocks (OP blocks) and data blocks. The number of reserved space blocks affects the operating performance of the solid state drive device, and the number of data blocks affects the data storage capacity of the solid state drive device. When the number of unusable physical pages in any block exceeds a certain number, the control circuit of the traditional solid-state drive device will mark the block as a bad block and no longer use any of the blocks in the block. Physical pages to store data.
另一方面,傳統固態硬碟裝置的控制電路是以整個區塊為單位來設置每一區塊的資料編程模式。因此,倘若某一區塊有部分實體頁出現瑕疵而不適用該種資料編程模式,便容易發生資料出錯的情況,或是增加該區塊被傳統控制電路判定為壞塊(bad block)的可能性,進而降低固態硬碟裝置的可用儲存空間。On the other hand, the control circuit of the conventional solid-state hard disk device sets the data programming mode of each block in the unit of the entire block. Therefore, if some physical pages of a block are defective and do not apply this data programming mode, data errors are prone to occur, or the block may be judged as a bad block by traditional control circuits. Performance, thereby reducing the available storage space of the solid state drive device.
很明顯地,傳統固態硬碟裝置的控制機制無法充分運用快閃記憶體區塊的儲存能力,而且在快閃記憶體區塊的使用上也缺乏彈性,所以也難以有效改善固態硬碟裝置的運作效能。Obviously, the control mechanism of the traditional solid-state drive device cannot fully utilize the storage capacity of the flash memory block, and it is also inflexible in the use of the flash memory block, so it is difficult to effectively improve the performance of the solid-state drive device. Operational efficiency.
有鑑於此,如何減輕或消除上述傳統固態硬碟裝置的缺失,實為有待解決的問題。In view of this, how to reduce or eliminate the deficiency of the above-mentioned traditional solid-state hard disk device is a problem to be solved.
本說明書提供一種固態硬碟裝置的實施例,其包含:多個記憶體區塊,其中,該多個記憶體區塊包含一目標區塊,且該目標區塊中包含多條字元線與多條位元線;以及一固態硬碟控制電路,該固態硬碟控制電路包含:一存取電路,耦接於該多個記憶體區塊;以及一記憶體控制電路,耦接於該存取電路,設置成進行以下運作:在一第一時間點依據一字元線分類紀錄的該目標區塊中的一第一字元線的分類來決定一第一編程模式,並控制該存取電路以該第一編程模式,將一第一資料寫入該第一字元線所耦接的一或多個實體頁;以及在一第二時間點依據該字元線分類紀錄的該目標區塊中的一第二字元線的分類來決定一第二編程模式,並控制該存取電路以該第二編程模式,將一第二資料寫入該第二字元線所耦接的一或多個實體頁,使得該第一資料與該第二資料同時存在於該目標區塊中;其中,該字元線分類紀錄中記錄有該多條字元線個別的字元線類型;其中,該第一編程模式與該第二編程模式為不同的編程模式。This specification provides an embodiment of a solid state drive device, which includes: a plurality of memory blocks, wherein the plurality of memory blocks include a target block, and the target block includes a plurality of character lines and A plurality of bit lines; and a solid state drive control circuit, the solid state drive control circuit includes: an access circuit coupled to the plurality of memory blocks; and a memory control circuit coupled to the memory The fetching circuit is configured to perform the following operations: at a first time point, a first programming mode is determined according to the classification of a first character line in the target block recorded by a character line classification record, and the access is controlled The circuit writes a first data into one or more physical pages coupled to the first word line in the first programming mode; and at a second time point according to the word line classification record in the target area The classification of a second word line in the block determines a second programming mode, and controls the access circuit to use the second programming mode to write a second data into a second word line coupled to the second word line Or multiple physical pages, so that the first data and the second data exist in the target block at the same time; wherein, the character line classification record records the individual character line types of the plurality of character lines; wherein , The first programming mode and the second programming mode are different programming modes.
本說明書另提供一種用於一固態硬碟裝置的資料寫入方法的實施例。該固態硬碟裝置包含多個記憶體區塊以及一固態硬碟控制電路,該多個記憶體區塊包含一目標區塊,且該目標區塊中包含多條字元線與多條位元線,該資料寫入方法包含:在一第一時間點,利用該固態硬碟控制電路依據一字元線分類紀錄的該目標區塊中的一第一字元線的分類來決定一第一編程模式,並以該第一編程模式將一第一資料寫入該第一字元線所耦接的一或多個實體頁;以及在一第二時間點,利用該固態硬碟控制電路依據該字元線分類紀錄的該目標區塊中的一第二字元線的分類來決定一第二編程模式,並以該第二編程模式將一第二資料寫入該第二字元線所耦接的一或多個實體頁,其中,該第一資料與該第二資料同時存在於該目標區塊;其中,該字元線分類紀錄中記錄有該多條字元線個別的字元線類型;其中,該第一編程模式與該第二編程模式為不同的編程模式。This specification also provides an embodiment of a data writing method for a solid state drive device. The solid state disk device includes a plurality of memory blocks and a solid state disk control circuit, the plurality of memory blocks include a target block, and the target block includes a plurality of character lines and a plurality of bits Line, the data writing method includes: at a first point in time, using the solid-state drive control circuit to determine a first character line classification in the target block according to a character line classification record Programming mode, and writing a first data into one or more physical pages coupled to the first word line in the first programming mode; and at a second time point, using the solid-state drive control circuit according to The classification of a second character line in the target block of the character line classification record determines a second programming mode, and a second data is written into the second character line in the second programming mode One or more physical pages that are coupled, wherein the first data and the second data exist in the target block at the same time; wherein, the character line classification record records individual characters of the plurality of character lines Line type; wherein, the first programming mode and the second programming mode are different programming modes.
上述實施例的優點之一,是快閃記憶體控制電路以字元線為單位來設置個別快閃記憶體區塊中的不同部分的資料編程模式,可大幅提升寫入資料至快閃記憶體區塊時的資料編程模式選擇彈性,有利於充分運用快閃記憶體區塊的儲存能力,進而可在不增加快閃記憶體區塊數量的情況下等效增加固態硬碟裝置的儲存空間。One of the advantages of the above-mentioned embodiment is that the flash memory control circuit sets the data programming mode for different parts of the individual flash memory blocks in units of word lines, which can greatly improve the writing of data to the flash memory. The flexibility of data programming mode selection during block is conducive to making full use of the storage capacity of the flash memory block, which can effectively increase the storage space of the solid state drive device without increasing the number of flash memory blocks.
上述實施例的另一優點,是快閃記憶體控制電路會對同一區塊中的不同類型的字元線採用不同的資料編程模式來寫入資料,所以能夠提升區塊中的資料可靠度。Another advantage of the above embodiment is that the flash memory control circuit uses different data programming modes for different types of character lines in the same block to write data, so the reliability of the data in the block can be improved.
本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。Other advantages of the present invention will be explained in more detail with the following description and drawings.
以下將配合相關圖式來說明本發明的實施例。在圖式中,相同的標號表示相同或類似的元件或方法流程。The embodiments of the present invention will be described below in conjunction with related drawings. In the drawings, the same reference numerals indicate the same or similar elements or method flows.
圖1為本發明第一實施例的固態硬碟裝置100簡化後的功能方塊圖。固態硬碟裝置100包含一固態硬碟110、一傳輸介面140、一非揮發性儲存電路150、以及一固態硬碟控制電路160。FIG. 1 is a simplified functional block diagram of a solid
固態硬碟110中包含多個快閃記憶體區塊(flash memory block),例如,圖1中的示例性區塊112、114、與116。如圖1所示,每個快閃記憶體區塊中都包含多條字元線與多條位元線。例如,區塊112中包含示例性的字元線121、122、與123、以及示例性的位元線131、132、與133;區塊114中包含示例性的字元線124、125、與126、以及示例性的位元線134、135、與136;區塊116中包含示例性的字元線127、128、與129、以及示例性的位元線137、138、與139。The
在各快閃記憶體區塊中,每一字元線與每一位元線的相交處都設置有一儲存單元(storage cell),可用於儲存資料。因此,每個快閃記憶體區塊中都會包含許多儲存單元。為了降低圖面複雜度起見,這些儲存單元並未繪示於圖1中。In each flash memory block, a storage cell is provided at the intersection of each character line and each bit line, which can be used to store data. Therefore, each flash memory block contains many storage units. In order to reduce the complexity of the drawing, these storage units are not shown in FIG. 1.
前述固態硬碟110中的區塊112、114、與116皆可用一階儲存單元(Single-level cell,SLC)晶片、多階儲存單元(Multi-level cell,MLC)晶片、三階儲存單元(Triple-level cell,TLC)晶片、四階儲存單元(Quad-level cell,QLC)晶片、或是更高階的儲存單元晶片來實現。
傳輸介面140設置成與一主控裝置(host device,未繪示於圖1中)進行資料通信。實作上,傳輸介面140可用相容於各種序列式先進附加技術(Serial Advanced Technology Attachment,SATA)系列傳輸標準、快速週邊組件互連(peripheral component interconnect express,PCIe)系列傳輸標準、和/或通用串列匯流排(Universal Serial Bus,USB)系列傳輸標準的介面電路來實現。The
儲存電路150用於儲存固態硬碟110的個別區塊中的所有字元線的分類結果。The
固態硬碟控制電路160包含一存取電路162以及一快閃記憶體控制電路164。存取電路162耦接於固態硬碟110。快閃記憶體控制電路164耦接於傳輸介面140與儲存電路150,設置成透過存取電路162對固態硬碟110進行存取。當需要寫入資料至固態硬碟110時,快閃記憶體控制電路164可從固態硬碟110中挑選合適的區塊,並依據儲存電路150所儲存的字元線的分類結果,來決定選定區塊中的個別字元線所連接的儲存單元的資料編程方式。The solid state
實作上,儲存電路150可獨立設置於固態硬碟控制電路160之外,也可以整合到固態硬碟控制電路160中。為了說明上的方便,在圖1中並未繪示固態硬碟裝置100中的其他元件及相關的連接與實施方式。In practice, the
在固態硬碟110的製造或組裝過程中,製造商可對固態硬碟110中的所有快閃記憶體區塊進行各種電路特性檢測,以判斷個別區塊的主陣列(main array)的瑕疵程度和/或瑕疵分布狀況。固態硬碟110的製造商可根據前述檢測的結果研判各區塊中的不同部位的硬體品質、資料讀取可靠度、資料長期保留能力、和/或耐用度等電路特性,並根據研判結果將該區塊中的不同部位以字元線為單位進行分類。During the manufacturing or assembling process of the
例如,在固態硬碟110中的區塊是以四階儲存單元晶片實現的實施例中,製造商可將各區塊中的不同字元線區分為Q類、T類、M類、與S類四個類型。S類(S-type)代表字元線所連接的多數儲存單元只適合用每儲存單元一位元(one-bit-per-cell,1bpc)的編程模式(以下簡稱一位元模式,1bpc scheme)來寫入資料。M類(M-type)代表字元線所連接的多數儲存單元可以用每儲存單元兩位元(two-bit-per-cell,2bpc)的模式(以下簡稱兩位元模式,2bpc scheme)來寫入資料,也可以用一位元模式來寫入資料。T類(T-type)代表字元線所連接的多數儲存單元可以用每儲存單元三位元(three-bit-per-cell,3bpc)的模式(以下簡稱三位元模式,3bpc scheme)來寫入資料,也可以用兩位元模式或是一位元模式來寫入資料。Q類(Q-type)代表字元線所連接的多數儲存單元可以用每儲存單元四位元(four-bit-per-cell,4bpc)的模式(以下簡稱四位元模式,4bpc scheme)來寫入資料,也可以用三位元模式、兩位元模式、或是一位元模式來寫入資料。For example, in an embodiment in which the blocks in the
前述的分類方式在某種程度上代表M類字元線所連接的儲存單元的整體瑕疵少於S類字元線,T類字元線所連接的儲存單元的整體瑕疵少於M類字元線,而Q類字元線所連接的儲存單元的整體瑕疵又少於T類字元線。換言之,Q類字元線所連接的儲存單元的整體電路品質比其他類型的字元線來得好。The foregoing classification method to some extent means that the overall defect of the storage unit connected to the M-type character line is less than that of the S-type character line, and the overall defect of the storage unit connected to the T-type character line is less than the M-type character. The overall defect of the storage unit connected to the Q-type character line is less than that of the T-type character line. In other words, the overall circuit quality of the storage cells connected to the Q-type word lines is better than other types of word lines.
又例如,在固態硬碟110中的區塊是以三階儲存單元晶片實現的實施例中,製造商可將各區塊中的字元線區分為前述的T類、M類、與S類三個類型。For another example, in an embodiment in which the blocks in the
又例如,在固態硬碟110中的區塊是以多階儲存單元晶片實現的實施例中,製造商可將各區塊中的字元線區分為前述的M類與S類兩個類型。For another example, in an embodiment in which the blocks in the
由前述說明可知,一位元模式可適用於S類字元線、M類字元線、T類字元線、或Q類字元線所連接的儲存單元。二位元模式只適用於M類字元線、T類字元線、或Q類字元線所連接的儲存單元,而不適用於S類字元線所連接的儲存單元。三位元模式只適用於T類字元線或Q類字元線所連接的儲存單元,而不適用於M類字元線與S類字元線所連接的儲存單元。四位元模式只適用於Q類字元線所連接的儲存單元,而不適用於T類字元線、M類字元線、與S類字元線所連接的儲存單元。It can be seen from the foregoing description that the one-bit mode can be applied to storage cells connected to type S character lines, type M character lines, type T character lines, or type Q character lines. The two-bit mode is only applicable to storage units connected to M-type character lines, T-type character lines, or Q-type character lines, but not to storage units connected to S-type character lines. The three-bit mode is only applicable to the storage cells connected to the T-type character line or the Q-type character line, but not to the storage cells connected to the M-type character line and the S-type character line. The four-bit mode is only applicable to storage units connected to type Q character lines, and not to storage units connected to type T character lines, type M character lines, and type S character lines.
請注意,前述的Q類、T類、M類、與S類等用語,只是為了方便區別不同的類型,實作上可用任何合適的名稱、代碼、數字、或索引值來表達不同的字元線類型。Please note that the aforementioned terms such as Q, T, M, and S are just for the convenience of distinguishing different types. In practice, any suitable name, code, number, or index value can be used to express different characters Line type.
製造商可將固態硬碟110的各區塊中的字元線分類結果,預先儲存在固態硬碟裝置100中。例如,在本實施例中,可將固態硬碟110的各區塊中的字元線分類結果,以合適的形式預先記錄在前述的儲存電路150中,以做為一字元線分類紀錄。The manufacturer can pre-store the character line classification results in each block of the
例如,圖2所繪示為本發明一實施例的字元線分類紀錄152簡化後的示意圖。字元線分類紀錄152包含固態硬碟110中的多個區塊的字元線分類結果。例如,字元線分類紀錄152中的資料項目210、220、與230,分別代表區塊112中的字元線121、122、與123的字元線類型(word-line type);資料項目240、250、與260分別代表區塊114中的字元線124、125、與126的字元線類型;而資料項目270、280、與290則分別代表區塊116中的字元線127、128、與129的字元線類型。For example, FIG. 2 shows a simplified schematic diagram of the character
從圖2實施例中的資料項目210~290的內容可以得知,區塊112中的字元線121屬於S類字元線;區塊112中的字元線122與123、以及區塊114中的字元線126都屬於M類字元線;區塊114中的字元線124屬於T類字元線;區塊114中的字元線125以及區塊116中的字元線127、128、與129都屬於Q類字元線。From the content of the
由前述的字元線分類方式可知,Q類字元線所連接的儲存單元在資料編程模式的選擇上具有最大的彈性、T類字元線次之、M類字元線再次之。As can be seen from the foregoing classification of character lines, the storage cells connected to the Q-type character lines have the greatest flexibility in the selection of the data programming mode, followed by the T-type character lines and the M-type character lines again.
因此,當需要寫入資料至固態硬碟110時,快閃記憶體控制電路164可從固態硬碟110中挑選出合適的區塊,並依據字元線分類紀錄152的內容選用相應的編程模式,以將資料寫入選定區塊中的個別字元線所連接的一或多個實體頁(page)。Therefore, when data needs to be written to the
以下將進一步說明固態硬碟控制電路160對於固態硬碟110的存取方式。為了方便說明起見,在此假設快閃記憶體控制電路164選擇區塊114做為要寫入資料的區塊。The following will further describe how the solid state
當快閃記憶體控制電路164要在某一時間點T1將一資料D1寫入區塊114中的字元線124所對應的實體位置時,快閃記憶體控制電路164可從圖2的字元線分類紀錄152中查詢字元線124的分類,並得知字元線124屬於T類字元線。When the flash
如前所述,T類代表字元線所連接的儲存單元可以用三位元模式、兩位元模式、或是一位元模式來寫入資料。快閃記憶體控制電路164可依據當時採用的區塊管理策略選擇合適的編程模式,並控制存取電路162採用選定的編程模式將資料D1寫入字元線124所連接的一或多個實體頁。As mentioned above, the T-type represents that the storage unit connected to the word line can use three-bit mode, two-bit mode, or one-bit mode to write data. The flash
例如,假設當時的區塊管理策略為容量優先模式(capacity-take-priority approach),則存取電路162可採用三位元模式來寫入資料D1。For example, assuming that the current block management strategy is the capacity-take-priority approach, the
又例如,假設當時的區塊管理策略為效能優先模式(performance-take-priority approach),則存取電路162可採用一位元模式來寫入資料D1。For another example, assuming that the current block management strategy is a performance-take-priority approach, the
又例如,假設當時的區塊管理策略為平衡模式(balance approach),則存取電路162可採用三位元模式或兩位元模式來寫入資料D1。For another example, assuming that the current block management strategy is a balance approach, the
當快閃記憶體控制電路164要在另一時間點T2將另一資料D2寫入區塊114中的字元線125所對應的實體位置時,快閃記憶體控制電路164可從圖2的字元線分類紀錄152中查詢字元線125的分類,並得知字元線125屬於Q類字元線。When the flash
如前所述,Q類代表字元線所連接的儲存單元可以用四位元模式、三位元模式、兩位元模式、或是一位元模式來寫入資料。快閃記憶體控制電路164可依據當時的區塊管理策略選擇合適的編程模式,並控制存取電路162採用選定的編程模式將資料D2寫入字元線125所連接的一或多個實體頁。As mentioned above, the storage unit connected to the Q type represents the word line can use four-bit mode, three-bit mode, two-bit mode, or one-bit mode to write data. The flash
例如,假設當時的區塊管理策略為容量優先模式,則存取電路162可採用四位元模式來寫入資料D2。For example, assuming that the current block management strategy is the capacity priority mode, the
又例如,假設當時的區塊管理策略為效能優先模式,則存取電路162可採用一位元模式來寫入資料D2。For another example, assuming that the current block management strategy is the performance priority mode, the
又例如,假設當時的區塊管理策略為平衡模式,則存取電路162可採用三位元模式或兩位元模式來寫入資料D2。For another example, assuming that the current block management strategy is a balanced mode, the
當快閃記憶體控制電路164要在另一時間點T3將另一資料D3寫入區塊114中的字元線126所對應的實體位置時,快閃記憶體控制電路164可從圖2的字元線分類紀錄152中查詢字元線126的分類,並得知字元線126屬於M類字元線。When the flash
如前所述,M類代表字元線所連接的儲存單元可以用兩位元模式或是一位元模式來寫入資料。快閃記憶體控制電路164可依據當時的區塊管理策略選擇合適的編程模式,並控制存取電路162採用選定的編程模式將資料D3寫入字元線126所連接的一或多個實體頁。As mentioned above, the storage unit connected to the M type represents the word line can use the two-bit mode or the one-bit mode to write data. The flash
例如,假設當時的區塊管理策略為容量優先模式,則存取電路162可採用兩位元模式來寫入資料D3。For example, assuming that the current block management strategy is the capacity priority mode, the
又例如,假設當時的區塊管理策略為效能優先模式,則存取電路162可採用一位元模式來寫入資料D3。For another example, assuming that the current block management strategy is the performance priority mode, the
又例如,假設當時的區塊管理策略為平衡模式,則存取電路162可採用兩位元模式來寫入資料D3。For another example, assuming that the current block management strategy is a balanced mode, the
由前述說明可知,固態硬碟控制電路160可依據不同字元線的電路特性,對同一區塊114中的不同字元線採用不同的資料編程模式。因此,區塊114中的不同字元線所連接的儲存單元的資料編程模式在同一時間點可能會有所不同。It can be seen from the foregoing description that the solid-state
例如,如圖3所示,在快閃記憶體控制電路164採用容量優先模式管理固態硬碟110的情況下,存取電路162可在時間點T1採用三位元模式將資料D1寫入字元線124所連接的一或多個實體頁、在時間點T2採用四位元模式將資料D2寫入字元線125所連接的一或多個實體頁、並在時間點T3採用兩位元模式將資料D3寫入字元線126所連接的一或多個實體頁。如此一來,區塊114中便會同時存在以三位元模式寫入的資料D1、以四位元模式寫入的資料D2、以及以兩位元模式寫入的資料D3。For example, as shown in FIG. 3, in the case where the flash
對於固態硬碟110中的其他區塊,固態硬碟控制電路160都能依據字元線分類紀錄152的內容,來選擇個別字元線所連接的儲存單元的資料編程模式。For other blocks in the
隨著時間的經過,快閃記憶體控制電路164可以在適當的時機將區塊114中所儲存的資料抹除,以使區塊114能夠用來儲存其他的資料。As time passes, the flash
另外,在運作的過程中,快閃記憶體控制電路164可以依照固態硬碟110的剩餘儲存空間、待寫入資料的資料屬性、主控裝置的要求、用戶的設置、或是當時固態硬碟裝置100的操作環境,動態調整區塊管理模式。In addition, during operation, the flash
例如,一般可將會被經常存取的資料稱為熱資料,並將較不會被經常存取的資料稱為冷資料。在區塊114被抹除之後,倘若快閃記憶體控制電路164需要將屬於熱資料的新資料D4、D5、與D6分別寫入區塊114中的字元線124、125、與126所對應的實體位置,則快閃記憶體控制電路164可採用效能優先模式來存取區塊114。在此情況下,如圖4所示,快閃記憶體控制電路164可在時間點T4控制存取電路162採用一位元模式將資料D4寫入字元線124所連接的一或多個實體頁、在時間點T5採用一位元模式將資料D5寫入字元線125所連接的一或多個實體頁、並在時間點T6採用一位元模式將資料D6寫入字元線126所連接的一或多個實體頁。如此一來,區塊114中所儲存的資料D4、D5、與D6便會具有相同的編程模式,亦即,一位元模式。For example, data that is frequently accessed can generally be called hot data, and data that is less frequently accessed is called cold data. After the
又例如,在區塊114被抹除之後,倘若主控裝置或用戶要求快閃記憶體控制電路164將區塊管理策略改為平衡模式、且快閃記憶體控制電路164需要將新資料D7、D8、與D9分別寫入區塊114中的字元線124、125、與126所對應的實體位置,則快閃記憶體控制電路164可採用平衡模式來對存取區塊114。在此情況下,如圖5所示,快閃記憶體控制電路164可在時間點T7控制存取電路162採用三位元模式將資料D7寫入字元線124所連接的一或多個實體頁、在時間點T8採用三位元模式將資料D8寫入字元線125所連接的一或多個實體頁、並在時間點T9採用兩位元模式將資料D9寫入字元線126所連接的一或多個實體頁。如此一來,區塊114中便會同時存在以三位元模式寫入的資料D7與D8、以及以兩位元模式寫入的資料D9。For another example, after the
由前述說明可知,對於區塊114中的同一條字元線所連接的實體頁而言,固態硬碟控制電路160在不同的時間點可以採用不同的資料編程模式來寫入資料。例如,在前述的實施例中,區塊114中的字元線124所對應的資料編程模式有時候是三位元模式、有時候則是一位元模式;字元線125所對應的資料編程模式有時候是四位元模式、有時候是一位元模式、有時候則是三位元模式;字元線126所對應的資料編程模式有時候是兩位元模式、有時候則是一位元模式。As can be seen from the foregoing description, for the physical pages connected by the same word line in the
由前述說明可知,快閃記憶體控制電路164是以字元線為單位來設置相關實體頁的資料編程模式,因此能大幅提升寫入資料至快閃記憶體區塊時的資料編程模式選擇彈性。It can be seen from the foregoing description that the flash
前述的區塊使用方式有利於充分運用每個快閃記憶體區塊的儲存能力,進而能夠在不增加固態硬碟110中的快閃記憶體區塊數量的情況下等效增加固態硬碟裝置100的儲存空間。The aforementioned block usage method is conducive to making full use of the storage capacity of each flash memory block, and can effectively increase the solid state drive device without increasing the number of flash memory blocks in the
另一方面,由於快閃記憶體控制電路164會對同一區塊中的不同類型的字元線適應性採用不同的資料編程模式來寫入資料,所以能夠提升個別區塊中的資料可靠度。On the other hand, since the flash
隨著資料寫入或抹除次數的增加,個別字元線所連接的儲存單元的電路瑕疵可能會加、或是資料可靠度可能會有所降低。因此,快閃記憶體控制電路164可以在運作的過程中,根據各字元線所連接的實體頁的資料寫入次數或抹除次數,動態調整前述字元線分類紀錄152中的相應資料項目的內容。快閃記憶體控制電路164也可以採用各種合適的測試方式對各字元線所連接的實體頁進行可靠度測試,並根據測試的結果動態調整前述字元線分類紀錄152中的相應資料項目的內容。As the number of times of data writing or erasing increases, the circuit defects of the storage units connected to individual word lines may increase, or the reliability of data may decrease. Therefore, the flash
例如,如圖6所示,當快閃記憶體控制電路164判定區塊112中的字元線123所連接的多數儲存單元變成只適合用一位元模式來寫入資料時,快閃記憶體控制電路164可將字元線分類紀錄152中原先的資料項目230修改為新的資料項目630,使得字元線123的類型從M類變成S類。For example, as shown in FIG. 6, when the flash
又例如,當快閃記憶體控制電路164判定區塊114中的字元線125所連接的多數儲存單元變成只適合用三位元模式、兩位元模式、或是一位元模式來寫入資料,而不再適合用四位元模式來寫入資料時,快閃記憶體控制電路164可將字元線分類紀錄152中原先的資料項目250修改為新的資料項目650,使得字元線125的類型從Q類變成T類。For another example, when the flash
眾所周知,傳統的快閃記憶體控制電路對於整個區塊中的所有實體頁都是採用相同的資料編程模式,但這種做法沒有考慮到區塊中的不同部位的電路特性可能有所差異。因此,當傳統的快閃記憶體控制電路採用較高階的資料編程模式寫入資料至某一區塊、但該區塊中的部分實體位置因具有電路瑕疵而無法支援較高階的資料編程模式時,便容易發生資料出錯的情況,或是增加該區塊被傳統的快閃記憶體控制電路判定為壞塊(bad block)的可能性。一旦區塊被標示為壞塊的可能性增加,便會降低整體固態硬碟的可用儲存空間。As we all know, the traditional flash memory control circuit uses the same data programming mode for all physical pages in the entire block, but this approach does not take into account the possible differences in circuit characteristics of different parts of the block. Therefore, when the traditional flash memory control circuit uses a higher-level data programming mode to write data to a block, but some physical locations in the block cannot support the higher-level data programming mode due to circuit defects , It is easy to cause data errors, or increase the possibility that the block is judged as a bad block by the traditional flash memory control circuit. Once the possibility of a block being marked as a bad block increases, it will reduce the available storage space of the solid state drive.
不同於傳統的壞塊管理機制,只要固態硬碟110中的任一區塊中還有足夠數量的字元線所連接的實體頁能夠支援較低階的資料編程模式,本實施例中的快閃記憶體控制電路164便會依據前述的方式來使用該區塊,而不會將該區塊標示為壞塊。只有在某一區塊內的全部字元線或超過預定數量的字元線所連接的實體頁都不適合再被用來儲存資料時,快閃記憶體控制電路164才會將該區塊標示為壞塊。如此一來,便可降低區塊被判定為壞塊的可能性,進而增加固態硬碟110中的可用儲存空間並延長固態硬碟110的使用期限。Different from the traditional bad block management mechanism, as long as there are enough physical pages connected by character lines in any block of the
在某些實施例中,前述的快閃記憶體控制電路164還可彈性調整固態硬碟110中的個別區塊的用途。在實際應用中,可以將固態硬碟110的部份區塊劃分為預留空間區塊(over provision block,OP block)並將其他區塊劃分為資料區塊(data block)。如前所述,預留空間區塊的數量會影響固態硬碟裝置100的運作效能,而資料區塊的數量則會影響固態硬碟裝置100的資料儲存容量。In some embodiments, the aforementioned flash
因此,在運作的過程中,快閃記憶體控制電路164可按照預定的管理策略、固態硬碟110的剩餘儲存空間、主控裝置的要求、用戶的設置、或是當時固態硬碟裝置100的操作環境,彈性調整固態硬碟110中的部份區塊的用途。Therefore, during operation, the flash
例如,快閃記憶體控制電路164可在需要固態硬碟110提供較多資料儲存空間的一第一時段P1中,將區塊114設置成一資料區塊使用,並在快閃記憶體控制電路164需要提升固態硬碟110的存取效能的一第二時段P2中,則可將區塊114設置成一預留空間區塊使用。換言之,固態硬碟110中的部份區塊(例如,前述的區塊114)可以在不同的時段扮演不同的用途。For example, the flash
如此一來,便可大幅提升固態硬碟110中的區塊用途的調整彈性,進而有效增加固態硬碟裝置100的運作彈性與使用彈性。In this way, the adjustment flexibility of the block usage in the
請注意,前述圖1中的電路架構只是一示範性的實施例,並非侷限本發明的實際實施方式。Please note that the aforementioned circuit structure in FIG. 1 is only an exemplary embodiment, and does not limit the actual implementation of the present invention.
例如,圖7為本發明第二實施例的固態硬碟裝置簡化後的功能方塊圖。在圖7的實施例中,前述的字元線分類紀錄152是儲存在固態硬碟110的某一區塊中,例如,區塊112。For example, FIG. 7 is a simplified functional block diagram of the solid state drive device according to the second embodiment of the present invention. In the embodiment of FIG. 7, the aforementioned character
在某些實施例中,亦可將前述的字元線分類紀錄152分成多個區段分別儲存在固態硬碟110的不同區塊中。In some embodiments, the aforementioned character
在說明書及申請專利範圍中使用了某些詞彙來指稱特定的元件,而本領域內的技術人員可能會用不同的名詞來稱呼同樣的元件。本說明書及申請專利範圍並不以名稱的差異來作爲區分元件的方式,而是以元件在功能上的差異來作爲區分的基準。在說明書及申請專利範圍中所提及的「包含」爲開放式的用語,應解釋成「包含但不限定於」。另外,「耦接」一詞在此包含任何直接及間接的連接手段。因此,若文中描述第一元件耦接於第二元件,則代表第一元件可通過電性連接或無線傳輸、光學傳輸等信號連接方式而直接地連接於第二元件,或通過其它元件或連接手段間接地電性或信號連接至第二元件。In the specification and the scope of the patent application, certain words are used to refer to specific elements, and those skilled in the art may use different terms to refer to the same elements. This specification and the scope of the patent application do not use differences in names as a way of distinguishing elements, but use differences in functions of elements as a basis for distinction. The "include" mentioned in the specification and the scope of the patent application is an open term and should be interpreted as "include but not limited to". In addition, the term "coupled" herein includes any direct and indirect connection means. Therefore, if it is described in the text that the first element is coupled to the second element, it means that the first element can be directly connected to the second element through electrical connection, wireless transmission, optical transmission, or other signal connections, or through other elements or connections. The means is indirectly connected to the second element electrically or signally.
在說明書中所使用的「和/或」的描述方式,包含所列舉的其中一個項目或多個項目的任意組合。另外,除非說明書中特別指明,否則任何單數格的用語都同時包含複數格的含義。The description method of "and/or" used in the description includes one of the listed items or any combination of multiple items. In addition, unless otherwise specified in the specification, any term in the singular case also includes the meaning of the plural case.
以上僅為本發明的較佳實施例,凡依本發明請求項所做的等效變化與修改,皆應屬本發明的涵蓋範圍。The above are only preferred embodiments of the present invention, and all equivalent changes and modifications made in accordance with the claims of the present invention should fall within the scope of the present invention.
100:固態硬碟裝置(SSD device)100: solid state drive device (SSD device)
110:固態硬碟(SSD)110: Solid State Drive (SSD)
112、114、116:快閃記憶體區塊(flash memory block)112, 114, 116: flash memory block
121~129:字元線(word line)121~129: word line
131~139:位元線(bit line)131~139: bit line
140:傳輸介面(communication interface)140: Transmission interface (communication interface)
150:非揮發性儲存電路(non-volatile storage circuit)150: non-volatile storage circuit (non-volatile storage circuit)
152:字元線分類紀錄(word-line category record)152: word-line category record
160:固態硬碟控制電路(SSD controller circuit)160: solid state drive control circuit (SSD controller circuit)
162:存取電路(access circuit)162: access circuit
164:快閃記憶體控制電路(flash memory control circuit)164: flash memory control circuit (flash memory control circuit)
210~290、630、650:資料項目(data entry)210~290, 630, 650: data entry
圖1為本發明第一實施例的固態硬碟裝置簡化後的功能方塊圖。FIG. 1 is a simplified functional block diagram of the solid state drive device according to the first embodiment of the present invention.
圖2為本發明一實施例的字元線分類紀錄簡化後的示意圖。2 is a simplified schematic diagram of a character line classification record according to an embodiment of the present invention.
圖3至圖5為固態硬碟裝置中的一個快閃記憶體區塊在不同情境下的資料寫入方式的一實施例簡化後的示意圖。3 to 5 are simplified schematic diagrams of an embodiment of data writing methods for a flash memory block in a solid state drive device under different scenarios.
圖6為本發明另一實施例的字元線分類紀錄簡化後的示意圖。6 is a simplified schematic diagram of a character line classification record according to another embodiment of the present invention.
圖7為本發明第二實施例的固態硬碟裝置簡化後的功能方塊圖。FIG. 7 is a simplified functional block diagram of the solid state disk device according to the second embodiment of the present invention.
100:固態硬碟裝置 100: solid state drive device
110:固態硬碟 110: Solid State Drive
112、114、116:快閃記憶體區塊 112, 114, 116: Flash memory block
121~129:字元線 121~129: character line
131~139:位元線 131~139: bit line
140:傳輸介面 140: Transmission interface
150:非揮發性儲存電路 150: Non-volatile storage circuit
152:字元線分類紀錄 152: Character line classification record
160:固態硬碟控制電路 160: solid state drive control circuit
162:存取電路 162: Access circuit
164:快閃記憶體控制電路 164: Flash memory control circuit
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109106296A TWI701677B (en) | 2019-03-20 | 2019-03-20 | Ssd device and related data writing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109106296A TWI701677B (en) | 2019-03-20 | 2019-03-20 | Ssd device and related data writing method |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI701677B true TWI701677B (en) | 2020-08-11 |
TW202036551A TW202036551A (en) | 2020-10-01 |
Family
ID=73003122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109106296A TWI701677B (en) | 2019-03-20 | 2019-03-20 | Ssd device and related data writing method |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI701677B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200834591A (en) * | 2006-09-12 | 2008-08-16 | Sandisk Corp | Non-volatile memory and method for reduced erase/write cycling during trimming of initial programming voltage |
WO2009153781A1 (en) * | 2008-06-16 | 2009-12-23 | Sandisk Il Ltd. | Reverse order page writing in flash memories |
US20190043566A1 (en) * | 2018-06-26 | 2019-02-07 | Intel Corporation | Demarcation voltage determination via write and read temperature stamps |
-
2019
- 2019-03-20 TW TW109106296A patent/TWI701677B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200834591A (en) * | 2006-09-12 | 2008-08-16 | Sandisk Corp | Non-volatile memory and method for reduced erase/write cycling during trimming of initial programming voltage |
WO2009153781A1 (en) * | 2008-06-16 | 2009-12-23 | Sandisk Il Ltd. | Reverse order page writing in flash memories |
TW201009842A (en) * | 2008-06-16 | 2010-03-01 | Sandisk Il Ltd | Reverse order page writing in flash memories |
US8339855B2 (en) * | 2008-06-16 | 2012-12-25 | Sandisk Il Ltd. | Reverse order page writing in flash memories |
US20190043566A1 (en) * | 2018-06-26 | 2019-02-07 | Intel Corporation | Demarcation voltage determination via write and read temperature stamps |
Also Published As
Publication number | Publication date |
---|---|
TW202036551A (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11150808B2 (en) | Flash memory system | |
US7864572B2 (en) | Flash memory storage apparatus, flash memory controller, and switching method thereof | |
US9098395B2 (en) | Logical block management method for a flash memory and control circuit storage system using the same | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US20160231941A1 (en) | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
US20100011153A1 (en) | Block management method, and storage system and controller using the same | |
US8098523B2 (en) | Semiconductor memory device with memory cell having charge accumulation layer and control gate and memory system | |
US9213631B2 (en) | Data processing method, and memory controller and memory storage device using the same | |
US8892812B2 (en) | Flash memory device and data writing method for a flash memory | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
JP5612508B2 (en) | Nonvolatile memory controller and nonvolatile storage device | |
TWI701677B (en) | Ssd device and related data writing method | |
TWI690936B (en) | Ssd device and related ssd controller circuit | |
US11055023B2 (en) | Electronic device, related controller circuit and method | |
TWI537955B (en) | Flash memory controller | |
CN113450843B (en) | Circuit layout structure and memory storage device | |
KR100538338B1 (en) | Method for Uniformly Distributing Memory Blocks of Flash Memory and Data Storage Device Using The Method | |
CN116578244A (en) | Wear leveling method, memory storage device and memory controller | |
CN116719477A (en) | Wear leveling method, memory storage device and memory controller |