TW202345005A - A method for controlling data storage device - Google Patents
A method for controlling data storage device Download PDFInfo
- Publication number
- TW202345005A TW202345005A TW111123487A TW111123487A TW202345005A TW 202345005 A TW202345005 A TW 202345005A TW 111123487 A TW111123487 A TW 111123487A TW 111123487 A TW111123487 A TW 111123487A TW 202345005 A TW202345005 A TW 202345005A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- control method
- area
- memory
- memory module
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000013500 data storage Methods 0.000 title claims abstract description 77
- 238000004891 communication Methods 0.000 claims abstract description 82
- 230000004044 response Effects 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 13
- 230000000295 complement effect Effects 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 239000010410 layer Substances 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 102100037513 40S ribosomal protein S23 Human genes 0.000 description 4
- 102100022681 40S ribosomal protein S27 Human genes 0.000 description 4
- 101001097953 Homo sapiens 40S ribosomal protein S23 Proteins 0.000 description 4
- 101000678466 Homo sapiens 40S ribosomal protein S27 Proteins 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 102100022721 40S ribosomal protein S25 Human genes 0.000 description 2
- 102100034033 Alpha-adducin Human genes 0.000 description 2
- 102100024348 Beta-adducin Human genes 0.000 description 2
- 102100034004 Gamma-adducin Human genes 0.000 description 2
- 101000678929 Homo sapiens 40S ribosomal protein S25 Proteins 0.000 description 2
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 2
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 2
- 101000799011 Homo sapiens Gamma-adducin Proteins 0.000 description 2
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
本申請案主張美國第17/737,726及17/737,689號專利申請案之優先權(即優先權日為「2022年5月5日」),其內容以全文引用之方式併入本文中。This application claims priority to U.S. Patent Application Nos. 17/737,726 and 17/737,689 (that is, the priority date is "May 5, 2022"), the contents of which are incorporated herein by reference in their entirety.
本揭露關於一種資料儲存裝置的控制方法,特別是有關於一種資料儲存裝置在至少兩個區域儲存關聯資料的控制方法。The present disclosure relates to a control method for a data storage device, and in particular, to a control method for a data storage device to store associated data in at least two areas.
錯誤更正碼(Error correction code,ECC)廣泛用於資料儲存技術中,以檢測或更正資料損壞。然而,一些控制器在收到資料之前不會致能ECC功能。在收到的資料中發生的任何資料損壞都會影響控制器的ECC功能。Error correction code (ECC) is widely used in data storage technology to detect or correct data corruption. However, some controllers will not enable the ECC function until data is received. Any data corruption that occurs in the received data will affect the controller's ECC functionality.
上文之「先前技術」說明僅係提供背景技術,並未承認上文之「先前技術」說明揭示本揭露之標的,不構成本揭露之先前技術,且上文之「先前技術」之任何說明均不應作為本案之任一部分。The above description of "prior art" is only to provide background technology, and does not admit that the above description of "prior art" reveals the subject matter of the present disclosure. It does not constitute prior art of the present disclosure, and any description of the above "prior art" None should form any part of this case.
本揭露的一個方面提供一種資料儲存裝置的控制方法,包括:在該資料儲存裝置的一記憶體模組的一第一區域中儲存一第一資料;在該記憶體模組的一第二區域中儲存一第二資料,其中該第二資料與該第一資料相關聯;通過該第一通信介面讀取該第一資料與該第二資料;以及因應於該讀取的第一資料與第二資料,產生一第一輸出信號。One aspect of the present disclosure provides a control method for a data storage device, including: storing a first data in a first area of a memory module of the data storage device; and storing a first data in a second area of the memory module. store a second data in, wherein the second data is associated with the first data; read the first data and the second data through the first communication interface; and in response to the read first data and the second data two data to generate a first output signal.
本揭露的另一個方面提供一種資料儲存裝置。該資料儲存裝置包括一第一區域與一第二區域。該第一區域經配置以儲存一第一資料。該第二區域經配置以儲存一第二資料。該第二資料與該第一資料相關聯。該第一資料及/或該第二資料不包括一錯誤更正碼(ECC,error correction code)。Another aspect of the present disclosure provides a data storage device. The data storage device includes a first area and a second area. The first area is configured to store a first data. The second area is configured to store a second data. The second data is associated with the first data. The first data and/or the second data do not include an error correction code (ECC).
本揭露的另一個方面提供一種非暫時性電腦可讀媒介,儲存包括指令的一程式,當由一處理器執行時,使一資料儲存裝置:在一記憶體的一第一區域中儲存一第一資料;在該記憶體的一第二區域中儲存一第二資料,其中該第二資料與該第一資料相關聯;通過一第一通信介面讀取該第一資料與該第二資料;以及因應於該讀取的第一資料與第二資料,產生一第一輸出信號。Another aspect of the present disclosure provides a non-transitory computer-readable medium storing a program including instructions that, when executed by a processor, cause a data storage device to: store a first region in a memory. a data; storing a second data in a second area of the memory, wherein the second data is associated with the first data; reading the first data and the second data through a first communication interface; and generating a first output signal in response to the read first data and second data.
本揭露的資料儲存裝置包括一記憶體控制器與一記憶體模組。該記憶體模組包括一第一區域與一第二區域。該第一區域與該第二區域經配置以分別儲存一第一資料與一第二資料。該第一資料與該第二資料相關聯以形成一資料對。該第一資料可以是一正常資料,該第二資料可以是一編碼資料。該記憶體控制器經配置以通過一通信介面讀取該第一資料與該第二資料,然後根據該讀取的第一資料與第二資料產生一輸出信號。產生該輸出信號包括對該第一資料與該第二資料執行一邏輯運算。當該輸出信號具有一第一值時,表示該第一資料與該第二資料沒有資料損壞。當該輸出信號具有一第二值時,表示該第一資料與該第二資料中的一個在其位元上具有資料損壞。對該輸出信號值的這種確定可在其他資料對上重複進行。本揭露的資料儲存裝置可在不使用錯誤更正碼(ECC)的情況下檢測資料對是否正確。這對於具有被動ECC功能的記憶體控制器是有利的,即在接收到資料後致能ECC功能。這樣的記憶體控制器仍然可以直接從記憶體模組中讀取正確的資料。用不正確的資料錯誤地觸發記憶體控制器的ECC功能的風險可以被降低。The data storage device of the present disclosure includes a memory controller and a memory module. The memory module includes a first area and a second area. The first area and the second area are configured to store a first data and a second data respectively. The first data is associated with the second data to form a data pair. The first data may be normal data, and the second data may be encoded data. The memory controller is configured to read the first data and the second data through a communication interface, and then generate an output signal based on the read first data and second data. Generating the output signal includes performing a logical operation on the first data and the second data. When the output signal has a first value, it indicates that the first data and the second data have no data corruption. When the output signal has a second value, it indicates that one of the first data and the second data has data corruption on its bits. This determination of the value of the output signal can be repeated for other data pairs. The data storage device of the present disclosure can detect whether the data pair is correct without using error correction code (ECC). This is advantageous for memory controllers with passive ECC functionality, that is, enabling the ECC function after receiving data. Such a memory controller can still read the correct data directly from the memory module. The risk of erroneously triggering the memory controller's ECC function with incorrect data can be reduced.
上文已相當廣泛地概述本揭露之技術特徵及優點,俾使下文之本揭露詳細描述得以獲得較佳瞭解。構成本揭露之申請專利範圍標的之其它技術特徵及優點將描述於下文。本揭露所屬技術領域中具有通常知識者應瞭解,可相當容易地利用下文揭示之概念與特定實施例可作為修改或設計其它結構或過程而實現與本揭露相同之目的。本揭露所屬技術領域中具有通常知識者亦應瞭解,這類等效建構無法脫離後附之申請專利範圍所界定之本揭露的精神和範圍。The technical features and advantages of the present disclosure have been summarized rather broadly above so that the detailed description of the present disclosure below may be better understood. Other technical features and advantages that constitute the subject matter of the patentable scope of the present disclosure will be described below. It should be understood by those of ordinary skill in the art that the concepts and specific embodiments disclosed below can be readily used to modify or design other structures or processes to achieve the same purposes of the present disclosure. Those with ordinary knowledge in the technical field to which the present disclosure belongs should also understand that such equivalent constructions cannot depart from the spirit and scope of the present disclosure as defined in the appended patent application scope.
現在用具體的語言來描述附圖中說明的本揭露的實施例,或實例。應理解的是,在此不打算限制本揭露的範圍。對所描述的實施例的任何改變或修改,以及對本文所描述的原理的任何進一步應用,都應被認為是與本揭露內容有關的技術領域的普通技術人員通常會做的。參考數字可以在整個實施例中重複,但這並不一定表示一實施例的特徵適用於另一實施例,即使它們共用相同的參考數字。Specific language will now be used to describe the embodiments, or examples, of the present disclosure illustrated in the drawings. It should be understood that there is no intention to limit the scope of the present disclosure. Any changes or modifications to the described embodiments, and any further applications of the principles described herein, are deemed to be commonly made by one of ordinary skill in the art to which this disclosure relates. Reference numbers may be repeated throughout the embodiments, but this does not necessarily mean that features of one embodiment apply to another embodiment, even if they share the same reference number.
應理解的是,儘管用語第一、第二、第三等可用於描述各種元素、元件、區域、層或部分,但這些元素、元件、區域、層或部分不受這些用語的限制。相反,這些用語只是用來區分一元素、元件、區域、層或部分與另一元素、元件、區域、層或部分。因此,下面討論的第一元素、元件、區域、層或部分可以稱為第二元素、元件、區域、層或部分而不偏離本發明概念的教導。It will be understood that, although the terms first, second, third, etc. may be used to describe various elements, components, regions, layers or sections, these elements, elements, regions, layers or sections are not limited by these terms. Rather, these terms are only used to distinguish one element, component, region, layer or section from another element, component, region, layer or section. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the inventive concept.
本文使用的用語僅用於描述特定的實施例,並不打算局限於本發明的概念。正如本文所使用的,單數形式的”一"、"一個”及”該”也包括複數形式,除非上下文明確指出。應進一步理解,用語”包含”及”包括",當在本說明書中使用時,指出了所述特徵、整數、步驟、操作、元素或元件的存在,但不排除存在或增加一個或多個其他特徵、整數、步驟、操作、元素、元件或其組。The terminology used herein is for describing particular embodiments only and is not intended to limit the concepts of the invention. As used herein, the singular forms "a", "an" and "the" also include the plural forms unless the context clearly dictates otherwise. It will be further understood that the terms "comprises" and "includes", when used in this specification, indicate the presence of stated features, integers, steps, operations, elements or components, but do not exclude the presence or addition of one or more other Characteristic, integer, step, operation, element, component, or group thereof.
圖1是方塊圖,例示本揭露一些實施例之資料儲存裝置100與主機裝置50。資料儲存裝置100可以包括可攜式或非可攜式資料儲存裝置,例如,符合SD/MMC、CF、MS或XD標準的記憶卡、非揮發性(non-volatile,NV)記憶體裝置、快閃記憶體裝置或固態硬碟(SSD)。主機裝置50可包括多功能行動電話、平板電腦、穿戴裝置以及個人電腦,如桌上型電腦或筆記型電腦。資料儲存裝置100可通過接線、系統匯流排或無線方式與主機裝置50進行通信。資料可在資料儲存裝置100與主機裝置50之間傳送。FIG. 1 is a block diagram illustrating a data storage device 100 and a host device 50 according to some embodiments of the present disclosure. The data storage device 100 may include a portable or non-portable data storage device, such as a memory card complying with the SD/MMC, CF, MS or XD standards, a non-volatile (NV) memory device, a flash memory device, Flash memory device or solid state drive (SSD). The host device 50 may include a multifunctional mobile phone, a tablet computer, a wearable device, and a personal computer such as a desktop computer or a notebook computer. The data storage device 100 may communicate with the host device 50 through wiring, a system bus, or wirelessly. Data may be transferred between data storage device 100 and host device 50 .
如圖1所示,資料儲存裝置100可包括記憶體模組1與記憶體控制器2。記憶體控制器2可通過接線、系統匯流排或無線方式與記憶體模組1進行通信。記憶體控制器2可經配置以存取記憶體模組1。記憶體模組1可經配置以儲存資料。記憶體控制器2可包括NV記憶體控制器、快閃記憶體控制器或類似控制器。記憶體模組1可包括NV記憶體模組、快閃記憶體模組或類似模組。在一些實施例中,資料儲存裝置100的記憶體控制器2可包括主機裝置的功能,因此資料儲存裝置100可以不連接到主機裝置。As shown in FIG. 1 , the data storage device 100 may include a memory module 1 and a memory controller 2 . The memory controller 2 can communicate with the memory module 1 through wiring, system bus or wireless means. Memory controller 2 may be configured to access memory module 1 . Memory module 1 can be configured to store data. Memory controller 2 may include an NV memory controller, a flash memory controller, or the like. The memory module 1 may include an NV memory module, a flash memory module, or similar modules. In some embodiments, the memory controller 2 of the data storage device 100 may include the functionality of a host device, so the data storage device 100 may not be connected to the host device.
在一些實施例中,記憶體控制器2可將系統操作資訊寫入記憶體模組1中,例如,獨立磁碟容錯陣列(redundant array of independent disk,RAID)資訊、錯誤更正碼(error correction code,ECC)同位、對映表(mapping table)、控制旗標(control flag)等。系統操作資訊可在寫入資料的任何步驟中加入,例如,資料隨機化行程(Process)或類似行程。In some embodiments, the memory controller 2 can write system operation information into the memory module 1, such as redundant array of independent disk (RAID) information, error correction code (error correction code) , ECC) parity, mapping table, control flag, etc. System operation information can be added at any step in writing data, such as a data randomization process (Process) or similar process.
如圖1所示,記憶體控制器2可包括通信介面21、微處理器22(或處理器)、記憶體23與通信介面24,其中這些部件可通過匯流排相互耦合。As shown in FIG. 1 , the memory controller 2 may include a communication interface 21 , a microprocessor 22 (or processor), a memory 23 and a communication interface 24 , wherein these components may be coupled to each other through a bus.
主機裝置50可藉由向記憶體控制器2發送複數個主機裝置命令與相應的邏輯位址來間接地存取資料儲存裝置100中的記憶體模組1。記憶體控制器2可通過通信介面21接收複數個主機裝置命令與邏輯位址。記憶體控制器2可將複數個主機裝置命令翻譯成記憶體操作命令,然後控制記憶體模組1對記憶體模組1內具有特定物理位址的記憶體單元或分頁進行讀取、寫入/程式設計或抹除。物理位址可與邏輯位址相對應。The host device 50 can indirectly access the memory module 1 in the data storage device 100 by sending a plurality of host device commands and corresponding logical addresses to the memory controller 2 . The memory controller 2 can receive a plurality of host device commands and logical addresses through the communication interface 21 . The memory controller 2 can translate a plurality of host device commands into memory operation commands, and then control the memory module 1 to read and write memory units or pages with specific physical addresses in the memory module 1 /program or erase. Physical addresses can correspond to logical addresses.
通信介面21可接收或發送一個或多個主機裝置命令。通信介面21可接收或發送資料,其中資料可包括一個或複數個邏輯位址,或資料分頁。通信介面24可接收或發送一個或多個記憶體操作命令。通信介面24可接收或發送資料,其中資料可包括一個或多個物理位址,或資料分頁。通信介面21可以是一匯流排協定,用於從主機裝置50,例如,其中的積體電路,到微處理器22,或記憶體控制器2的記憶體23的通信。通信介面24可以是一匯流排協定,用於從記憶體控制器2到記憶體模組1的通信。通信介面21或通信介面24可以符合特定的通信規範(例如,序列先進技術附件(SATA)規範、通用序列匯流排(USB)規範、週邊元件快速互連(PCIE)規範)或符合非揮發性記憶體儲存裝置(NVMe),並且可根據其特定的通信規範執行通信。通信介面21可以是NVMe介面。通信介面24可以是快閃記憶體介面。Communication interface 21 may receive or send one or more host device commands. The communication interface 21 can receive or send data, where the data can include one or a plurality of logical addresses, or data pages. The communication interface 24 may receive or send one or more memory operation commands. The communication interface 24 can receive or send data, where the data can include one or more physical addresses, or data pages. The communication interface 21 may be a bus protocol for communication from the host device 50 , for example, an integrated circuit therein, to the microprocessor 22 , or the memory 23 of the memory controller 2 . The communication interface 24 may be a bus protocol used for communication from the memory controller 2 to the memory module 1 . The communication interface 21 or the communication interface 24 may comply with a specific communication specification (for example, Serial Advanced Technology Attachment (SATA) specification, Universal Serial Bus (USB) specification, Peripheral Component Interconnect Express (PCIE) specification) or comply with non-volatile memory VMware (NVMe) and can perform communication according to its specific communication specifications. The communication interface 21 may be an NVMe interface. Communication interface 24 may be a flash memory interface.
記憶體控制器2的微處理器22可具有一功能區塊,經配置以根據從記憶體模組1讀取的資料執行邏輯運算OP1。邏輯運算OP1包括AND、NAND、OR、NOR、NOT、XOR以及XNOR中的至少一個。The microprocessor 22 of the memory controller 2 may have a functional block configured to perform logical operations OP1 based on data read from the memory module 1 . The logical operation OP1 includes at least one of AND, NAND, OR, NOR, NOT, XOR, and XNOR.
記憶體23可經配置以儲存資訊,例如資料分頁,或來自主機裝置50的主機裝置命令。記憶體23可以用隨機存取記憶體(RAM)來實現。記憶體23可經配置以儲存可由微處理器22執行的程式23P。Memory 23 may be configured to store information, such as data paging, or host device commands from host device 50 . Memory 23 may be implemented using random access memory (RAM). Memory 23 may be configured to store programs 23P executable by microprocessor 22.
微處理器22可經配置以執行儲存在記憶體23中的程式23P,以使資料儲存裝置100執行複數個操作,例如讀、寫或抹除。程式23P可以儲存在記憶體23的非臨時性(non-transitory)電腦可讀媒介中。The microprocessor 22 may be configured to execute the program 23P stored in the memory 23 to cause the data storage device 100 to perform a plurality of operations, such as reading, writing, or erasing. Program 23P may be stored in a non-transitory computer-readable medium of memory 23 .
記憶體模組1可包括緩衝記憶體3,與包括儲存區塊41、42、43、44的儲存區塊組4,其中這些部件可通過匯流排相互耦合。在一些實施例中,儲存區塊組4可包括更多的儲存區塊。緩衝記憶體3可與記憶體控制器2,例如,通信介面24進行通信。緩衝記憶體3可經配置以儲存來自記憶體控制器2的一個或多個記憶體操作命令。緩衝記憶體3可經配置以儲存包括來自記憶體控制器2的物理位址的資料。緩衝記憶體3可經配置以儲存資料分頁。儲存區塊組4可包括,但不限於複數個快閃記憶體晶片或元件。儲存區塊41、42、43、44可包括SLC、MLC、TLC、或QLC。The memory module 1 may include a buffer memory 3 and a storage block group 4 including storage blocks 41, 42, 43, 44, wherein these components may be coupled to each other through a bus. In some embodiments, storage block group 4 may include more storage blocks. The buffer memory 3 can communicate with the memory controller 2, for example, the communication interface 24. Buffer memory 3 may be configured to store one or more memory operation commands from memory controller 2 . Buffer memory 3 may be configured to store data including physical addresses from memory controller 2 . Buffer memory 3 can be configured to store data pages. The storage block group 4 may include, but is not limited to, a plurality of flash memory chips or components. Storage blocks 41, 42, 43, 44 may include SLC, MLC, TLC, or QLC.
記憶體模組1的製備技術有多種;例如,二維/平面NAND快閃記憶體技術,其中記憶體單元經排列在單層,以及三維NAND快閃記憶體技術,其中記憶體單元經排列在多層並垂直堆疊。根據一些實施例,記憶體模組1可以實現為具有單層記憶體單元的平面NAND快閃記憶體架構。根據一些實施例,記憶體模組1可以實現為三維NAND快閃記憶體架構,其中記憶體單元垂直堆疊在多層。There are various fabrication technologies for memory module 1; for example, two-dimensional/planar NAND flash memory technology, in which the memory cells are arranged in a single layer, and three-dimensional NAND flash memory technology, in which the memory cells are arranged in a single layer. Multiple layers and stacked vertically. According to some embodiments, the memory module 1 may be implemented as a planar NAND flash memory architecture with a single layer of memory cells. According to some embodiments, the memory module 1 may be implemented as a three-dimensional NAND flash memory architecture in which memory cells are vertically stacked in multiple layers.
仍然參照圖1,主機裝置50可包括通信介面51。通信介面51可傳送一個或複數個主機裝置命令。通信介面51可接收或傳送資料,其中資料可包括一個或多個邏輯位址,或資料分頁。通信介面51可以符合特定的通信規範(例如,序列先進技術附件(SATA)規範、通用序列匯流排(USB)規範、週邊元件快速互連(PCIE)規範)或符合非揮發性記憶體儲存裝置(NVMe),並且可根據其特定的通信規範執行通信。通信介面51可以是NVMe介面。Still referring to FIG. 1 , host device 50 may include communication interface 51 . The communication interface 51 can transmit one or more host device commands. The communication interface 51 can receive or transmit data, where the data can include one or more logical addresses, or data pages. The communication interface 51 may comply with a specific communication specification (e.g., Serial Advanced Technology Attachment (SATA) specification, Universal Serial Bus (USB) specification, Peripheral Component Interconnect Express (PCIE) specification) or non-volatile memory storage device ( NVMe) and can perform communication according to its specific communication specifications. The communication interface 51 may be an NVMe interface.
在一些實施例中,主機裝置50可包括主機記憶體52,它可以是主機裝置50的內部儲存的一部分。In some embodiments, host device 50 may include host memory 52 , which may be part of the internal storage of host device 50 .
圖2是方塊圖,例示本揭露一些實施例之資料儲存裝置100的記憶體模組1。區塊41、42、43與44中的每一個都包括複數個分頁。如圖2所示,區塊41包括分頁410、411、...、431。分頁的數量可以是32個。在一些實施例中,分頁的數量可不同,例如64個或更多。每個分頁410、411、...、431可經配置以儲存資料。儲存在分頁410、411、...、431中的資料可通過通信介面24因應於位址信號、資料信號或來自記憶體控制器2的命令信號而被讀取。儲存在分頁410、411、...、431的資料可以儲存在緩衝記憶體3中。FIG. 2 is a block diagram illustrating the memory module 1 of the data storage device 100 according to some embodiments of the present disclosure. Each of blocks 41, 42, 43 and 44 includes a plurality of pages. As shown in Figure 2, block 41 includes pages 410, 411, ..., 431. The number of pages can be 32. In some embodiments, the number of pages may vary, such as 64 or more. Each page 410, 411, ..., 431 can be configured to store data. The data stored in the pages 410, 411, ..., 431 can be read through the communication interface 24 in response to address signals, data signals or command signals from the memory controller 2. The data stored in the pages 410, 411, ..., 431 can be stored in the buffer memory 3.
圖3是方塊圖,例示本揭露一些實施例之記憶體模組1的區塊41的分頁410。如圖3所示,分頁410可包括第一區域410A與第二區域410B。換句話說,第一區域410A與第二區域410B是在記憶體模組1的同一分頁(例如,分頁410)上。第一區域410A可經配置以儲存第一資料D11。第二區域410B可經配置以儲存第二資料D12。第二資料D12可與第一資料D11相關聯以形成一資料對。第一資料D11及/或第二資料D12可不包括ECC。在一些實施例中,第一資料D11經編碼為第二資料D12。在這種情況下,第一資料D11可視為正常資料,第二資料D12可視為編碼資料。在一些實施例中,第二資料D12與第一資料D11相互補。在一些實施例中,第一資料D11與第二資料D12相同。FIG. 3 is a block diagram illustrating the paging 410 of the block 41 of the memory module 1 according to some embodiments of the present disclosure. As shown in FIG. 3 , the paging 410 may include a first area 410A and a second area 410B. In other words, the first area 410A and the second area 410B are on the same page (eg, page 410) of the memory module 1. The first area 410A may be configured to store the first data D11. The second area 410B may be configured to store the second data D12. The second data D12 can be associated with the first data D11 to form a data pair. The first data D11 and/or the second data D12 may not include ECC. In some embodiments, the first data D11 is encoded into the second data D12. In this case, the first data D11 can be regarded as normal data, and the second data D12 can be regarded as encoded data. In some embodiments, the second data D12 and the first data D11 are complementary to each other. In some embodiments, the first data D11 and the second data D12 are the same.
圖4是方塊圖,例示本揭露一些實施例之資料儲存裝置100的記憶體模組1的複數個分頁410與分頁411。關於分頁410的詳細描述可以參考如圖3所示的實施例。如圖4所示,分頁411可包括第三區域411A與第四區域411B。換句話說,第三區域411A與第四區域411B在記憶體模組1的同一個分頁上(例如,分頁411)。第三區域411A可經配置以儲存第三資料D11'。第四區域411B可經配置以儲存第四資料D12'。第四資料D12'可與第三資料D11'相關聯以形成一資料對。第三資料D11'及/或第四資料D12'可不包括ECC。在一些實施例中,第三資料D11'經編碼為第四資料D12'。在這種情況下,第三資料D11'可視為正常資料,第四資料D12'可視為編碼資料。在一些實施例中,第四資料D12'與第三資料D11'相互補。在一些實施例中,第三資料D11'與第四資料D12'相同。FIG. 4 is a block diagram illustrating a plurality of pages 410 and 411 of the memory module 1 of the data storage device 100 according to some embodiments of the present disclosure. For a detailed description of paging 410, reference may be made to the embodiment shown in FIG. 3 . As shown in FIG. 4 , the paging 411 may include a third area 411A and a fourth area 411B. In other words, the third area 411A and the fourth area 411B are on the same page of the memory module 1 (for example, page 411). The third area 411A may be configured to store the third data D11'. The fourth area 411B may be configured to store fourth data D12'. The fourth data D12' may be associated with the third data D11' to form a data pair. The third data D11' and/or the fourth data D12' may not include ECC. In some embodiments, the third data D11' is encoded as fourth data D12'. In this case, the third data D11' can be regarded as normal data, and the fourth data D12' can be regarded as encoded data. In some embodiments, the fourth data D12' and the third data D11' are complementary to each other. In some embodiments, the third data D11' and the fourth data D12' are the same.
第一資料D11與第三資料D11'可相對應相同的原始資料。第三資料D11'可相對應第一資料D11。如果在第一資料D11及/或第三資料D11'的寫入操作期間發生資料損壞,則第一資料D11與第三資料D11'可能不同。如果沒有發生資料損壞,則第一資料D11與第三資料D11'是相同的。第二資料D12與第四資料D12'可相對應相同的原始資料。如果在第二資料D12與第四資料D12'的寫入操作期間發生資料損壞,則第二資料D12與第四資料D12'可能不同。如果沒有發生資料損壞,第二資料D12與第四資料D12'是相同的。The first data D11 and the third data D11' may correspond to the same original data. The third data D11' may correspond to the first data D11. If data corruption occurs during the writing operation of the first data D11 and/or the third data D11', the first data D11 and the third data D11' may be different. If no data corruption occurs, the first data D11 and the third data D11' are the same. The second data D12 and the fourth data D12' may correspond to the same original data. If data corruption occurs during the writing operation of the second data D12 and the fourth data D12', the second data D12 and the fourth data D12' may be different. If no data corruption occurs, the second data D12 and the fourth data D12' are the same.
此外,在儲存區塊41中可能具有更多的分頁,包括兩個經配置以儲存兩個相互關聯資料的區域。Additionally, there may be more pages in storage block 41, including two areas configured to store two interrelated data.
圖5是示意圖,例示本揭露一些實施例之在資料儲存裝置(例如,資料儲存裝置100)與主機裝置(例如,主機裝置50)中的寫入順序。在以下段落/章節的討論中,圖3的實施例所揭露的操作可由微處理器22執行儲存在記憶體23中的程式23P來控制。FIG. 5 is a schematic diagram illustrating a writing sequence in a data storage device (eg, data storage device 100 ) and a host device (eg, host device 50 ) according to some embodiments of the present disclosure. As discussed in the following paragraphs/sections, the operations disclosed in the embodiment of FIG. 3 can be controlled by the microprocessor 22 executing the program 23P stored in the memory 23 .
如圖5所示,主機裝置50可向資料儲存裝置100傳送資料或主機裝置命令(S10)。資料儲存裝置100的通信介面21可經配置以從主機裝置50接收資料或主機裝置命令(S10)。通信介面21可經配置以從主機裝置50接收原始資料D0。原始資料D0可包括一資料分頁。在另一個實施例中,原始資料D0可包括複數個資料分頁。通信介面21可經配置以將原始資料D0傳送到微處理器22(S11)。微處理器22可經配置以接收原始資料D0(S11)。在由記憶體控制器2的微處理器22接收後,原始資料D0可經程式設計為第一資料D11,以符合通信介面24中使用的特定通信規範。在一些實施例中,原始資料D0與第一資料D11是相同的。在一些實施例中,記憶體控制器2的微處理器22可經配置以將原始資料D0編碼為第二資料D12。第二資料D12可以與原始資料D0相互補。在一些實施例中,記憶體控制器可不致能ECC功能,如此,第一資料及/或第二資料可不包括ECC。記憶體控制器2的微處理器22可經配置以將第一資料D11與第二資料D12傳送到通信介面24(S12)。通信介面24可經配置以將第一資料D11與第二資料D12連同位址信號與寫入命令傳送到記憶體模組1,例如,緩衝記憶體3(S13)。緩衝記憶體3可經配置以緩衝第一資料D11與第二資料D12。緩衝記憶體3可經配置以在區塊41中將第一資料D11傳送到分頁410的第一區域410A,如圖3與圖4所示,以因應於位址信號與寫入命令(S14)。同樣地,緩衝記憶體3可經配置以因應於位址信號與寫入命令,將第二資料D12傳送到區塊41中的分頁410的第二區域410B(S14)。As shown in FIG. 5 , the host device 50 may transmit data or host device commands to the data storage device 100 ( S10 ). The communication interface 21 of the data storage device 100 may be configured to receive data or host device commands from the host device 50 (S10). Communication interface 21 may be configured to receive raw data D0 from host device 50 . The original data D0 may include a data page. In another embodiment, the original data D0 may include a plurality of data pages. The communication interface 21 may be configured to transmit the raw data D0 to the microprocessor 22 (S11). Microprocessor 22 may be configured to receive raw data DO (S11). After being received by the microprocessor 22 of the memory controller 2, the original data D0 may be programmed into the first data D11 to comply with the specific communication specification used in the communication interface 24. In some embodiments, the original data D0 and the first data D11 are the same. In some embodiments, the microprocessor 22 of the memory controller 2 may be configured to encode the original data D0 into the second data D12. The second data D12 may be complementary to the original data D0. In some embodiments, the memory controller may disable the ECC function, such that the first data and/or the second data may not include ECC. The microprocessor 22 of the memory controller 2 may be configured to transmit the first data D11 and the second data D12 to the communication interface 24 (S12). The communication interface 24 may be configured to transmit the first data D11 and the second data D12 together with the address signal and the write command to the memory module 1, for example, the buffer memory 3 (S13). The buffer memory 3 may be configured to buffer the first data D11 and the second data D12. The buffer memory 3 may be configured to transmit the first data D11 to the first area 410A of the page 410 in the block 41, as shown in FIGS. 3 and 4, in response to the address signal and the write command (S14) . Similarly, the buffer memory 3 may be configured to transmit the second data D12 to the second area 410B of the page 410 in the block 41 in response to the address signal and the write command (S14).
此外,微處理器22可經配置以將第一資料D11與第二資料D12分別複製為第三資料D11'與第四資料D12'。微處理器22可經配置以將第三資料D11'與第四資料D12'連同位址信號與寫入命令一起傳送到通信介面24(S12),後者又將這些資料與位址信號以及寫入命令傳送到記憶體模組1(S13)。緩衝記憶體3可經配置以在區塊41中將第三資料D11'傳送到分頁411的第三區域411A,如圖3與4所示,以因應於位址信號與寫入命令(S14)。同樣地,緩衝記憶體3可經配置以因應於位址信號與寫入命令,將第二資料D12傳送到區塊41中的分頁411B的第四區域(S14)。在一些實施例中,記憶體控制器2的微處理器22可經配置以將具有更新的特定通信規範的原始資料與編碼資料重複傳送到同一儲存區塊(例如,儲存區塊41)的不同分頁(例如,分頁410中的第一資料D11與第二資料D12,分頁411中的第三資料D11'與第四資料D12')。In addition, the microprocessor 22 may be configured to copy the first data D11 and the second data D12 into the third data D11' and the fourth data D12' respectively. The microprocessor 22 may be configured to transmit the third data D11' and the fourth data D12' together with the address signal and the write command to the communication interface 24 (S12), which in turn transmits these data together with the address signal and the write command. The command is sent to memory module 1 (S13). The buffer memory 3 may be configured to transmit the third data D11' in the block 41 to the third area 411A of the page 411, as shown in FIGS. 3 and 4, in response to the address signal and the write command (S14) . Similarly, the buffer memory 3 may be configured to transmit the second data D12 to the fourth area of the page 411B in the block 41 in response to the address signal and the write command (S14). In some embodiments, the microprocessor 22 of the memory controller 2 may be configured to repeatedly transmit raw data and encoded data with updated specific communication specifications to different parts of the same storage block (eg, storage block 41 ). Paging (for example, the first data D11 and the second data D12 in the page 410, the third data D11' and the fourth data D12' in the page 411).
如圖5所示的寫入順序可以重複進行,直到所有的原始資料D0被寫入。因此,以圖5所示的操作可能需要複數個分頁來儲存原始資料D0。因此,資料儲存裝置可以將原始資料D0儲存在比習用技術大一倍的空間中。The writing sequence shown in Figure 5 can be repeated until all original data D0 is written. Therefore, the operation shown in Figure 5 may require multiple pages to store the original data D0. Therefore, the data storage device can store the original data D0 in a space that is twice as large as the conventional technology.
在另一個實施例中,第一資料D11、第二資料D12、第三資料D11'及/或第四資料D12'可藉由電子設備,如程式設計器、元件程式設計器、晶片程式設計器或NAND程式設計器程式設計到記憶體模組1中。In another embodiment, the first data D11, the second data D12, the third data D11' and/or the fourth data D12' can be obtained by electronic equipment, such as a programmer, a device programmer, a chip programmer. Or program the NAND programmer into memory module 1.
圖6是示意圖,例示本揭露一些實施例之在資料儲存裝置(例如,資料儲存裝置100)與主機裝置(例如,主機裝置50)中的讀取順序。在以下段落/章節的討論中,圖3的實施例所揭露的操作可由微處理器22執行儲存在記憶體23中的程式23P來控制。FIG. 6 is a schematic diagram illustrating a reading sequence in a data storage device (eg, data storage device 100 ) and a host device (eg, host device 50 ) according to some embodiments of the present disclosure. As discussed in the following paragraphs/sections, the operations disclosed in the embodiment of FIG. 3 can be controlled by the microprocessor 22 executing the program 23P stored in the memory 23 .
如圖6所示,主機裝置50可經配置以向資料儲存裝置100的通信介面21傳送主機裝置命令(S20)。主機裝置命令可使資料儲存裝置100提供與原始資料D0相關聯的儲存資料。通信介面21可經配置以將主機裝置命令傳送到微處理器22(S21)。微處理器22可經配置以處理主機裝置命令,並進一步產生位址信號與讀取命令,用於讀取儲存在記憶體模組1中與原始資料D0相關聯的的資料。在一些實施例中,儲存在記憶體模組1的區塊41中的分頁410中的第一資料D11與第二資料D12與原始資料D0相關聯。微處理器22可經配置以將位址信號與讀取命令傳送到通信介面24(S22)。通信介面24可經配置以將位址信號與讀取命令傳送到記憶體模組1,例如,緩衝記憶體3(S23)。As shown in FIG. 6 , the host device 50 may be configured to transmit a host device command to the communication interface 21 of the data storage device 100 ( S20 ). The host device command may cause the data storage device 100 to provide storage data associated with the original data D0. Communication interface 21 may be configured to transmit host device commands to microprocessor 22 (S21). The microprocessor 22 may be configured to process host device commands and further generate address signals and read commands for reading data stored in the memory module 1 associated with the original data D0. In some embodiments, the first data D11 and the second data D12 stored in the page 410 in the block 41 of the memory module 1 are associated with the original data D0. Microprocessor 22 may be configured to transmit the address signal and read command to communication interface 24 (S22). The communication interface 24 may be configured to transmit the address signal and the read command to the memory module 1, such as the buffer memory 3 (S23).
緩衝記憶體3可經配置以從分頁410的第一區域410A讀取第一資料D11,並從分頁410的第二區域410B讀取第二資料D12(S24)。緩衝記憶體3可經配置以緩衝第一資料D11與第二資料D12。緩衝記憶體3可經配置以將第一資料D11與第二資料D12傳送到通信介面24(S25)。通信介面24可經配置以將第一資料D11與第二資料D12傳送到微處理器22(S26)。換句話說,記憶體控制器2可經配置以通過通信介面24讀取第一資料D11與第二資料D12,以因應於位址信號與讀取命令。記憶體控制器2可經配置以因應於第一資料D11與第二資料D12來產生第一輸出信號OUT1。第一輸出信號OUT1可以被儲存在記憶體23中。記憶體控制器2的微處理器22可以具有一功能區塊以產生第一輸出信號OUT1。微處理器22的功能區塊可經配置以根據資料對(例如,第一資料D11與第二資料D12)執行邏輯運算OP1。邏輯運算OP1包括AND、NAND、OR、NOR、NOT、XOR以及XNOR中的至少一個。The buffer memory 3 may be configured to read the first data D11 from the first area 410A of the page 410 and read the second data D12 from the second area 410B of the page 410 (S24). The buffer memory 3 may be configured to buffer the first data D11 and the second data D12. The buffer memory 3 may be configured to transmit the first data D11 and the second data D12 to the communication interface 24 (S25). The communication interface 24 may be configured to transmit the first data D11 and the second data D12 to the microprocessor 22 (S26). In other words, the memory controller 2 can be configured to read the first data D11 and the second data D12 through the communication interface 24 in response to the address signal and the read command. The memory controller 2 may be configured to generate the first output signal OUT1 in response to the first data D11 and the second data D12. The first output signal OUT1 may be stored in the memory 23 . The microprocessor 22 of the memory controller 2 may have a functional block to generate the first output signal OUT1. The functional blocks of the microprocessor 22 may be configured to perform logical operations OP1 based on data pairs (eg, first data D11 and second data D12). The logical operation OP1 includes at least one of AND, NAND, OR, NOR, NOT, XOR, and XNOR.
在一些實施例中,第一資料D11可以與第二資料D12相互補。例如,當第一資料D11是十六進位的55時,第二資料D12是十六進位的AA。在另一個例子中,當第一資料D11是十六進位的88時,第二資料D12是十六進位的77。然而在另一個例子中,當第一資料D11為二進位的01010101時,第二資料D12為二進位的10101010。記憶體控制器2的微處理器22可經配置以對第一資料D11與第二資料D12執行XOR運算OP1。記憶體控制器2的微處理器22可經配置以當第一資料D11與第二資料D12相互補時產生具有第一值VA1的第一輸出信號OUT1,例如十六進位的FF。第一值VA1表示儲存第一資料D11與第二資料D12的分頁410中的位元,如圖3所示,沒有資料損壞(即沒有錯誤的位元)。因此,記憶體控制器2可經配置以將第一資料D11傳送到通信介面21(S27)。通信介面21可經配置以將第一資料D11傳送到主機裝置50(S28)。換句話說,當第一輸出信號OUT1具有第一值VA1時,記憶體控制器2經配置以通過通信介面21將第一資料D11傳送給主機裝置50。在一些實施例中,第一資料D11及/或第二資料D12可能具有不正確的位元或有資料損壞。因此,記憶體控制器2的微處理器22可經配置以產生具有不同於第一值VA1的第二值VA2的第一輸出信號OUT1。In some embodiments, the first data D11 may be complementary to the second data D12. For example, when the first data D11 is 55 in hexadecimal, the second data D12 is AA in hexadecimal. In another example, when the first data D11 is 88 in hexadecimal, the second data D12 is 77 in hexadecimal. However, in another example, when the first data D11 is binary 01010101, the second data D12 is binary 10101010. The microprocessor 22 of the memory controller 2 may be configured to perform the XOR operation OP1 on the first data D11 and the second data D12. The microprocessor 22 of the memory controller 2 may be configured to generate a first output signal OUT1 having a first value VA1, such as hexadecimal FF, when the first data D11 and the second data D12 are complementary to each other. The first value VA1 represents the bits in the page 410 storing the first data D11 and the second data D12. As shown in FIG. 3, there is no data corruption (that is, there are no erroneous bits). Therefore, the memory controller 2 may be configured to transmit the first data D11 to the communication interface 21 (S27). The communication interface 21 may be configured to transmit the first data D11 to the host device 50 (S28). In other words, when the first output signal OUT1 has the first value VA1 , the memory controller 2 is configured to transmit the first data D11 to the host device 50 through the communication interface 21 . In some embodiments, the first data D11 and/or the second data D12 may have incorrect bits or data corruption. Therefore, the microprocessor 22 of the memory controller 2 may be configured to generate the first output signal OUT1 having a second value VA2 that is different from the first value VA1.
當第一輸出信號OUT1具有第二值VA2時,記憶體控制器2還可經配置以向通信介面24傳送位址信號與讀取命令(S22')。通信介面24可經配置以將位址信號與讀取命令傳送到記憶體模組1(S23')。緩衝器可經配置以因應於位址信號與讀取命令來讀取第三資料D11'與第四資料D12'(S24')。緩衝器記憶體3可經配置以緩衝第三資料D11'與第四資料D12'。緩衝記憶體3可經配置以將第三資料D11'與第四資料D12'傳送到通信介面24(S25')。通信介面24可經配置以將第三資料D11'與第四資料D12'傳送到微處理器22(S26')。換句話說,記憶體控制器2可經配置以通過通信介面24讀取第三資料D11'與第四資料D12',以因應於來自記憶體控制器2的位址信號與讀取命令。記憶體控制器2可經配置以因應於第三資料D11'與第四資料D12'而產生第二輸出信號OUT2。第二輸出信號OUT2可儲存在記憶體控制器2的記憶體23中。When the first output signal OUT1 has the second value VA2, the memory controller 2 may also be configured to transmit the address signal and the read command to the communication interface 24 (S22'). The communication interface 24 may be configured to transmit the address signal and the read command to the memory module 1 (S23'). The buffer may be configured to read the third data D11' and the fourth data D12' in response to the address signal and the read command (S24'). The buffer memory 3 may be configured to buffer the third data D11' and the fourth data D12'. The buffer memory 3 may be configured to transmit the third data D11' and the fourth data D12' to the communication interface 24 (S25'). The communication interface 24 may be configured to transmit the third data D11' and the fourth data D12' to the microprocessor 22 (S26'). In other words, the memory controller 2 may be configured to read the third data D11 ′ and the fourth data D12 ′ through the communication interface 24 in response to the address signal and the read command from the memory controller 2 . The memory controller 2 may be configured to generate the second output signal OUT2 in response to the third data D11' and the fourth data D12'. The second output signal OUT2 may be stored in the memory 23 of the memory controller 2 .
在一些實施例中,第三資料D11'可以與第四資料D12'相互補。記憶體控制器2的微處理器22可經配置以對第三資料D11'與第四資料D12'執行XOR運算。記憶體控制器2的微處理器22可經配置以當第三資料D11'與第四資料D12'相互補時產生具有第三值VA3的第二輸出信號OUT2。第三值VA3表示儲存第三資料D11'與第四資料D12'的分頁411中的位元,如圖3所示,沒有資料損壞(例如,沒有錯誤的位元)。因此,記憶體控制器2可經配置以將第三資料D11'傳送到通信介面21(S27')。通信介面21可經配置以將第三資料D11'傳送到主機裝置50(S28')。換句話說,當第二輸出信號OUT2具有第三值VA3時,記憶體控制器2可經配置以通過通信介面21將第三資料D11'傳送到主機裝置50。在一些實施例中,第三資料D11'及/或第四資料D12'可能有不正確的位元或有資料損壞。因此,記憶體控制器2的微處理器22可經配置以產生具有不同於第三值VA3的第四值VA4的第二輸出信號OUT2。In some embodiments, the third data D11' may be complementary to the fourth data D12'. The microprocessor 22 of the memory controller 2 may be configured to perform an XOR operation on the third data D11' and the fourth data D12'. The microprocessor 22 of the memory controller 2 may be configured to generate the second output signal OUT2 having the third value VA3 when the third data D11' and the fourth data D12' are complementary to each other. The third value VA3 represents the bits in the page 411 storing the third data D11' and the fourth data D12'. As shown in FIG. 3, there is no data corruption (for example, no erroneous bits). Therefore, the memory controller 2 may be configured to transmit the third data D11' to the communication interface 21 (S27'). The communication interface 21 may be configured to transmit the third data D11' to the host device 50 (S28'). In other words, when the second output signal OUT2 has the third value VA3, the memory controller 2 may be configured to transmit the third data D11' to the host device 50 through the communication interface 21. In some embodiments, the third data D11' and/or the fourth data D12' may have incorrect bits or data corruption. Therefore, the microprocessor 22 of the memory controller 2 may be configured to generate the second output signal OUT2 having a fourth value VA4 that is different from the third value VA3.
當第二輸出信號OUT2具有第四值VA4時,記憶體控制器2還可經配置以因應於來自記憶體控制器2的位址信號及/或命令信號,通過通信介面24讀取儲存在記憶體模組1的其它區域中的其它資料(或其它資料對)。其它資料可與原始資料D0相關聯。其它資料可第一資料D11與第二資料D12相對應。換句話說,其它資料與第一資料D11中的一個可相對應相同的原始資料。記憶體控制器2還可經配置以根據該其它資料來產生其它輸出信號。記憶體控制器2可經配置以根據其它輸出信號來確定該儲存的其它資料是否具有資料損壞。記憶體控制器2可經配置以當確定該其它資料沒有資料損壞時通過通信介面24將其它資料中的一個傳送到主機裝置50。在一些實施例中,記憶體控制器2可經配置以讀取儲存在通信介面24中的更多其它資料,直到記憶體控制器2讀取正確的資料。When the second output signal OUT2 has the fourth value VA4, the memory controller 2 may also be configured to read the memory stored in the memory through the communication interface 24 in response to the address signal and/or the command signal from the memory controller 2. Other data (or other pairs of data) in other areas of phantom set 1. Other data can be associated with the original data D0. Other data may be the first data D11 and the second data D12 corresponding to each other. In other words, the other data and one of the first data D11 may correspond to the same original data. Memory controller 2 may also be configured to generate other output signals based on the other data. The memory controller 2 may be configured to determine whether the stored other data has data corruption based on other output signals. Memory controller 2 may be configured to transmit one of the other data to host device 50 through communication interface 24 when it is determined that the other data is not data corrupt. In some embodiments, memory controller 2 may be configured to read more other data stored in communication interface 24 until memory controller 2 reads the correct data.
在一些比較性的實施例中,記憶體控制器可以具有一被動的ECC功能,這表示記憶體控制器在讀取儲存在記憶體模組中的資料後致能ECC功能。首先讀取的資料有必要排除任何不正確的位元或資料損壞。否則,記憶體控制器的ECC功能可能不會被致能或可能不正確地工作。因此,對儲存所謂的首讀資料的記憶體單元的可靠性要求是非常嚴格的。這樣的記憶體單元必須沒有任何缺陷,這對製造業來說幾乎是不可能保證的。在本揭露中,記憶體控制器2可以將與原始資料D0相關聯的資料對(例如,第一資料D11與第二資料D12)儲存在同一分頁的不同區域。因應於主機裝置的命令以讀取儲存在記憶體模組2中與原始資料D0相關聯/對應的資料,記憶體控制器2可經配置以讀取至少一個資料對。記憶體控制器2可經配置以確定儲存資料對的位元是否沒有資料損壞。根據該確定,記憶體控制器2可經配置以將資料對的正常資料傳送到主機裝置(例如,主機裝置50)或讀取與原始資料D0相關聯/對應的其它資料對。這樣的確定可以重複進行,直到找到沒有資料損壞的資料對。因此,資料儲存裝置100仍然可在沒有ECC功能的情況下直接讀取正確的資料。用不正確的資料錯誤地觸發記憶體控制器2的ECC功能的風險可以被降低。In some comparative embodiments, the memory controller may have a passive ECC function, which means that the memory controller enables the ECC function after reading data stored in the memory module. The data read first must eliminate any incorrect bits or data corruption. Otherwise, the memory controller's ECC function may not be enabled or may work incorrectly. Therefore, the reliability requirements for the memory unit storing the so-called first-read data are very strict. Such memory cells must be free of defects, which is almost impossible to guarantee in manufacturing. In the present disclosure, the memory controller 2 can store the data pairs (eg, the first data D11 and the second data D12) associated with the original data D0 in different areas of the same page. In response to a command from the host device to read data associated/corresponding to the original data D0 stored in the memory module 2, the memory controller 2 may be configured to read at least one data pair. Memory controller 2 may be configured to determine whether the bits storing the data pair are free of data corruption. Based on this determination, memory controller 2 may be configured to transfer the normal data of the data pair to the host device (eg, host device 50) or read other data pairs associated/corresponding to the original data D0. This determination can be repeated until a data pair with no data corruption is found. Therefore, the data storage device 100 can still directly read correct data without the ECC function. The risk of erroneously triggering the ECC function of the memory controller 2 with incorrect data can be reduced.
在一些實施例中,記憶體控制器2的微處理器22可經配置以當第一資料D11與第二資料D12被認定是相同且沒有發生資料損壞時,執行ADD運算。根據資料對(例如,第一資料D11與第二資料D12)的類型,記憶體控制器2的微處理器22可經配置以執行邏輯運算以確定資料對是否具有資料損壞。In some embodiments, the microprocessor 22 of the memory controller 2 may be configured to perform an ADD operation when the first data D11 and the second data D12 are determined to be the same and no data corruption occurs. Depending on the type of the data pair (eg, the first data D11 and the second data D12), the microprocessor 22 of the memory controller 2 may be configured to perform a logical operation to determine whether the data pair has data corruption.
圖7是方塊圖,例示本揭露一些實施例之資料儲存裝置100的記憶體模組1的分頁410。如圖7所示,分頁410包括第一複數個子區域4101、4103、...、410N。分頁410包括第二複數個子區域4102、4104、...、410M。第一複數個子區域4101、4103、...、410N與第二複數個子區域4102、4104、...、410M相互交錯。FIG. 7 is a block diagram illustrating pages 410 of the memory module 1 of the data storage device 100 according to some embodiments of the present disclosure. As shown in FIG. 7 , paging 410 includes a first plurality of sub-regions 4101, 4103, ..., 410N. Paging 410 includes a second plurality of sub-regions 4102, 4104, ..., 410M. The first plurality of sub-regions 4101, 4103, ..., 410N and the second plurality of sub-regions 4102, 4104, ..., 410M are interleaved with each other.
第一複數個子區域4101、4103、...、410N可包括第一複數個資料D21、D22、...、D2N(例如,正常資料)。第二複數個子區域4102、4104、...、410M可包括第二複數個資料D31、D32、...、D3N(例如,編碼資料)。第一複數個資料D21、D22、...、D2N中的每一個可與第二複數個資料D31、D32、...、D3N中的相應一個相關聯。例如,資料D21可與資料D31相關聯。資料D31與資料D21相互補。資料儲存裝置100可通過如圖5與圖6所示的操作,從正常資料D21、D22、...、D2N與編碼資料D31、D32、...、D3N的資料對中讀取正確資料。The first plurality of sub-regions 4101, 4103, ..., 410N may include a first plurality of data D21, D22, ..., D2N (eg, normal data). The second plurality of sub-regions 4102, 4104, ..., 410M may include a second plurality of data D31, D32, ..., D3N (eg, encoded data). Each of the first plurality of data D21, D22, ..., D2N may be associated with a corresponding one of the second plurality of data D31, D32, ..., D3N. For example, data D21 may be associated with data D31. Data D31 and data D21 are complementary to each other. The data storage device 100 can read correct data from the data pair of normal data D21, D22, ..., D2N and encoded data D31, D32, ..., D3N through the operations shown in FIG. 5 and FIG. 6 .
圖8是方塊圖,例示本揭露一些實施例之資料儲存裝置100的記憶體模組1的分頁410與分頁411。對分頁410的詳細描述可以參考如圖7所示的實施例。如圖7所示,分頁411包括第三複數個子區域4111、4113、...、411N。分頁411包括第四複數個子區域4112、4114、...、411M。第三複數個子區域4111、4113、...、411N與第四複數個子區域4112、4114、...、411M相互交錯。FIG. 8 is a block diagram illustrating pages 410 and 411 of the memory module 1 of the data storage device 100 according to some embodiments of the present disclosure. For a detailed description of paging 410, reference may be made to the embodiment shown in FIG. 7 . As shown in FIG. 7 , paging 411 includes third plural sub-regions 4111, 4113, ..., 411N. Paging 411 includes fourth plurality of sub-areas 4112, 4114, ..., 411M. The third plurality of sub-regions 4111, 4113, ..., 411N and the fourth plurality of sub-regions 4112, 4114, ..., 411M are interleaved with each other.
第三複數個子區域4111、4113、...、411N可包括第三複數個資料D21'、D22'、...、D2N'(例如,正常資料)。第四複數個子區域4112、4114、...、411M可包括第四複數個資料D31'、D32'、...、D3N'(例如,編碼資料)。第三組資料D21'、D22'、...、D2N'中的每一個都可與第四組資料D31'、D32'、...、D3N'中的相應一個相關聯。例如,資料D21'可與資料D31'相關聯。資料D31'與資料D21'相互補。資料儲存裝置100可通過如圖5與圖6所示的操作從正常資料D21、D22、...、D2N與編碼資料D31、D32、...、D3N以及正常資料D21'、D22'、...、D2N'與編碼資料D31'、D32'、...、D3N'的資料對讀取正確資料。The third plurality of sub-regions 4111, 4113, ..., 411N may include a third plurality of data D21', D22', ..., D2N' (eg, normal data). The fourth plurality of sub-regions 4112, 4114, ..., 411M may include a fourth plurality of data D31', D32', ..., D3N' (eg, encoded data). Each of the third set of data D21', D22', ..., D2N' can be associated with a corresponding one of the fourth set of data D31', D32', ..., D3N'. For example, data D21' may be associated with data D31'. Data D31' and data D21' are complementary to each other. The data storage device 100 can obtain the normal data D21, D22, ..., D2N, the encoded data D31, D32, ..., D3N and the normal data D21', D22', . The data pairs of .., D2N' and encoded data D31', D32', ..., D3N' read the correct data.
此外,在儲存區塊41中可以具有更多的分頁,包括兩個複數的子區域,經配置以儲存兩個複數的相互關聯的資料。In addition, there may be more pages in the storage block 41, including two plurality of sub-areas configured to store two plurality of interrelated data.
圖9是方塊圖,例示本揭露一些實施例之資料儲存裝置100的記憶體模組1的複數個分頁410與分頁411。如圖9所示,分頁410可經配置以儲存資料D41,分頁411可經配置以儲存資料D42。分頁410(例如,第一區域)的位址ADD1與分頁411(例如,第二區域)的位址ADD2不同。資料D41與資料D42可與原始D0相關聯。資料D41可與資料D42相關聯。資料D41可以經編碼為資料D42。資料D42可與資料D41相互補。如圖5與圖6所示,資料儲存裝置100可以從正常資料D41與編碼資料D42的資料對中讀取正確的資料。FIG. 9 is a block diagram illustrating a plurality of pages 410 and 411 of the memory module 1 of the data storage device 100 according to some embodiments of the present disclosure. As shown in Figure 9, page 410 may be configured to store data D41, and page 411 may be configured to store data D42. The address ADD1 of the page 410 (eg, the first area) is different from the address ADD2 of the page 411 (eg, the second area). Data D41 and data D42 can be associated with original D0. Data D41 can be associated with data D42. Data D41 may be encoded as data D42. Data D42 can complement data D41. As shown in FIG. 5 and FIG. 6 , the data storage device 100 can read correct data from the data pair of normal data D41 and encoded data D42.
圖10是方塊圖,例示本揭露一些實施例之資料儲存裝置100的記憶體模組1的複數個分頁410、分頁411、分頁412以及分頁414。對分頁410與411的詳細描述可以參考如圖9所示的實施例。FIG. 10 is a block diagram illustrating a plurality of pages 410 , 411 , 412 and 414 of the memory module 1 of the data storage device 100 according to some embodiments of the present disclosure. For a detailed description of paging 410 and 411, reference may be made to the embodiment shown in FIG. 9 .
如圖10所示,分頁412可經配置以儲存資料D41',分頁413可經配置以儲存資料D42'。分頁412(例如,第三區域)的位址ADD3與分頁413(例如,第四區域)的位址ADD4不同。資料D41'與資料D42'可與原始D0相關聯。資料D41'可與資料D42'相關聯。資料D41'可以經編碼為資料D42'。資料D42'可與資料D41'相互補。資料儲存裝置100可通過如圖5與圖6所示的操作從正常資料D41與編碼資料D42的資料對以及正常資料D41'與編碼資料D42'的資料對中讀取正確的資料。As shown in Figure 10, page 412 can be configured to store data D41', and page 413 can be configured to store data D42'. The address ADD3 of the page 412 (eg, the third area) is different from the address ADD4 of the page 413 (eg, the fourth area). Data D41' and data D42' can be associated with original D0. Data D41' can be associated with data D42'. Data D41' may be encoded as data D42'. Data D42' can be complementary to data D41'. The data storage device 100 can read correct data from the data pair of normal data D41 and encoded data D42 and the data pair of normal data D41' and encoded data D42' through the operations shown in FIGS. 5 and 6 .
圖11是流程圖,例示本揭露一些實施例之資料儲存裝置(例如,資料儲存裝置100)的控制方法200。FIG. 11 is a flowchart illustrating a control method 200 of a data storage device (eg, data storage device 100 ) according to some embodiments of the present disclosure.
控制方法200從操作S201開始,包括在一資料儲存裝置的一記憶體模組的一第一區域中儲存一第一資料。The control method 200 starts from operation S201 and includes storing a first data in a first area of a memory module of a data storage device.
控制方法200繼續進行操作S203,包括將一第二資料儲存在該記憶體模組的一第二區域。該第二資料與該第一資料相關聯。The control method 200 continues with operation S203, including storing a second data in a second area of the memory module. The second data is associated with the first data.
控制方法200繼續進行操作S205,包括通過一第一通信介面讀取該第一資料與該第二資料。The control method 200 continues to perform operation S205, including reading the first data and the second data through a first communication interface.
控制方法200繼續進行操作S207,包括因應於該讀取的第一資料與第二資料,產生一第一輸出信號。The control method 200 continues to perform operation S207, including generating a first output signal in response to the read first data and second data.
控制方法200繼續進行操作S209,包括當該第一輸出信號具有一第一值時,通過一第二通信介面傳送該第一資料。The control method 200 continues to perform operation S209, including transmitting the first data through a second communication interface when the first output signal has a first value.
控制方法200僅僅是一個例子,並不打算將本揭露的內容限制在申請專利範圍中明確提到的範圍之外。可在控制方法200的每個操作之前、期間或之後提供額外的操作,並且所述的一些操作可以被替換、消除或移動,以用於該方法的其他實施例。在一些實施例中,控制方法200可包括圖11中未描繪的進一步操作。在一些實施例中,控制方法200可包括圖11中描述的一個或多個操作。The control method 200 is only an example, and is not intended to limit the content of the present disclosure beyond the scope explicitly mentioned in the patent application. Additional operations may be provided before, during, or after each operation of control method 200, and some of the operations described may be replaced, eliminated, or moved for other embodiments of the method. In some embodiments, control method 200 may include further operations not depicted in FIG. 11 . In some embodiments, control method 200 may include one or more operations described in FIG. 11 .
圖12是流程圖,例示本揭露一些實施例的資料儲存裝置(例如,資料儲存裝置100)的控制方法210。圖12的控制方法210與圖11的控制方法200相似,其間的差異將在下面描述。FIG. 12 is a flowchart illustrating a control method 210 of a data storage device (eg, data storage device 100 ) according to some embodiments of the present disclosure. The control method 210 of FIG. 12 is similar to the control method 200 of FIG. 11 , and the differences therebetween will be described below.
控制方法210更包括操作S209。操作S209包括當該第一輸出信號具有一第一值時,通過一第二通信介面傳送該第一資料。The control method 210 further includes operation S209. Operation S209 includes transmitting the first data through a second communication interface when the first output signal has a first value.
控制方法210僅僅是一個例子,並不打算將本揭露的內容限制在申請專利範圍中明確提到的範圍之外。可在控制方法210的每個操作之前、期間或之後提供額外的操作,所描述的一些操作可以被替換、消除或移動,用於該方法的其他實施例。在一些實施例中,控制方法210可包括圖12中未描繪的進一步操作。在一些實施例中,控制方法210可包括圖12中描述的一個或複數個操作。The control method 210 is only an example, and is not intended to limit the content of the present disclosure beyond the scope explicitly mentioned in the patent application. Additional operations may be provided before, during, or after each operation of control method 210, and some of the operations described may be replaced, eliminated, or moved for other embodiments of the method. In some embodiments, control method 210 may include further operations not depicted in FIG. 12 . In some embodiments, control method 210 may include one or more of the operations described in FIG. 12 .
圖13是流程圖,例示本揭露的一些實施例的資料儲存裝置(例如,資料儲存裝置100)的控制方法220的流程圖。圖13的控制方法220與圖11的控制方法200相似,其間的差異將在下面描述。FIG. 13 is a flowchart illustrating a control method 220 of a data storage device (eg, data storage device 100 ) according to some embodiments of the present disclosure. The control method 220 of FIG. 13 is similar to the control method 200 of FIG. 11 , and the differences therebetween will be described below.
控制方法220更包括操作S204A。該操作包括將一第三資料儲存在記該憶體模組的一第三區域中,其中該第三資料與該第一資料相對應。The control method 220 further includes operation S204A. The operation includes storing a third data in a third area of the memory module, wherein the third data corresponds to the first data.
控制方法220繼續進行操作S204B,包括將一第四資料儲存在該記憶體模組的一第四區域中。該第四資料與該第三資料相關聯。The control method 220 continues to perform operation S204B, including storing a fourth data in a fourth area of the memory module. The fourth data is associated with the third data.
控制方法220更包括操作S210。操作S210包括當該第一輸出信號具有一第二值時,通過該第一通信介面讀取該第三資料與該第四資料。The control method 220 further includes operation S210. Operation S210 includes reading the third data and the fourth data through the first communication interface when the first output signal has a second value.
控制方法220繼續進行操作S211,包括因應於該讀取的第三資料與第四資料,產生一第二輸出信號。The control method 220 continues to perform operation S211, including generating a second output signal in response to the read third data and fourth data.
控制方法220繼續進行操作S213,包括當該第二輸出信號具有一第三值時,通過該第二通信介面傳送該第三資料。The control method 220 continues to perform operation S213, including transmitting the third data through the second communication interface when the second output signal has a third value.
控制方法220僅僅是一個例子,並不打算將本揭露內容限制在申請專利範圍中明確提到的範圍之外。可在控制方法220的每個操作之前、期間或之後提供額外的操作,所描述的一些操作可以被替換、消除或移動,以用於該方法的其他實施例。在一些實施例中,控制方法220可包括圖13中未描繪的進一步操作。在一些實施例中,控制方法220可包括圖13中描述的一個或多個操作。The control method 220 is merely an example, and is not intended to limit the disclosure beyond what is expressly mentioned in the patent application. Additional operations may be provided before, during, or after each operation of control method 220, and some of the operations described may be replaced, eliminated, or moved for other embodiments of the method. In some embodiments, control method 220 may include further operations not depicted in FIG. 13 . In some embodiments, control method 220 may include one or more operations described in FIG. 13 .
圖14是流程圖,例示本揭露一些實施例之資料儲存裝置(例如,資料儲存裝置100)的控制方法230。圖14的控制方法230與圖13的控制方法220相似,其間的差異將在下面描述。FIG. 14 is a flowchart illustrating a control method 230 of a data storage device (eg, data storage device 100 ) according to some embodiments of the present disclosure. The control method 230 of FIG. 14 is similar to the control method 220 of FIG. 13 , and the differences therebetween will be described below.
取代操作S213,控制方法230繼續進行操作S214,當該第二輸出信號具有一第四值時,通過該第一通信介面讀取儲存在其它區域的其它資料。該其它資料與該第一資料及該第二資料相對應。Instead of operation S213, the control method 230 proceeds to operation S214. When the second output signal has a fourth value, other data stored in other areas is read through the first communication interface. The other data corresponds to the first data and the second data.
控制方法230僅僅是一個例子,並不打算將本揭露的內容限制在申請專利範圍中明確提到的範圍之外。可在控制方法230的每個操作之前、期間或之後提供額外的操作,並且所述的一些操作可以被替換、消除或移動,用於該方法的額外實施例。在一些實施例中,控制方法230可包括圖14中未描繪的進一步操作。在一些實施例中,控制方法230可包括圖14中描述的一個或多個操作。The control method 230 is only an example, and is not intended to limit the content of the present disclosure beyond the scope explicitly mentioned in the patent application. Additional operations may be provided before, during, or after each operation of control method 230, and some of the operations described may be replaced, eliminated, or moved for additional embodiments of the method. In some embodiments, control method 230 may include further operations not depicted in FIG. 14 . In some embodiments, control method 230 may include one or more operations described in FIG. 14 .
本揭露的一個方面提供一種資料儲存裝置的控制方法,包括:在該資料儲存裝置的一記憶體模組的一第一區域中儲存一第一資料;在該記憶體模組的一第二區域中儲存一第二資料,其中該第二資料與該第一資料相關聯;通過該第一通信介面讀取該第一資料與該第二資料;以及因應於該讀取的第一資料與第二資料,產生一第一輸出信號。One aspect of the present disclosure provides a control method for a data storage device, including: storing a first data in a first area of a memory module of the data storage device; and storing a first data in a second area of the memory module. store a second data in, wherein the second data is associated with the first data; read the first data and the second data through the first communication interface; and in response to the read first data and the second data two data to generate a first output signal.
本揭露的另一個方面提供一種資料儲存裝置。該資料儲存裝置包括一第一區域與一第二區域。該第一區域經配置以儲存一第一資料。該第二區域經配置以儲存一第二資料。該第二資料與該第一資料相關聯。該第一資料及/或該第二資料不包括一錯誤更正碼(ECC,error correction code)。Another aspect of the present disclosure provides a data storage device. The data storage device includes a first area and a second area. The first area is configured to store a first data. The second area is configured to store a second data. The second data is associated with the first data. The first data and/or the second data do not include an error correction code (ECC).
本揭露的另一個方面提供一種非暫時性電腦可讀媒介,儲存包括指令的一程式,當由一處理器執行時,使一資料儲存裝置:在一記憶體的一第一區域中儲存一第一資料;在該記憶體的一第二區域中儲存一第二資料,其中該第二資料與該第一資料相關聯;通過一第一通信介面讀取該第一資料與該第二資料;以及因應於該讀取的第一資料與第二資料,產生一第一輸出信號。Another aspect of the present disclosure provides a non-transitory computer-readable medium storing a program including instructions that, when executed by a processor, cause a data storage device to: store a first region in a memory. a data; storing a second data in a second area of the memory, wherein the second data is associated with the first data; reading the first data and the second data through a first communication interface; and generating a first output signal in response to the read first data and second data.
本揭露的資料儲存裝置包括一記憶體控制器與一記憶體模組。該記憶體模組包括一第一區域與一第二區域。該第一區域與該第二區域經配置以分別儲存一第一資料與一第二資料。該第一資料與該第二資料相關聯以形成一資料對。該第一資料可以是一正常資料,該第二資料可以是一編碼資料。該記憶體控制器經配置以通過一通信介面讀取該第一資料與該第二資料,然後根據該讀取的第一資料與第二資料產生一輸出信號。產生該輸出信號包括對該第一資料與該第二資料執行一邏輯運算。當該輸出信號具有一第一值時,表示該第一資料與該第二資料沒有資料損壞。當該輸出信號具有一第二值時,表示該第一資料與該第二資料中的一個在其位元上具有資料損壞。對該輸出信號值的這種確定可在其他資料對上重複進行。本揭露的資料儲存裝置可在不使用錯誤更正碼(ECC)的情況下檢測資料對是否正確。這對於具有被動ECC功能的記憶體控制器是有利的,即在接收到資料後致能ECC功能。這樣的記憶體控制器仍然可以直接從記憶體模組中讀取正確的資料。用不正確的資料錯誤地觸發記憶體控制器的ECC功能的風險可以被降低。The data storage device of the present disclosure includes a memory controller and a memory module. The memory module includes a first area and a second area. The first area and the second area are configured to store a first data and a second data respectively. The first data is associated with the second data to form a data pair. The first data may be normal data, and the second data may be encoded data. The memory controller is configured to read the first data and the second data through a communication interface, and then generate an output signal based on the read first data and second data. Generating the output signal includes performing a logical operation on the first data and the second data. When the output signal has a first value, it indicates that the first data and the second data have no data corruption. When the output signal has a second value, it indicates that one of the first data and the second data has data corruption on its bits. This determination of the value of the output signal can be repeated for other data pairs. The data storage device of the present disclosure can detect whether the data pair is correct without using error correction code (ECC). This is advantageous for memory controllers with passive ECC functionality, that is, enabling the ECC function after receiving data. Such a memory controller can still read the correct data directly from the memory module. The risk of erroneously triggering the memory controller's ECC function with incorrect data can be reduced.
雖然已詳述本揭露及其優點,然而應理解可進行各種變化、取代與替代而不脫離申請專利範圍所定義之本揭露的精神與範圍。例如,可用不同的方法實施上述的許多過程,並且以其他過程或其組合替代上述的許多過程。Although the disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions and substitutions can be made without departing from the spirit and scope of the disclosure as defined by the claimed claims. For example, many of the processes described above may be implemented in different ways and may be substituted for many of the processes described above with other processes or combinations thereof.
再者,本申請案的範圍並不受限於說明書中所述之過程、機械、製造、物質組成物、手段、方法與步驟之特定實施例。該技藝之技術人士可自本揭露的揭示內容理解可根據本揭露而使用與本文所述之對應實施例具有相同功能或是達到實質上相同結果之現存或是未來發展之過程、機械、製造、物質組成物、手段、方法、或步驟。據此,此等過程、機械、製造、物質組成物、手段、方法、或步驟係包括於本申請案之申請專利範圍內。Furthermore, the scope of the present application is not limited to the specific embodiments of the process, machinery, manufacture, material compositions, means, methods and steps described in the specification. Those skilled in the art will understand from the disclosure of this disclosure that existing or future developed processes, machines, manufacturing, etc. can be used in accordance with the disclosure to have the same function or achieve substantially the same results as the corresponding embodiments described herein. A material composition, means, method, or step. Accordingly, such processes, machines, manufacturing, material compositions, means, methods, or steps are included in the patentable scope of this application.
1:記憶體模組 2:記憶體控制器 3:緩衝記憶體 4:儲存區塊組 21:通信介面 22:微處理器 23:記憶體 23P:程式 24:通信介面 41:儲存區塊 42:儲存區塊 43:儲存區塊 44:儲存區塊 50:主機裝置 51:通信介面 52:主機記憶體 100:資料儲存裝置 200:控制方法 210:控制方法 220:控制方法 230:控制方法 410, 411, ..., 431:分頁 4101, 4103, ..., 410N:第一複數個子區域 4102, 4104, ..., 410N:第二複數個子區域 4111, 4113, ..., 410N:第三複數個子區域 4112, 4114, ..., 411M:第四複數個子區域 410A:第一區域 410B:第二區域 411A:第三區域 411B:第四區域 ADD1:位址 ADD2:位址 ADD3:位址 ADD4:位址 D0:原始資料 D11:第一資料 D11':第三資料 D12:第二資料 D12':第四資料 D21, D22, ..., D2N:第一複數個資料 D31, D32, ..., D3N:第二複數個資料 D21', D22', ..., D2N':第三複數個資料 D31', D32', ..., D3N':第四複數個資料 D41:資料 D41':資料 D42:資料 D42':資料 OP1:邏輯運算 OUT1:第一輸出信號 OUT2:第二輸出信號 S10:順序 S11:順序 S12:順序 S13:順序 S14:順序 S20:順序 S21:順序 S22:順序 S22':順序 S23:順序 S23':順序 S24:順序 S24':順序 S25:順序 S25':順序 S26:順序 S26':順序 S27:順序 S27':順序 S28:順序 S28':順序 S201:操作 S203:操作 S204A:操作 S204B:操作 S205:操作 S207:操作 S209:操作 S210:操作 S211:操作 S213:操作 S214:操作 VA1:第一值 VA2:第二值 VA3:第三值 VA4:第四值 1: Memory module 2:Memory controller 3: Buffer memory 4:Storage block group 21: Communication interface 22:Microprocessor 23:Memory 23P:Program 24: Communication interface 41:Storage block 42:Storage block 43:Storage block 44:Storage block 50: Host device 51: Communication interface 52: Host memory 100:Data storage device 200:Control method 210:Control method 220:Control method 230:Control method 410, 411, ..., 431: paging 4101, 4103, ..., 410N: first plural sub-region 4102, 4104, ..., 410N: second complex sub-region 4111, 4113, ..., 410N: The third complex sub-region 4112, 4114, ..., 411M: The fourth complex sub-region 410A:First area 410B:Second area 411A:The third area 411B:The fourth area ADD1: address ADD2:address ADD3:address ADD4: address D0: original data D11: first information D11':Third data D12: Second data D12':Fourth information D21, D22, ..., D2N: the first plural data D31, D32, ..., D3N: second plural data D21', D22', ..., D2N': the third plurality of data D31', D32', ..., D3N': the fourth plural data D41: Information D41':Information D42: Information D42':data OP1: Logical operation OUT1: first output signal OUT2: The second output signal S10: Sequence S11: Sequence S12: Sequence S13: Sequence S14: Sequence S20: Sequence S21: Sequence S22: Sequence S22': sequence S23: Sequence S23':Sequence S24: Sequence S24': sequence S25: Sequence S25': sequence S26: Sequence S26': sequence S27: Sequence S27':Sequence S28: Sequence S28':Sequence S201: Operation S203: Operation S204A: Operation S204B: Operation S205: Operation S207: Operation S209: Operation S210: Operation S211: Operation S213: Operation S214: Operation VA1: first value VA2: second value VA3: third value VA4: fourth value
參閱實施方式與申請專利範圍合併考量圖式時,可得以更全面了解本申請案之揭示內容,圖式中相同的元件符號係指相同的元件。 圖1是方塊圖,例示本揭露一些實施例之資料儲存裝置與主機裝置。 圖2是方塊圖,例示本揭露一些實施例之資料儲存裝置的記憶體模組。 圖3是方塊圖,例示本揭露一些實施例之資料儲存裝置的記憶體模組的分頁。 圖4是方塊圖,例示本揭露一些實施例之資料儲存裝置的記憶體模組的複數個分頁。 圖5是示意圖,例示本揭露一些實施例之在資料儲存裝置與主機裝置中的寫入順序。 圖6是示意圖,例示本揭露一些實施例之在資料儲存裝置與主機裝置中的讀取順序。 圖7是方塊圖,例示本揭露一些實施例之資料儲存裝置的記憶體模組的分頁。 圖8是方塊圖,例示本揭露一些實施例之資料儲存裝置的記憶體模組的複數個分頁。 圖9是方塊圖,例示本揭露一些實施例之資料儲存裝置的記憶體模組的複數個分頁。 圖10是方塊圖,例示本揭露一些實施例之資料儲存裝置的記憶體模組的複數個分頁。 圖11是流程圖,例示本揭露一些實施例之資料儲存裝置的控制方法。 圖12是流程圖,例示本揭露一些實施例之資料儲存裝置的控制方法。 圖13是流程圖,例示本揭露一些實施例之資料儲存裝置的控制方法。 圖14是流程圖,例示本揭露一些實施例之資料儲存裝置的控制方法。 The disclosure content of this application can be more fully understood by referring to the embodiments and the patent scope combined with the drawings. The same element symbols in the drawings refer to the same elements. FIG. 1 is a block diagram illustrating a data storage device and a host device according to some embodiments of the present disclosure. FIG. 2 is a block diagram illustrating a memory module of a data storage device according to some embodiments of the present disclosure. FIG. 3 is a block diagram illustrating paging of a memory module of a data storage device according to some embodiments of the present disclosure. FIG. 4 is a block diagram illustrating multiple pages of a memory module of a data storage device according to some embodiments of the present disclosure. FIG. 5 is a schematic diagram illustrating the writing sequence in the data storage device and the host device according to some embodiments of the present disclosure. FIG. 6 is a schematic diagram illustrating the reading sequence in the data storage device and the host device according to some embodiments of the present disclosure. FIG. 7 is a block diagram illustrating paging of a memory module of a data storage device according to some embodiments of the present disclosure. FIG. 8 is a block diagram illustrating multiple pages of a memory module of a data storage device according to some embodiments of the present disclosure. FIG. 9 is a block diagram illustrating multiple pages of a memory module of a data storage device according to some embodiments of the present disclosure. FIG. 10 is a block diagram illustrating multiple pages of a memory module of a data storage device according to some embodiments of the present disclosure. FIG. 11 is a flow chart illustrating a control method of a data storage device according to some embodiments of the present disclosure. FIG. 12 is a flow chart illustrating a control method of a data storage device according to some embodiments of the present disclosure. FIG. 13 is a flow chart illustrating a control method of a data storage device according to some embodiments of the present disclosure. FIG. 14 is a flow chart illustrating a control method of a data storage device according to some embodiments of the present disclosure.
1:記憶體模組 1: Memory module
2:記憶體控制器 2:Memory controller
3:緩衝記憶體 3: Buffer memory
4:儲存區塊組 4:Storage block group
21:通信介面 21: Communication interface
22:微處理器 22:Microprocessor
23:記憶體 23:Memory
23P:程式 23P:Program
24:通信介面 24: Communication interface
41:儲存區塊 41:Storage block
42:儲存區塊 42:Storage block
43:儲存區塊 43:Storage block
44:儲存區塊 44:Storage block
50:主機裝置 50: Host device
51:通信介面 51: Communication interface
52:主機記憶體 52: Host memory
100:資料儲存裝置 100:Data storage device
OP1:邏輯運算 OP1: Logical operation
Claims (20)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/737,726 US11789816B1 (en) | 2022-05-05 | 2022-05-05 | Method for controlling data storage device storing associated data in two areas |
US17/737,689 | 2022-05-05 | ||
US17/737,726 | 2022-05-05 | ||
US17/737,689 US11983066B2 (en) | 2022-05-05 | 2022-05-05 | Data storage device storing associated data in two areas |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202345005A true TW202345005A (en) | 2023-11-16 |
TWI825802B TWI825802B (en) | 2023-12-11 |
Family
ID=89720335
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111123488A TWI825803B (en) | 2022-05-05 | 2022-06-23 | Data storage device and non-tranistory computer readable medium for the same |
TW111123487A TWI825802B (en) | 2022-05-05 | 2022-06-23 | A method for controlling data storage device |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111123488A TWI825803B (en) | 2022-05-05 | 2022-06-23 | Data storage device and non-tranistory computer readable medium for the same |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWI825803B (en) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW436798B (en) * | 1998-10-08 | 2001-05-28 | United Microelectronics Corp | Test circuit of memory device |
US6765408B2 (en) * | 2002-02-11 | 2004-07-20 | Lattice Semiconductor Corporation | Device and method with generic logic blocks |
KR101464338B1 (en) * | 2007-10-25 | 2014-11-25 | 삼성전자주식회사 | Data storage device, memory system, and computing system using nonvolatile memory device |
US8156391B2 (en) * | 2008-05-27 | 2012-04-10 | Lsi Corporation | Data controlling in the MBIST chain architecture |
US9547589B2 (en) * | 2008-06-18 | 2017-01-17 | Super Talent Technology, Corp. | Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive |
US9513815B2 (en) * | 2013-12-19 | 2016-12-06 | Macronix International Co., Ltd. | Memory management based on usage specifications |
JP6164712B1 (en) * | 2016-08-18 | 2017-07-19 | ウィンボンド エレクトロニクス コーポレーション | Flash memory |
TWI668700B (en) * | 2017-12-22 | 2019-08-11 | 慧榮科技股份有限公司 | Data storage device and methods for processing data in the data storage device |
CN110659150B (en) * | 2019-10-10 | 2023-04-21 | 深圳芯邦科技股份有限公司 | Method for detecting micro-control unit memory and related device |
US11327884B2 (en) * | 2020-04-01 | 2022-05-10 | Micron Technology, Inc. | Self-seeded randomizer for data randomization in flash memory |
US11210028B2 (en) * | 2020-04-22 | 2021-12-28 | Silicon Motion, Inc. | Method for accessing flash memory module and associated flash memory controller and electronic device |
-
2022
- 2022-06-23 TW TW111123488A patent/TWI825803B/en active
- 2022-06-23 TW TW111123487A patent/TWI825802B/en active
Also Published As
Publication number | Publication date |
---|---|
TW202345006A (en) | 2023-11-16 |
TWI825802B (en) | 2023-12-11 |
TWI825803B (en) | 2023-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9812224B2 (en) | Data storage system, data storage device and RAID controller | |
US9122498B2 (en) | Firmware code loading method, memory controller and memory storage apparatus | |
JPWO2007119267A1 (en) | Memory controller for flash memory | |
US10866736B2 (en) | Memory controller and data processing circuit with improved system efficiency | |
WO2011040950A2 (en) | Power interrupt management | |
CN107179877B (en) | Data transmission method, memory control circuit unit and memory storage device | |
CN109857584B (en) | Method for performing access control on memory device, memory device and controller thereof | |
KR20190117117A (en) | Data storage device and operating method thereof | |
CN108733616B (en) | Controller including multiple processors and method of operating the same | |
TWI447579B (en) | Program code loading and accessing method, memory controller and memory storage apparatus | |
TW201941066A (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
TWI698742B (en) | Method for performing access control in a memory device, and associated memory device and controller thereof | |
TW202133166A (en) | Method for performing data storage management to enhance data reliability, associated memory device and controller thereof, and associated electronic device | |
US8883521B2 (en) | Control method of multi-chip package memory device | |
TW201926049A (en) | Method for performing system backup in a memory device, associated memory device and controller thereof, and associated electronic device | |
KR20190051530A (en) | Data processing system and operating method of data processing system | |
CN117009262A (en) | Data storage device and non-transitory computer readable medium thereof | |
CN109840165B (en) | Memory system and method of operating the same | |
CN109426582B (en) | Method and controller for data processing of storage device for error handling | |
TWI825802B (en) | A method for controlling data storage device | |
TWI709855B (en) | Method for performing writing management in a memory device, and associated memory device and controller thereof | |
US20230359522A1 (en) | Method for controlling data storage device storing associated data in two areas | |
US20130205066A1 (en) | Enhanced write abort management in flash memory | |
TWI653630B (en) | Method for accessing flash memory module and related flash memory controller and electronic device | |
TWI845062B (en) | Method for testing flash memory module and associated flash memory controller and memory device |