CN112799973B - 编码控制方法、存储器存储装置及存储器控制电路单元 - Google Patents
编码控制方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN112799973B CN112799973B CN202110179322.7A CN202110179322A CN112799973B CN 112799973 B CN112799973 B CN 112799973B CN 202110179322 A CN202110179322 A CN 202110179322A CN 112799973 B CN112799973 B CN 112799973B
- Authority
- CN
- China
- Prior art keywords
- unit
- parity
- memory
- host
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种编码控制方法、存储器存储装置及存储器控制电路单元。所述方法包括:利用多个第一主机至装置(H2D)存取操作从主机系统读取多个第一数据单元;根据第一数据单元产生至少一第一奇偶单元;利用至少一第一装置至主机(D2H)存取操作将第一奇偶单元传送至主机系统;利用多个第二H2D存取操作从主机系统读取多个第二数据单元;在不从主机系统读取第一奇偶单元的前提下,根据第一奇偶单元与第二数据单元产生至少一第二奇偶单元;利用至少一第二D2H存取操作将第二奇偶单元传送至主机系统;以及将第一数据单元与第二数据单元存储至第一实体单元。因此,可提高在主机存储器缓存架构下的数据传输和/或编码效率。
Description
技术领域
本发明涉及一种存储器控制技术,尤其涉及一种编码控制方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
某些类型的存储器存储装置支持主机存储器缓存(host memory buffering)技术。在采用主机存储器缓存的架构中,存储器存储装置可利用主机系统的存储器来作为存储器存储装置的缓存器,并可主动对主机系统的存储器进行数据存取。一般来说,使用主机存储器缓存可提高存储器存储装置的缓存效率和/或降低存储器存储装置的建置成本。然而,在基于主机存储器缓存来进行数据编码时,可能会因为需要频繁地从主机存储器缓存器(host memory buffer)读取编码过程中使用的过渡数据而导致来自主机系统的待编码数据的传输频宽降低。
发明内容
本发明提供一种编码控制方法、存储器存储装置及存储器控制电路单元,可提高在主机存储器缓存架构下的数据传输和/或编码效率。
本发明的范例实施例提供一种编码控制方法,其用于存储器存储装置。所述存储器存储装置包括编码电路与可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个实体单元。所述编码控制方法包括:利用多个第一主机至装置(host todevice,H2D)存取操作从主机系统读取多个第一数据单元;由所述编码电路执行第一编码操作以根据所述多个第一数据单元产生至少一第一奇偶单元;利用至少一第一装置至主机(device to host,D2H)存取操作将所述至少一第一奇偶单元传送至所述主机系统;利用多个第二H2D存取操作从所述主机系统读取多个第二数据单元;在不从所述主机系统读取所述至少一第一奇偶单元中的任一者的前提下,由所述编码电路执行第二编码操作以根据所述至少一第一奇偶单元的至少其中之一与所述多个第二数据单元产生至少一第二奇偶单元;利用至少一第二D2H存取操作将所述至少一第二奇偶单元传送至所述主机系统;以及将所述多个第一数据单元与所述多个第二数据单元存储至所述多个实体单元中的第一实体单元。
在本发明的一范例实施例中,所述的编码控制方法还包括:将所述第一实体单元决定为开启单元;以及在所述第一实体单元作为所述开启单元使用的状态下,将来自所述主机系统的所述多个第一数据单元与所述多个第二数据单元存储至所述第一实体单元。
在本发明的一范例实施例中,所述的编码控制方法还包括:在所述第一实体单元作为开启单元使用的状态下,利用至少一第三H2D存取操作从所述主机系统读取至少一第三奇偶单元,其中所述至少一第三奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元;以及由所述编码电路根据所述至少一第三奇偶单元解码从所述第一实体单元读取的数据。
在本发明的一范例实施例中,所述的编码控制方法还包括:在所述第一实体单元不作为开启单元使用的状态下,利用至少一第四H2D存取操作从所述主机系统读取至少一第四奇偶单元,其中所述至少一第四奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元;由所述编码电路根据所述至少一第四奇偶单元产生至少一第五奇偶单元;以及将所述至少一第五奇偶单元存储至所述多个实体单元中的第二实体单元。
在本发明的一范例实施例中,所述的编码控制方法还包括:在所述第一实体单元不作为所述开启单元使用的状态下,由所述编码电路根据所述至少一第五奇偶单元解码从所述第一实体单元读取的数据。
在本发明的一范例实施例中,所述的编码控制方法还包括:从所述主机系统接收请求,其中所述请求用以询问所述存储器存储装置是否支持主机存储器缓存;根据所述请求提供回应至所述主机系统;以及由所述主机系统根据所述回应使能(enable)主机存储器缓存器供所述存储器存储装置存取。
本发明的范例实施例另提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以利用多个第一H2D存取操作从所述主机系统读取多个第一数据单元。所述存储器控制电路单元还用以执行第一编码操作以根据所述多个第一数据单元产生至少一第一奇偶单元。所述存储器控制电路单元还用以利用至少一第一D2H存取操作将所述至少一第一奇偶单元传送至所述主机系统。所述存储器控制电路单元还用以利用多个第二H2D存取操作从所述主机系统读取多个第二数据单元。在不从所述主机系统读取所述至少一第一奇偶单元中的任一者的前提下,所述存储器控制电路单元还用以执行第二编码操作以根据所述至少一第一奇偶单元的至少其中之一与所述多个第二数据单元产生至少一第二奇偶单元。所述存储器控制电路单元还用以利用至少一第二D2H存取操作将所述至少一第二奇偶单元传送至所述主机系统。所述存储器控制电路单元还用以将所述多个第一数据单元与所述多个第二数据单元存储至所述多个实体单元中的一第一实体单元。
在本发明的一范例实施例中,所述存储器控制电路单元还用以:将所述第一实体单元决定为一开启单元;以及在所述第一实体单元作为所述开启单元使用的状态下,将来自所述主机系统的所述多个第一数据单元与所述多个第二数据单元存储至所述第一实体单元。
在本发明的一范例实施例中,所述存储器控制电路单元还用以:在所述第一实体单元作为开启单元使用的状态下,利用至少一第三H2D存取操作从所述主机系统读取至少一第三奇偶单元,其中所述至少一第三奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元;以及根据所述至少一第三奇偶单元解码从所述第一实体单元读取的数据。
在本发明的一范例实施例中,所述存储器控制电路单元还用以:在所述第一实体单元不作为开启单元使用的状态下,利用至少一第四H2D存取操作从所述主机系统读取至少一第四奇偶单元,其中所述至少一第四奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元;根据所述至少一第四奇偶单元产生至少一第五奇偶单元;以及将所述至少一第五奇偶单元存储至所述多个实体单元中的第二实体单元。
在本发明的一范例实施例中,所述存储器控制电路单元还用以在所述第一实体单元不作为所述开启单元使用的状态下,根据所述至少一第五奇偶单元解码从所述第一实体单元读取的数据。
在本发明的一范例实施例中,所述存储器控制电路单元还用以:从所述主机系统接收请求,其中所述请求用以询问所述存储器存储装置是否支持主机存储器缓存;根据所述请求提供一回应至所述主机系统,并且所述主机系统用以根据所述回应使能主机存储器缓存器供所述存储器存储装置存取。
本发明的范例实施例另提供一种存储器控制电路单元,其用以控制存储器存储装置。所述存储器存储装置包括可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元包括主机接口、存储器接口、编码电路及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口、所述存储器接口及所述编码电路。所述存储器管理电路用以利用多个第一H2D存取操作从所述主机系统读取多个第一数据单元。所述编码电路用以执行第一编码操作以根据所述多个第一数据单元产生至少一第一奇偶单元。所述存储器管理电路还用以利用至少一第一D2H存取操作将所述至少一第一奇偶单元传送至所述主机系统。所述存储器管理电路还用以利用多个第二H2D存取操作从所述主机系统读取多个第二数据单元。在不从所述主机系统读取所述至少一第一奇偶单元中的任一者的前提下,所述编码电路还用以执行第二编码操作以根据所述至少一第一奇偶单元的至少其中之一与所述多个第二数据单元产生至少一第二奇偶单元。所述存储器管理电路还用以利用至少一第二D2H存取操作将所述至少一第二奇偶单元传送至所述主机系统。所述存储器管理电路还用以将所述多个第一数据单元与所述多个第二数据单元存储至所述多个实体单元中的第一实体单元。
在本发明的一范例实施例中,所述多个第一H2D存取操作、所述至少一第一D2H存取操作、所述多个第二H2D存取操作及所述至少一第二D2H存取操作是用以存取所述主机系统的主机存储器缓存器。
在本发明的一范例实施例中,所述存储器管理电路还用以:将所述第一实体单元决定为开启单元;以及在所述第一实体单元作为所述开启单元使用的状态下,将来自所述主机系统的所述多个第一数据单元与所述多个第二数据单元存储至所述第一实体单元。
在本发明的一范例实施例中,所述第一编码操作包括:所述多个第一数据单元中的至少两个数据单元执行一跨页编码,以使所述至少一第一奇偶单元中的单一个奇偶单元适于保护所述多个第一数据单元中属于多个实体页的数据。
在本发明的一范例实施例中,所述至少一第一奇偶单元中的每一者属于第一类奇偶单元。所述第一编码操作还包括:对所述多个第一数据单元中的单一个数据单元执行单页编码以产生第二类奇偶单元,其中所述第二类奇偶单元适于保护所述多个第一数据单元中属于单一个实体页的数据。
在本发明的一范例实施例中,所述存储器管理电路还用以在所述第一实体单元作为开启单元使用的状态下,利用至少一第三H2D存取操作从所述主机系统读取至少一第三奇偶单元,其中所述至少一第三奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的一奇偶单元。所述编码电路还用以根据所述至少一第三奇偶单元解码从所述第一实体单元读取的数据。
在本发明的一范例实施例中,所述存储器管理电路还用以在所述第一实体单元不作为开启单元使用的状态下,利用至少一第四主机至装置存取操作从所述主机系统读取至少一第四奇偶单元,其中所述至少一第四奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元。所述编码电路还用以根据所述至少一第四奇偶单元产生至少一第五奇偶单元。所述存储器管理电路还用以将所述至少一第五奇偶单元存储至所述多个实体单元中的第二实体单元。
在本发明的一范例实施例中,所述编码电路还用以在所述第一实体单元不作为所述开启单元使用的状态下,根据所述至少一第五奇偶单元解码从所述第一实体单元读取的数据。
在本发明的一范例实施例中,所述存储器管理电路还用以:从所述主机系统接收请求,其中所述请求用以询问所述存储器控制电路单元是否支持主机存储器缓存;根据所述请求提供一回应至所述主机系统,并且所述主机系统用以根据所述回应使能主机存储器缓存器供所述存储器控制电路单元存取。
基于上述,在使用H2D存取操作从主机系统读取多个第一数据单元后,第一编码操作可被执行以根据所述第一数据单元产生第一奇偶单元,且所述第一奇偶单元可通过使用D2H存取操作被传送至所述主机系统。接着,多个第二数据单元可通过使用H2D存取操作从所述主机系统读取。在不从所述主机系统读取所述第一奇偶单元中的任一者的前提下,第二编码操作可被执行以根据所述第一奇偶单元与所述第二数据单元产生第二奇偶单元。接着,所述第二奇偶单元可通过使用D2H存取操作被传送至所述主机系统,且所述第一数据单元与所述第二数据单元可被存储至第一实体单元。通过在数据单元的编码与传输中减少对于H2D通道的频宽占用,可提高在主机存储器缓存架构下的数据传输和/或编码效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的范例实施例所示出的主机系统与存储器存储装置之间的数据存取的示意图;
图8是根据本发明的范例实施例所示出的数据存取与编码的示意图;
图9是根据本发明的范例实施例所示出的数据存取与编码的示意图;
图10是根据本发明的范例实施例所示出的编码控制方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10连接。例如,主机系统11可通过数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12连接。例如,主机系统11可通过系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以通过有线或无线方式连接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近场通信(Near FieldCommunication,NFC)存储器存储装置、无线保真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以计算机系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄像机、通信装置、音频播放器、视频播放器或平板计算机等系统,而存储器存储装置30可为其所使用的安全数位(SecureDigital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi MediaCard,eMMC)341和/或嵌入式多芯片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接连接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
连接接口单元402用以将存储器存储装置10连接至主机系统11。存储器存储装置10可通过连接接口单元402与主机系统11通信。在本范例实施例中,连接接口单元402是相容于高速周边零件连接接口(Peripheral Component Interconnect Express,PCIe)标准和/或快速非易失性存储器(NVM Express,NVMe)接口。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与擦除等运作。
可复写式非易失性存储器模块406是连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个位元的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个位元的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个位元的快闪存储器模块)、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个位元的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为阈值电压)的改变来存储一或多个位元。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的阈值电压。此改变存储单元的阈值电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着阈值电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个位元。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体擦除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的位元,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效位元(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效位元(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据位元区与冗余(redundancy)位元区。数据位元区包含多个实体扇,用以存储使用者数据,而冗余位元区用以存储系统数据(例如,纠错码等管理数据)。在本范例实施例中,数据位元区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据位元区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体擦除单元为擦除的最小单位。亦即,每一实体擦除单元含有最小数目的一并被擦除的存储单元。例如,实体擦除单元为实体块(block)。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504、存储器接口506及差错校验电路508。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与擦除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。
在另一范例实施例中,存储器管理电路502的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被使能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与擦除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路是连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器擦除电路用以对可复写式非易失性存储器模块406下达擦除指令序列以将数据从可复写式非易失性存储器模块406中擦除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及擦除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及擦除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是连接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机系统11通信。在本范例实施例中,主机接口504是相容于PCIe标准和/或NVMe标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于其他适合的数据传输标准。
存储器接口506是连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示擦除数据的擦除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
差错校验电路(亦称为编码电路或解码电路)508是连接至存储器管理电路502并且用以执行差错校验操作以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,差错校验电路508会为对应此写入指令的数据产生对应的纠错码(error correcting code,ECC)和/或检错码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的纠错码和/或检错码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的纠错码和/或检错码,并且差错校验电路508会依据此纠错码和/或检错码对所读取的数据执行差错校验操作。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器510与电源管理电路512。缓冲存储器510是连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块406亦称为快闪(flash)存储器模块,且存储器控制电路单元404亦称为用于控制快闪存储器模块的快闪存储器控制器。在一范例实施例中,图5的存储器管理电路502亦称为快闪存储器管理电路。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,存储器管理电路502可将可复写式非易失性存储器模块406的实体单元610(0)~610(B)逻辑地分组至存储区601与替换区602。存储区601中的实体单元610(0)~610(A)是用以存储数据,而替换区602中的实体单元610(A+1)~610(B)则是用以替换存储区601中损坏的实体单元。例如,若从某一个实体单元中读取的数据所包含的错误过多而无法被更正时,此实体单元会被视为是损坏的实体单元。此外,若替换区602中没有可用的实体单元,则存储器管理电路502可能会将整个存储器存储装置10宣告为写入保护(writeprotect)状态,而无法再写入数据。
在本范例实施例中,每一个实体单元是指一或多个实体擦除单元。存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)。在本范例实施例中,每一个逻辑单元是指一个逻辑地址。然而,在另一范例实施例中,一个逻辑单元也可以是指一个逻辑程序化单元、一个逻辑擦除单元或者由多个连续或不连续的逻辑地址组成。此外,逻辑单元612(0)~612(C)中的每一者可被映射至一或多个实体单元。
存储器管理电路502可将逻辑单元与实体单元之间的映射关系(亦称为逻辑-实体地址映射关系)记录于至少一逻辑-实体地址映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-实体地址映射表来执行对于存储器存储装置10的数据存取操作。
图7是根据本发明的一范例实施例所示出的主机系统与存储器存储装置之间的数据存取的示意图。请参照图7,主机系统11与存储器存储装置10皆支持主机存储器缓存(host memory buffering)技术。在主机存储器缓存架构下,主机系统11可具有一个主机存储器缓存器(host memory buffer,HMB)71。例如,主机存储器缓存器71可包括至少一个随机存取存储器并可用以缓存(即暂存)数据。存储器存储装置10可通过通道701来主动读取缓存在主机存储器缓存器71中的数据或者通过通道702来主动将数据缓存至主机存储器缓存器71中。
在一范例实施例中,存储器管理电路502可从主机系统11接收一个请求。此请求用以询问存储器存储装置10是否支持主机存储器缓存。存储器管理电路502可根据此请求提供一个回应至主机系统11。此回应可告知主机系统11存储器存储装置10是否支持主机存储器缓存。若存储器存储装置10支持主机存储器缓存,主机系统11可根据此回应使能主机存储器缓存器71以供存储器存储装置10存取。反之,若存储器存储装置10不支持主机存储器缓存,则主机系统11可不使能主机存储器缓存器71。在一范例实施例中,若存储器存储装置10支持主机存储器缓存,则此回应亦可告知主机系统11执行主机存储器缓存所需的存储器空间等与主机存储器缓存有关的参数。主机系统11可根据此回应来配置与主机存储器缓存器71有关的设定信息。
在一范例实施例中,存储器存储装置10读取主机存储器缓存器71中的数据的操作可视为是存储器存储装置10利用至少一个主机至装置(Host to Device,H2D)存取操作来主动读取缓存在主机系统缓存器71中的数据。在一范例实施例中,存储器存储装置10将数据缓存至主机存储器缓存器71中的操作可视为是存储器存储装置10利用至少一个装置至主机(Device to Host,D2H)存取操作来主动将数据缓存至主机系统缓存器71中。
在一范例实施例中,H2D存取操作类似于主机系统11的数据写入操作,其可通过通道701将数据从主机系统11传送至存储器存储装置10以进行数据处理和/或存储。在一范例实施例中,D2H存取操作类似于主机系统11的数据读取操作,其可通过通道702将数据从存储器存储装置10传送至主机系统11。
在一范例实施例中,主机存储器缓存器71可等同或类似于存储器存储装置10自身的缓冲存储器。在存储器存储装置10的运作过程中,存储器存储装置10可通过通道701从主机存储器缓存器71读取待存储的数据并对此数据进行编码等处理。此外,在数据的编码等处理过程中产生的数据(亦称为过渡数据)可通过通道702缓存于主机存储器缓存器71中以供下一次使用。
在一范例实施例中,过渡数据包括数据的编/解码等处理过程中产生的暂时数据或非必要数据。例如,过渡数据可以被缓存至主机存储器缓存器71,但可不被存储至可复写式非易失性存储器模块406。此外,过渡数据在不需使用后即可删除。在一范例实施例中,过渡数据也包括对主机存储器缓存器71中待存储的数据进行编码而产生的奇偶(parity)数据。
在一范例实施例中,主机存储器缓存器71可完全取代图5中的缓冲存储器510。亦即,在一范例实施例中,存储器存储装置10或存储器控制电路单元404可不具有或不使用缓冲存储器510。
在一范例实施例中,主机存储器缓存器71可与图5中的缓冲存储器510同时存在。例如,主机存储器缓存器71可作为存储器存储装置10的额外缓存空间。主机存储器缓存器71与缓冲存储器510可根据默认规则而搭配使用。例如,在主机系统11与存储器存储装置10同时支持主机存储器缓存的状态下,存储器存储装置10可优先使用主机存储器缓存器71。然而,在所连接的主机系统11未提供主机存储器缓存器71供存储器存储装置10存取的状态下,存储器存储装置10可仅使用缓冲存储器510。本发明不限制主机存储器缓存器71与缓冲存储器510同时存在时的使用规则。
在一范例实施例中,编码电路508可针对多个数据单元进行编码并产生一或多个奇偶单元。数据单元可以是来自于主机系统11的待存储数据。一个数据单元可包括多个位元。例如,一个数据单元的数据长度可以是等同于一或多个逻辑单元的数据长度。此外,一个数据单元中的数据可以被存储至一或多个实体程序化单元。
在一范例实施例中,存储器管理电路502可利用多个H2D存取操作(亦称为第一H2D存取操作)从主机系统11读取多个数据单元(亦称为第一数据单元)。编码电路508可执行编码操作(亦称为第一编码操作)以根据所述多个第一数据单元产生至少一奇偶单元(亦称为第一奇偶单元)。然后,存储器管理电路502可利用至少一D2H存取操作(亦称为第一D2H存取操作)将所述第一奇偶单元传送至主机系统11。
另一方面,存储器管理电路502可利用多个H2D存取操作(亦称为第二H2D存取操作)从主机系统11读取多个数据单元(亦称为第二数据单元)。在不从主机系统11读取所述第一奇偶单元中的任一者的前提下,编码电路508可执行另一编码操作(亦称为第二编码操作)以根据所述第一奇偶单元的至少其中之一以及所述多个第二数据单元产生至少一奇偶单元(亦称为第二奇偶单元)。然后,存储器管理电路502可利用至少一D2H存取操作(亦称为第二D2H存取操作)将所述第二奇偶单元传送至主机系统11。须注意的是,所述第一H2D存取操作、所述第一D2H存取操作、所述第二H2D存取操作及所述第二D2H存取操作是用以存取主机系统11中的主机存储器缓存器71。此外,存储器管理电路502可将所述第一数据单元与所述第二数据单元存储至可复写式非易失性存储器模块406中的某一实体单元(亦称为第一实体单元)。例如,第一实体单元可为图6中的实体单元610(0)。
须注意的是,上述在对第一数据单元与第二数据单元的编码操作中,皆不包含或涉及使用H2D存取操作来从主机系统11读取过渡数据(例如奇偶数据)。因此,主机系统11对于数据的写入频宽(即通道701的传输频宽)并不会被任何作为过渡数据使用的奇偶单元的传输占用。同时,主机系统11也不会因为数据单元的传输频宽被任何过渡数据的传输占用而检测到数据的写入速度下降和/或传输速度下降等不良状况。
在一范例实施例中,存储器管理电路502可将第一实体单元决定为一个开启单元(亦称为开启块)。第一实体单元的数目可以是一或多个。在第一实体单元持续作为开启单元使用的状态下,存储器管理电路502可将来自主机系统11的所述第一数据单元与所述第二数据单元存储至第一实体单元中。此外,存储器管理电路502可将来自主机系统11的待存储数据的全部或至少部分数据存储至当前作为开启单元使用的第一实体单元中,直到第一实体单元被写满为止。一旦第一实体单元被写满,存储器管理电路502可选择另一个实体单元(例如图6中的实体单元610(1))作为新的开启单元,以存储其他来自主机系统11的数据。
在一范例实施例的编码操作中,编码电路508可对来自主机系统11的多个数据单元中的至少两个数据单元执行跨页编码。在一范例实施例中,跨页编码所产生的奇偶单元亦称为第一类奇偶单元,且第一类奇偶单元适于保护所述数据单元中属于多个实体页的数据。例如,假设一个数据单元对应于一个实体页,则编码电路508可对多个数据单元执行跨页编码以产生可同时保护多个实体页的数据的奇偶单元。当从其中的某一个实体页读取的数据存在错误时,编码电路508可根据此奇偶单元以及其他的实体页的数据来尝试更正此实体页中的错误。在一范例实施例中,编码电路508可基于逻辑上的互斥或(Exclusive-OR,XOR)或里德-所罗门码(Reed-solomon codes,RS code)等编/解码算法来执行所述跨页编码。
在一范例实施例的编码操作中,编码电路508可对来自主机系统11的单一个数据单元执行单页编码。在一范例实施例中,单页编码所产生的奇偶单元亦称为第二类奇偶单元,且第二类奇偶单元适于保护所述数据单元中属于单一个实体页的数据。例如,假设一个数据单元对应于一个实体页,则编码电路508可对单一个数据单元执行单页编码以产生可保护单一个实体页的数据的奇偶单元。当从此实体页读取的数据存在错误时,编码电路508可根据此奇偶单元来尝试更正此实体页中的错误。在一范例实施例中,编码电路508可基于低密度奇偶检查码(Low-density parity-check code,LDPC code)、BCH码、回旋码(convolutional code)、涡轮码(turbo code)等编/解码算法来执行所述单页编码。
图8是根据本发明的一范例实施例所示出的数据存取与编码的示意图。请参照图8,存储器管理电路502可依序从主机存储器缓存器71读取数据单元D1~D12。数据单元D1~D12为缓存在主机存储器缓存器71中的待存储数据。编码电路508可对数据单元D1~D12执行至少一编码操作以根据数据单元D1~D12产生奇偶单元P1~P4。
具体而言,存储器管理电路502可利用三个H2D存取操作依序从主机存储器缓存器71读取数据单元D1~D3。编码电路508可编码数据单元D1~D3以产生奇偶单元P1。然后,存储器管理电路502可利用一个D2H存取操作将奇偶单元P1传送至主机存储器缓存器71。此外,数据单元D1~D3可被存储至开启单元801。
接着,存储器管理电路502可利用三个H2D存取操作依序从主机存储器缓存器71读取数据单元D4~D6。编码电路508可编码数据单元D4~D6与先前产生的奇偶单元P1以产生奇偶单元P2。须注意的是,此处编码电路508所使用的奇偶单元P1并不需要从主机存储器缓存器71读取。也就是说,奇偶单元P1不需要利用H2D存取操作来从主机存储器缓存器71读取。然后,存储器管理电路502可利用一个D2H存取操作将奇偶单元P2传送至主机存储器缓存器71。此外,数据单元D4~D6可被存储至开启单元801。
接着,存储器管理电路502可利用三个H2D存取操作依序从主机存储器缓存器71读取数据单元D7~D9。编码电路508可编码数据单元D7~D9与先前产生的奇偶单元P2以产生奇偶单元P3。须注意的是,此处编码电路508所使用的奇偶单元P2也不需要从主机存储器缓存器71读取。也就是说,奇偶单元P2也不需要利用H2D存取操作来从主机存储器缓存器71读取。然后,存储器管理电路502可利用一个D2H存取操作将奇偶单元P3传送至主机存储器缓存器71。此外,数据单元D7~D9可被存储至开启单元801。
接着,存储器管理电路502可利用三个H2D存取操作依序从主机存储器缓存器71读取数据单元D10~D12。编码电路508可编码数据单元D10~D12与先前产生的奇偶单元P3以产生奇偶单元P4。须注意的是,此处编码电路508所使用的奇偶单元P3也不需要从主机存储器缓存器71读取。也就是说,奇偶单元P3也不需要利用H2D存取操作来从主机存储器缓存器71读取。然后,存储器管理电路502可利用一个D2H存取操作将奇偶单元P4传送至主机存储器缓存器71。此外,数据单元D10~D12可被存储至开启单元801。
传统上,在数据单元D1~D12的传输与编码过程中,编码过程中产生的奇偶数据(或其他过渡数据)可能会频繁地在主机系统11与存储器存储装置10之间通过H2D存取操作和/或D2H存取操作来传输。但是,每当使用H2D存取操作来将奇偶数据从主机存储器缓存器71传输至存储器存储装置10时,主机系统11可能会因为通道701的传输频宽被占用而检测到数据的写入速度下降和/或传输速度下降等不良状况。
然而,在图8的范例实施例中,在编码操作的执行期间,存储器管理电路502可不使用额外的H2D存取操作来从主机存储器缓存器71读取任何奇偶单元。换言之,在图8的范例实施例中,在数据单元D1~D12的传输过程中,数据单元D1~D12的传输频宽(即通道701的传输频宽)并不会被任何作为过渡数据使用的奇偶单元的传输占用。藉此,主机系统11不会因为数据单元D1~D12的传输频宽被任何过渡数据的传输占用而检测到数据的写入速度下降和/或传输速度下降等不良状况。
在一范例实施例中,若当前作为开启单元(例如开启单元801)使用的实体单元(例如图6的实体单元610(0))被写满,则此实体单元可被关闭而无法再被写入数据。同时,另一个实体单元(例如图6中的实体单元610(1))可被选择作为新的开启单元,以存储其他来自主机系统11的数据。
在一范例实施例中,在第一实体单元作为开启单元使用的状态下(即第一实体单元被写满之前),奇偶单元P1~P4中的至少部分奇偶单元可不被存储至第一实体单元(或可复写式非易失性存储器模块406中的其他存储位置)。因此,当需要使用到奇偶单元P1~P4中的至少部分奇偶单元来解码数据时,存储器管理电路502可从主机系统11读取所需的奇偶单元。
在一范例实施例中,在第一实体单元作为开启单元使用的状态下(即第一实体单元被写满之前),存储器管理电路502可利用至少一H2D存取操作(亦称为第三H2D存取操作)从主机系统11读取至少一奇偶单元(亦称为第三奇偶单元)。所述第三奇偶单元可属于前述第一奇偶单元或前述第二奇偶单元中的任一者。然后,编码电路508可根据所述第三奇偶单元解码从第一实体单元读取的数据。
以图8为例,在当前的开启单元801被写满之前,若来自主机系统11的某一读取指令指示读取数据单元D1~D12中的任一者,则存储器管理电路502可利用至少一H2D存取操作从主机存储器缓存器71中读取奇偶单元P1~P4的至少其中之一。然后,编码电路508可根据来自主机系统11的奇偶单元来解码从开启单元801中读取的数据单元D1~D12的至少其中之一(例如更正数据中的错误)。
在一范例实施例中,在第一实体单元不作为开启单元使用的状态下(即第一实体单元已被写满),存储器管理电路502可利用至少一H2D存取操作(亦称为第四H2D存取操作)从主机系统11读取至少一奇偶单元(亦称为第四奇偶单元)。所述第四奇偶单元可属于前述第一奇偶单元或前述第二奇偶单元中的任一者。编码电路508可根据所述第四奇偶单元产生至少一奇偶单元(亦称为第五奇偶单元)。接着,存储器管理电路502可将所述第五奇偶单元存储至某一实体单元(亦称为第二实体单元)。尔后,编码电路508可根据从第二实体单元读取的所述第五奇偶单元解码从前述第一实体单元读取的数据。
图9是根据本发明的一范例实施例所示出的产生与存储奇偶单元的示意图。请参照图9,接续于图8的范例实施例,在开启单元801被写满后,新的开启单元901(即第二实体单元)可被决定。接着,在某一时间点,存储器管理电路502可通过处于闲置状态或低传输量状态的通道701来从主机存储器缓存器71读取奇偶单元P1~P4的至少其中之一。然后,编码电路508可根据从主机存储器缓存器71读取的奇偶单元来产生新的奇偶单元P1’和/或P2’。存储器管理电路502可将所产生的奇偶单元P1’和/或P2’存储至开启单元901(或可复写式非易失性存储器模块406中的其他存储位置)。尔后,存储于新的开启单元901(即第二实体单元)中的奇偶单元P1’和/或P2’即可用以解码存储于旧的开启单元801(即第一实体单元)中的数据单元D1~D12。
以图9为例,在一范例实施例中,存储器管理电路502可利用两个H2D存取操作来从主机存储器缓存器71读取奇偶单元P2与P4。存储器管理电路502可将奇偶单元P2作为奇偶单元P1’而存储至开启单元901。另一方面,编码电路508可对奇偶单元P2与P4进行编码以产生奇偶单元P2’。存储器管理电路502可将奇偶单元P2’存储至开启单元901。尔后,当从可复写式非易失性存储器模块406读取数据单元D1~D12中的至少一者时,奇偶单元P1’和/或P2’可被读取并且用以解码数据单元D1~D12以更正其中可能存在的错误。例如,奇偶单元P1’可专用于数据单元D1~D6的解码,而奇偶单元P2’可专用于数据单元D7~D12的解码。
须注意的是,在图8的一范例实施例中,奇偶单元P4是对数据单元D1~D12进行编码而产生。但是,在图9的一范例实施例中,奇偶单元P1’与P2’是对来自主机存储器缓存器71的奇偶单元P2与P4进行处理(例如编码)而产生。换言之,在图9的一范例实施例中,在完成对于数据单元D1~D12的编码后,奇偶单元P1’与P2’的产生并不涉及数据单元D1~D12中任一者的编码。
在图8的一范例实施例中,奇偶单元P4也可直接存储至可复写式非易失性存储器模块406以用于后续对于数据单元D1~D12的解码。但是,相较于图8的范例实施例中,图9的范例实施例中产生的奇偶单元P1’与P2’对数据单元D1~D12的错误更正能力会高于单一个奇偶单元P4对数据单元D1~D12的错误更正能力。例如,在读取数据单元时,奇偶单元P4可能无法更正同时出现于数据单元D2与D5中的错误位元,但奇偶单元P1’与P2’可以更正同时出现于数据单元D2与D5中的错误位元。
或者,在图8的一范例实施例中,当前产生的奇偶单元P2可以直接作为奇偶单元P1’而存储至可复写式非易失性存储器模块406。后续在图9的范例实施例中,只要产生奇偶单元P2’并将奇偶单元P2’存储至可复写式非易失性存储器模块406即可。
须注意的是,在图8与图9的范例实施例中,是以数据单元D1~D12作为待存储的数据单元的范例。然而,在其他范例实施例中,更多的数据单元可以被读取与编码,本发明不加以限制。此外,在图9的范例实施例中,是以一个奇偶单元保护六个数据单元作为范例。然而,在其他范例实施例中,更多或更少的数据单元可以被单一个奇偶单元保护,本发明不加以限制。
须注意的是,虽然前述范例实施例皆是以位于主机系统11的主机存储器缓存器71作为缓存过渡数据(例如编码单元P1~P4)的存储空间。然而,在另一范例实施例中,主机存储器缓存器71亦可以是以可复写式非易失性存储器模块406中的一个特定存储空间来取代。藉此,前述范例实施例中存储器存储装置10与主机系统11之间的互动也可以是以存储器控制电路单元404与可复写式非易失性存储器模块406之间的互动来取代,相关操作细节在此不重复赘述。
图10是根据本发明的一范例实施例所示出的编码控制方法的流程图。请参照图10,在步骤S1001中,利用多个第一主机至装置(H2D)存取操作从主机系统读取多个第一数据单元。在步骤S1002中,由编码电路执行第一编码操作以根据所述多个第一数据单元产生至少一第一奇偶单元。在步骤S1003中,利用至少一第一装置至主机(D2H)存取操作将所述至少一第一奇偶单元传送至所述主机系统。在步骤S1004中,利用多个第二H2D存取操作从所述主机系统读取多个第二数据单元。在步骤S1005中,在不从所述主机系统读取所述至少一第一奇偶单元中的任一者的前提下,由所述编码电路执行第二编码操作以根据所述至少一第一奇偶单元的至少其中之一与所述多个第二数据单元产生至少一第二奇偶单元。在步骤S1006中,利用至少一第二D2H存取操作将所述至少一第二奇偶单元传送至所述主机系统。在步骤S1007中,将所述多个第一数据单元与所述多个第二数据单元存储至所述多个实体单元中的第一实体单元。
然而,图10中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图10中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图10的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明所提出的范例实施例可在数据单元的编码与传输中减少编码操作中产生的过渡数据对于H2D通道的频宽占用。藉此,可提高在主机存储器缓存架构下的数据传输和/或编码效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (27)
1.一种编码控制方法,其特征在于,用于存储器存储装置,其中所述存储器存储装置包括编码电路与可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体单元,且所述编码控制方法包括:
利用多个第一主机至装置存取操作从主机系统读取多个第一数据单元;
由所述编码电路执行第一编码操作以根据所述多个第一数据单元产生至少一第一奇偶单元;
利用至少一第一装置至主机存取操作将所述至少一第一奇偶单元传送至所述主机系统;
利用多个第二主机至装置存取操作从所述主机系统读取多个第二数据单元;
在不从所述主机系统读取所述至少一第一奇偶单元中的任一者的前提下,由所述编码电路执行第二编码操作以根据所述至少一第一奇偶单元的至少其中之一与所述多个第二数据单元产生至少一第二奇偶单元;
利用至少一第二装置至主机存取操作将所述至少一第二奇偶单元传送至所述主机系统;以及
将所述多个第一数据单元与所述多个第二数据单元存储至所述多个实体单元中的第一实体单元。
2.根据权利要求1所述的编码控制方法,其中所述多个第一主机至装置存取操作、所述至少一第一装置至主机存取操作、所述多个第二主机至装置存取操作及所述至少一第二装置至主机存取操作是用以存取所述主机系统的主机存储器缓存器。
3.根据权利要求1所述的编码控制方法,还包括:
将所述第一实体单元决定为开启单元;以及
在所述第一实体单元作为所述开启单元使用的状态下,将来自所述主机系统的所述多个第一数据单元与所述多个第二数据单元存储至所述第一实体单元。
4.根据权利要求1所述的编码控制方法,其中所述第一编码操作包括:
对所述多个第一数据单元中的至少两个数据单元执行跨页编码,以使所述至少一第一奇偶单元中的单一个奇偶单元适于保护所述多个第一数据单元中属于多个实体页的数据。
5.根据权利要求4所述的编码控制方法,其中所述至少一第一奇偶单元中的每一者属于第一类奇偶单元,且所述第一编码操作还包括:
对所述多个第一数据单元中的单一个数据单元执行单页编码以产生第二类奇偶单元,其中所述第二类奇偶单元适于保护所述多个第一数据单元中属于单一个实体页的数据。
6.根据权利要求1所述的编码控制方法,还包括:
在所述第一实体单元作为开启单元使用的状态下,利用至少一第三主机至装置存取操作从所述主机系统读取至少一第三奇偶单元,其中所述至少一第三奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元;以及
由所述编码电路根据所述至少一第三奇偶单元解码从所述第一实体单元读取的数据。
7.根据权利要求1所述的编码控制方法,还包括:
在所述第一实体单元不作为开启单元使用的状态下,利用至少一第四主机至装置存取操作从所述主机系统读取至少一第四奇偶单元,其中所述至少一第四奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元;
由所述编码电路根据所述至少一第四奇偶单元产生至少一第五奇偶单元;以及
将所述至少一第五奇偶单元存储至所述多个实体单元中的第二实体单元。
8.根据权利要求7所述的编码控制方法,还包括:
在所述第一实体单元不作为所述开启单元使用的状态下,由所述编码电路根据所述至少一第五奇偶单元解码从所述第一实体单元读取的数据。
9.根据权利要求1所述的编码控制方法,还包括:
从所述主机系统接收请求,其中所述请求用以询问所述存储器存储装置是否支持主机存储器缓存;
根据所述请求提供回应至所述主机系统;以及
由所述主机系统根据所述回应使能主机存储器缓存器供所述存储器存储装置存取。
10.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以利用多个第一主机至装置存取操作从所述主机系统读取多个第一数据单元,
所述存储器控制电路单元还用以执行第一编码操作以根据所述多个第一数据单元产生至少一第一奇偶单元,
所述存储器控制电路单元还用以利用至少一第一装置至主机存取操作将所述至少一第一奇偶单元传送至所述主机系统,
所述存储器控制电路单元还用以利用多个第二主机至装置存取操作从所述主机系统读取多个第二数据单元,
在不从所述主机系统读取所述至少一第一奇偶单元中的任一者的前提下,所述存储器控制电路单元还用以执行第二编码操作以根据所述至少一第一奇偶单元的至少其中之一与所述多个第二数据单元产生至少一第二奇偶单元,
所述存储器控制电路单元还用以利用至少一第二装置至主机存取操作将所述至少一第二奇偶单元传送至所述主机系统,并且
所述存储器控制电路单元还用以将所述多个第一数据单元与所述多个第二数据单元存储至所述多个实体单元中的第一实体单元。
11.根据权利要求10所述的存储器存储装置,其中所述多个第一主机至装置存取操作、所述至少一第一装置至主机存取操作、所述多个第二主机至装置存取操作及所述至少一第二装置至主机存取操作是用以存取所述主机系统的主机存储器缓存器。
12.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元还用以:
将所述第一实体单元决定为开启单元;以及
在所述第一实体单元作为所述开启单元使用的状态下,将来自所述主机系统的所述多个第一数据单元与所述多个第二数据单元存储至所述第一实体单元。
13.根据权利要求10所述的存储器存储装置,其中所述第一编码操作包括:
对所述多个第一数据单元中的至少两个数据单元执行跨页编码,以使所述至少一第一奇偶单元中的单一个奇偶单元适于保护所述多个第一数据单元中属于多个实体页的数据。
14.根据权利要求13所述的存储器存储装置,其中所述至少一第一奇偶单元中的每一者属于第一类奇偶单元,且所述第一编码操作还包括:
对所述多个第一数据单元中的单一个数据单元执行单页编码以产生第二类奇偶单元,其中所述第二类奇偶单元适于保护所述多个第一数据单元中属于单一个实体页的数据。
15.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元还用以:
在所述第一实体单元作为开启单元使用的状态下,利用至少一第三主机至装置存取操作从所述主机系统读取至少一第三奇偶单元,其中所述至少一第三奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元;以及
根据所述至少一第三奇偶单元解码从所述第一实体单元读取的数据。
16.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元还用以:
在所述第一实体单元不作为开启单元使用的状态下,利用至少一第四主机至装置存取操作从所述主机系统读取至少一第四奇偶单元,其中所述至少一第四奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元;
根据所述至少一第四奇偶单元产生至少一第五奇偶单元;以及
将所述至少一第五奇偶单元存储至所述多个实体单元中的第二实体单元。
17.根据权利要求16所述的存储器存储装置,其中所述存储器控制电路单元还用以:
在所述第一实体单元不作为所述开启单元使用的状态下,根据所述至少一第五奇偶单元解码从所述第一实体单元读取的数据。
18.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元还用以:
从所述主机系统接收请求,其中所述请求用以询问所述存储器存储装置是否支持主机存储器缓存;
根据所述请求提供回应至所述主机系统,并且
所述主机系统用以根据所述回应使能主机存储器缓存器供所述存储器存储装置存取。
19.一种存储器控制电路单元,其特征在于,用以控制存储器存储装置,其中所述存储器存储装置包括可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体单元,且所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
编码电路;以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述编码电路,
其中所述存储器管理电路用以利用多个第一主机至装置存取操作从所述主机系统读取多个第一数据单元,
所述编码电路用以执行第一编码操作以根据所述多个第一数据单元产生至少一第一奇偶单元,
所述存储器管理电路还用以利用至少一第一装置至主机存取操作将所述至少一第一奇偶单元传送至所述主机系统,
所述存储器管理电路还用以利用多个第二主机至装置存取操作从所述主机系统读取多个第二数据单元,
在不从所述主机系统读取所述至少一第一奇偶单元中的任一者的前提下,所述编码电路还用以执行第二编码操作以根据所述至少一第一奇偶单元的至少其中之一与所述多个第二数据单元产生至少一第二奇偶单元,
所述存储器管理电路还用以利用至少一第二装置至主机存取操作将所述至少一第二奇偶单元传送至所述主机系统,并且
所述存储器管理电路还用以将所述多个第一数据单元与所述多个第二数据单元存储至所述多个实体单元中的第一实体单元。
20.根据权利要求19所述的存储器控制电路单元,其中所述多个第一主机至装置存取操作、所述至少一第一装置至主机存取操作、所述多个第二主机至装置存取操作及所述至少一第二装置至主机存取操作是用以存取所述主机系统的主机存储器缓存器。
21.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路还用以:
将所述第一实体单元决定为开启单元;以及
在所述第一实体单元作为所述开启单元使用的状态下,将来自所述主机系统的所述多个第一数据单元与所述多个第二数据单元存储至所述第一实体单元。
22.根据权利要求19所述的存储器控制电路单元,其中所述第一编码操作包括:
对所述多个第一数据单元中的至少两个数据单元执行跨页编码,以使所述至少一第一奇偶单元中的单一个奇偶单元适于保护所述多个第一数据单元中属于多个实体页的数据。
23.根据权利要求22所述的存储器控制电路单元,其中所述至少一第一奇偶单元中的每一者属于第一类奇偶单元,且所述第一编码操作还包括:
对所述多个第一数据单元中的单一个数据单元执行单页编码以产生第二类奇偶单元,其中所述第二类奇偶单元适于保护所述多个第一数据单元中属于单一个实体页的数据。
24.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路还用以在所述第一实体单元作为开启单元使用的状态下,利用至少一第三主机至装置存取操作从所述主机系统读取至少一第三奇偶单元,其中所述至少一第三奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元,并且
所述编码电路还用以根据所述至少一第三奇偶单元解码从所述第一实体单元读取的数据。
25.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路还用以在所述第一实体单元不作为开启单元使用的状态下,利用至少一第四主机至装置存取操作从所述主机系统读取至少一第四奇偶单元,其中所述至少一第四奇偶单元包含属于所述至少一第一奇偶单元或所述至少一第二奇偶单元的奇偶单元,
所述编码电路还用以根据所述至少一第四奇偶单元产生至少一第五奇偶单元,并且
所述存储器管理电路还用以将所述至少一第五奇偶单元存储至所述多个实体单元中的第二实体单元。
26.根据权利要求25所述的存储器控制电路单元,其中所述编码电路还用以在所述第一实体单元不作为所述开启单元使用的状态下,根据所述至少一第五奇偶单元解码从所述第一实体单元读取的数据。
27.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路还用以:
从所述主机系统接收请求,其中所述请求用以询问所述存储器控制电路单元是否支持主机存储器缓存;
根据所述请求提供回应至所述主机系统,并且
所述主机系统用以根据所述回应使能主机存储器缓存器供所述存储器控制电路单元存取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110179322.7A CN112799973B (zh) | 2021-02-09 | 2021-02-09 | 编码控制方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110179322.7A CN112799973B (zh) | 2021-02-09 | 2021-02-09 | 编码控制方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799973A CN112799973A (zh) | 2021-05-14 |
CN112799973B true CN112799973B (zh) | 2023-05-02 |
Family
ID=75815066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110179322.7A Active CN112799973B (zh) | 2021-02-09 | 2021-02-09 | 编码控制方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799973B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW329950U (en) * | 1997-05-06 | 1998-04-11 | Inventec Corp | Detectaphone device for modulating serial communication |
CN1655280A (zh) * | 2004-01-30 | 2005-08-17 | 尔必达存储器股份有限公司 | 半导体存储装置及其刷新控制方法 |
CN103631670A (zh) * | 2012-08-22 | 2014-03-12 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与数据处理方法 |
CN110008145A (zh) * | 2018-01-05 | 2019-07-12 | 群联电子股份有限公司 | 数据保护方法、存储器控制电路单元与存储器存储装置 |
TWI693516B (zh) * | 2018-11-13 | 2020-05-11 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424179B2 (en) * | 2013-10-17 | 2016-08-23 | Seagate Technology Llc | Systems and methods for latency based data recycling in a solid state memory system |
US10282251B2 (en) * | 2016-09-07 | 2019-05-07 | Sandisk Technologies Llc | System and method for protecting firmware integrity in a multi-processor non-volatile memory system |
-
2021
- 2021-02-09 CN CN202110179322.7A patent/CN112799973B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW329950U (en) * | 1997-05-06 | 1998-04-11 | Inventec Corp | Detectaphone device for modulating serial communication |
CN1655280A (zh) * | 2004-01-30 | 2005-08-17 | 尔必达存储器股份有限公司 | 半导体存储装置及其刷新控制方法 |
CN103631670A (zh) * | 2012-08-22 | 2014-03-12 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与数据处理方法 |
CN110008145A (zh) * | 2018-01-05 | 2019-07-12 | 群联电子股份有限公司 | 数据保护方法、存储器控制电路单元与存储器存储装置 |
TWI693516B (zh) * | 2018-11-13 | 2020-05-11 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
CN112799973A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111880749B (zh) | 数据读取方法、存储器存储装置及存储器控制电路单元 | |
CN112925481B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN113140253B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI797464B (zh) | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111538687B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US10713160B1 (en) | Data writing method, memory control circuit unit and memory storage device | |
CN116959531A (zh) | 读取电压调整方法、存储装置及存储器控制电路单元 | |
CN112799874B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI771079B (zh) | 記憶體存取方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN115202933A (zh) | 映射表重建方法、存储器存储装置及存储器控制电路单元 | |
CN112799973B (zh) | 编码控制方法、存储器存储装置及存储器控制电路单元 | |
TWI751904B (zh) | 編碼控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112347010B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN113419683B (zh) | 存储器存取方法、存储器存储装置及存储器控制电路单元 | |
CN113360429B (zh) | 数据重建方法、存储器存储装置及存储器控制电路单元 | |
CN110874282A (zh) | 数据存取方法、存储器控制电路单元与存储器存储装置 | |
CN113434331B (zh) | 跨框编码管理方法、存储器存储装置及存储器控制电路 | |
TWI826161B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN117608501B (zh) | 电压调整方法、存储器存储装置及存储器控制电路单元 | |
TWI834149B (zh) | 表格管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI777087B (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN118796532A (zh) | 数据检查方法、存储器存储装置及存储器控制电路单元 | |
TW202217556A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN115857808A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |