CN110489266A - 代码字格式及结构 - Google Patents
代码字格式及结构 Download PDFInfo
- Publication number
- CN110489266A CN110489266A CN201910220639.3A CN201910220639A CN110489266A CN 110489266 A CN110489266 A CN 110489266A CN 201910220639 A CN201910220639 A CN 201910220639A CN 110489266 A CN110489266 A CN 110489266A
- Authority
- CN
- China
- Prior art keywords
- code word
- channel
- group
- burst
- bit field
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Transfer Systems (AREA)
- Detection And Correction Of Errors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请案涉及一种代码字格式及结构。描述了用于代码字格式及结构的方法、系统及装置。一种代码字格式及结构可包含促进用户数据在与存储器媒体相关联的存取操作期间的可靠事务的各种字段。举例来说,位字段可包含涉及使端口管理器对根据所述代码字格式及结构配置的代码字执行的错误控制操作的信息。另外,所述代码字格式及结构可经配置用于所述用户数据在所述存取操作期间的低延时操作及可靠事务。举例来说,所述端口管理器可接收所述代码字的第一部分且与接收所述代码字的额外部分同时解析所述代码字的所述第一部分。
Description
交叉参考
本专利申请案主张帕夫洛夫斯基(Pawlowski)在2019年1月16日申请的标题为“代码字格式及结构(Code Word Format and Structure)”的第16/249,808号美国专利申请案的优先权,所述美国专利申请案主张帕夫洛夫斯基在2018年5月15日申请的标题为“代码字格式及结构(Code Word Format and Structure)”的第62/671,920号美国临时专利申请案的权益及优先权,所述申请案中的每一者被转让给其受让人,且所述申请案中的每一者的全文以引用方式明确并入本文中。
技术领域
技术领域涉及一种代码字格式及结构。
背景技术
下文大体上涉及操作存储器子系统或系统,且更明确来说,涉及一种代码字格式及结构。
计算系统可包含存储器子系统或系统,其包含与一或多个总线耦合以管理例如计算机、无线通信装置、物联网、相机、数字显示器等等的众多电子装置中的信息的各种存储器装置及控制器。存储器装置广泛用于将信息存储于此类电子装置中。通过编程存储器装置的不同状态存储信息。举例来说,二进制装置具有两种状态,通常由逻辑“1”或逻辑“0”标示。在其它系统中,多于两种状态可存储于存储器装置中。为了存取经存储信息,电子装置的组件可读取或感测存储器装置中的经存储状态。为了存储信息,电子装置的组件可写入或编程存储器装置中的状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步DRAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、与非(NAND)存储器、相变存储器(PCM)等等。存储器装置可为易失性或非易失性的。非易失性存储器单元可甚至在不存在外部电源的情况下仍维持其经存储逻辑状态达长期的时段。易失性存储器单元(例如,DRAM单元)可随时间而失去其经存储状态,除非其由外部电源周期性地刷新。
改进计算系统可包含增强存储器子系统的性能,例如减少电力消耗,增加存储器容量,改进读取/写入速度,通过使用永久存储器媒体提供非易失性,或在某一性能点处降低制造成本,以及其它度量。可期望用于解决在一或多个存取操作期间的延时的技术。
发明内容
描述了一种方法。在一些实例中,所述方法可包含:接收与存储器媒体相关联的代码字的第一部分,所述代码字包含指示跨多个通道的多个通道突发的一组位字段;基于接收所述代码字的所述第一部分与接收所述代码字的额外部分同时解析所述代码字的所述第一部分;及基于解析所述代码字的所述第一部分与所述存储器媒体通信。
描述了一种设备。在一些实例中,所述设备可包含:多个存储器媒体,所述多个中的至少一个存储器媒体经配置以生成包含指示跨多个通道的多个通道突发的一组位字段的代码字;至少一个主机接口,其经配置以从主机装置接收存取命令;及多个端口管理器,其与所述至少一个主机接口进行电子通信,且每一端口管理器与所述多个中的不同一或多个存储器媒体进行电子通信。在一些情况下,所述多个中的至少一个端口管理器可经配置以:基于接收所述存取命令接收所述代码字的第一部分;及基于接收所述代码字的所述第一部分与接收所述代码字的第二部分同时解析所述代码字的所述第一部分。
描述了一种设备。在一些实例中,所述设备可包含:存储器媒体;及控制器,其与所述存储器媒体及主机装置进行电子通信。在一些情况下,所述控制器可操作以:接收与所述存储器媒体相关联的代码字的第一部分,所述代码字包含指示跨多个通道的多个通道突发的一组位字段;基于接收所述代码字的所述第一部分与接收所述代码字的额外部分同时解析所述代码字的所述第一部分;及基于解析所述代码字的所述第一部分与所述存储器媒体或所述主机装置通信。
附图说明
图1绘示根据本发明的方面的支持代码字格式及结构的计算系统的实例。
图2绘示根据本发明的方面的支持代码字格式及结构的计算系统的实例。
图3绘示根据本发明的方面的代码字格式及结构的实例。
图4展示根据本发明的方面的支持代码字格式及结构的装置的框图。
图5及6绘示根据本发明的方面的支持代码字格式及结构的一或多种方法。
具体实施方式
计算系统(例如,包含存储器子系统或系统的服务器)的性能可取决于各种因素,例如在低延时(例如,加载到使用延时)的情况下将可靠信息供应到计算系统。存储器子系统或系统中的延时可指使数据单元对请求数据的主机装置可用的时间。在计算系统的上下文中,数据单元可被称为代码字。与供应可靠代码字相关联的相对长延时可能会不利地影响计算系统的整体性能,包含影响主机装置与存储器子系统或系统之间在一或多个存取操作期间的数据传送速率。本发明中所描述的代码字格式及结构(其也可被称为代码字布局)可促进与代码字相关联的低延时操作以改进计算系统的整体性能。使用代码字格式及结构(例如,代码字布局)的系统或子系统可响应于从主机装置接收到存取命令而并行化与代码字相关联的各种操作以在低延时的情况下将可靠信息供应到主机装置。
在一些情况下,代码字可包含一定量的用户数据。与存取操作(例如,读取操作、写入操作)相关的用户数据的大小可为128字节(例如,1,024位),而在一些情况下,由于包含额外位,代码字的大小可大于128字节。本文中所揭示的代码字格式可分配代码字中的第一群额外位以在与存取操作相关联的事务期间产生可靠用户数据(例如,通过使用来自额外位的第一群的信息的错误控制操作)。另外,代码字格式可分配第二群额外位以指示代码字的条件。
代码字格式,也可被称为代码字布局,可指定额外位的第二群位于代码字的第一部分中(例如,代码字的第一突发中)。以此方式,系统或子系统可基于确定代码字的条件启动一系列操作,同时系统或子系统接收代码字的第二部分(例如,剩余部分、额外部分)以促进低延时操作。此外,代码字布局可分配第三群额外位以指示与代码字相关的各种状态(例如,与代码字、代码字的无效部分相关联的存取操作的数量)。
根据本发明配置的系统或子系统可包含多个端口管理器以支持计算系统的高性能。系统或子系统可通过一或多个主机接口与主机装置耦合。系统或子系统可通过主机接口从主机装置接收请求(例如,主机请求)。多个端口管理器中的个别端口管理器可通过通道与存储器媒体耦合。在一些情况下,通道可被称为聚合通道,这是因为聚合量的数据或一组数据可经由通道交换。存储器媒体可经配置以包含一或多个存储器裸片(例如,3DXPointTM存储器裸片,其可被称为3DXP裸片)。在一些情况下,存储器媒体可经配置以包含呈平行配置的一些存储器裸片(例如,十一(11)个存储器裸片)。
在一些情况下,每一存储器裸片(例如,每一3DXP存储器裸片)可与存取操作相关联地从存储器裸片产生一定量的数据(例如,128位数据)作为单元。所述一定量的数据(例如,128位数据)可包含一连串突发(例如,十六(16)个突发),每一突发包含经由总线(例如,8位宽总线)从存储器裸片发射的第二量的数据(例如,八(8)位数据)。
作为实例,当存储器媒体包含并行操作的十一(11)个存储器裸片时,且当十一(11)个存储器裸片中的每一存储器裸片在给定突发处产生八(8)位数据时,存储器媒体可针对给定突发产生88位数据作为单元。因为十一(11)个存储器裸片可经由总共十六(16)个突发产生数据,每一突发包含来自十一(11)个存储器裸片的88位数据,所以在存取操作期间与存储器媒体相关联的数据单元——例如,经由通道(例如,聚合通道)发射的数据单元——可包含1,408位。因而,在此实例中,与存储器媒体相关联的代码字(例如,存取操作的事务期间的数据单元)可包含1,408位。在一些情况下,突发可被称为通道突发。在一些情况下,端口管理器与存储器媒体之间的通道可包含多个通道,其中多个通道中的每一通道可与存储器媒体的存储器裸片相关联。
根据本发明的代码字格式及结构(例如,代码字布局)可包含指示跨多个通道的多个通道突发的一组位字段。端口管理器可使用代码字格式及结构配置代码字(例如,1,408位代码字)以促进与经由两个装置之间(例如,端口管理器和与端口管理器耦合的存储器媒体之间)的一或多个通道(例如,聚合通道)交换的代码字相关联的低延时操作。代码字布局的第一通道突发中的一组位字段(例如,位字段)可经指派有与代码字相关联的各种信息。因而,端口管理器可在第一通道突发处接收字段数量且解释(例如,解析)来自其中的字段数量的信息。在一些实例中,端口管理器可基于与接收代码字的额外部分同时解析信息重新配置代码字,这可减小所得延时。因此,根据本发明的代码字布局可通过促进端口管理器基于接收代码字的至少一部分启动各种存储器操作而促进与存储器媒体在一或多个存取操作期间相关联的低延时操作。
下文以图1的上下文中的示范性计算系统级进一步描述本文中所介绍的本发明的特征。接着在图2到3的上下文中描述计算系统及代码字布局的特定实例。本发明的这些及其它特征通过图4的设备图以及图5及6的流程图被进一步绘示且参考图4的设备图以及图5及6的流程图被进一步描述,图4的设备图描述与控制器相关的各种组件,图5及6的流程图与使用代码字布局的操作相关。在存储器子系统的上下文中描述许多以下实例;且所描述的特征适用于其他计算系统及子系统。
图1绘示根据本发明的方面的支持代码字格式及结构的计算系统100的实例。计算系统100可包含通过主机接口115(也可被称为主机链路)与装置140耦合的主机装置105。主机装置105可为或包含服务器、芯片上系统(SoC)、中央处理单元(CPU)或图形处理单元(GPU),以及其它装置。在一些实例中,主机装置105可通过主机接口115存取位于装置140中的一或多个存储器媒体130(例如,从一或多个存储器媒体130读取、写入到一或多个存储器媒体130)。
主机接口115(例如,主机链路115)可与协议(例如,Gen-Z、加速器缓存一致性互连(CCIX)协议)兼容或采用所述协议以促进主机装置105与一或多个存储器媒体130之间的存取操作。主机接口115可经配置以在至少一个方向上以第一数据传送速率(例如,25千兆字节每秒(GBps))传送数据(例如,发送或接收)。在一些实例中,25GBps数据传送速率可在事务是64字节时支持每秒大约586百万次事务。在其它实例中,25GBps数据传送速率可在事务是128字节时支持每秒大约312.5百万次事务。
在一些情况下,装置140可被称为存储器系统或子系统,或存储器装置。装置140可包含控制器120,控制器120可通过通道125与一或多个存储器媒体130耦合。在一些情况下,通道125可被称为聚合通道125,其包含如参考图2所描述的多个其它通道(例如,相比于聚合通道125具有较小带宽的通道)。在一些实例中,控制器120及一或多个存储器媒体130可与板(例如,外围组件互连高速(PCT)板)集成,接触所述板,或放置在所述板上。
控制器120可包含各种功能块,所述功能块结合一或多个存储器媒体130促进装置140的操作。在一些情况下,控制器120可包含接口控制器的方面,所述接口控制器用于适应与主机接口115、通道125或两者相关联的不同规格、约束或特性。在一些实例中,控制器120可为ASIC、通用处理器、其它可编程逻辑装置、离散硬件组件(例如,小芯片),或其可为组件的组合。
在一些情况下,控制器120可根据跨通道(例如,通道125-a、聚合通道)的多个通道突发的代码字格式及结构配置代码字。在一些情况下,代码字布局可促进装置140在存取操作期间的低延时操作。另外,控制器120可通过主机接口115从主机装置105接收主机请求(例如,用于从一或多个存储器媒体130中的存储器单元读取或写入到所述存储器单元的存取命令)。控制器120可基于接收到用于读取一或多个存储器媒体130中的存储器单元的主机请求生成存取命令。
在一些情况下,控制器120可基于发射用于读取存储器媒体(例如,存储器媒体130-a)中的存储器单元的存取命令从存储器媒体接收代码字的第一部分。控制器120可与接收代码字的额外部分同时解释(例如,识别、解析等等)代码字的第一部分。此外,控制器120可基于解析代码字的第一部分与存储器媒体通信。在一些情况下,控制器120可基于与接收代码字的额外部分同时解析代码字的第一部分重新配置代码字的第一部分。此外,控制器120可基于重新配置代码字与存储器媒体通信。
在一些情况下,控制器120可结合可执行各种操作(例如,将数据写入到存储器单元,从存储器单元读取数据,根据代码字格式及结构布置代码字)的本地控制器(例如,在存储器媒体130-a的本地)从存储器媒体130(例如,存储器媒体130-a)读取数据或将数据写入在存储器媒体130处。在一些实例中,本地控制器可通过通道125中的一者(其可为聚合通道的实例)将经请求数据发送到控制器120。
每一存储器媒体(例如,存储器媒体130-a)可包含多个存储器裸片(例如,十六(16)个存储器裸片)以获得存储器媒体的指定或所要存储器容量。在一些实例中,存储器裸片可包含三维交叉点存储器单元阵列,其包含硫族化物(例如,3DXP裸片)。在其它实例中,存储器裸片可包含其它种存储器装置(例如,FeRAM裸片、MRAM裸片、PCM裸片)。在一些实例中,代码字(例如,包含128字节用户数据的代码字)可跨存储器媒体(例如,存储器媒体130-a)内的多个存储器裸片被划分。
通道125可经配置以在控制器120与一或多个存储器媒体130之间传输数据(例如,代码字)。通道125中的每一者(例如,可为聚合通道的实例的通道125-a)可包含用于并行传输数据(例如,代码字)的多个其它通道(例如,相比于通道125-a具有较小带宽的通道)。在一些情况下,代码字可包含用户数据(例如,代码字中的128字节用户数据)及另一组数据(例如,代码字中的剩余数据)。通道125中的每一者(例如,可为聚合通道的实例的通道125-a)可包含额外通道以载送与各种辅助功能相关的信息,例如元数据。在一些情况下,代码字布局可定义通道125中的每一者(例如,通道125-a)可在控制器120与一或多个存储器媒体130之间如何传输数据(例如,代码字)。
在一些情况下,装置或系统可包含存储器媒体及控制器,控制器与存储器媒体及主机装置进行电子通信。控制器可操作以:接收与存储器媒体相关联的代码字的第一部分,代码字包含指示跨多个通道的多个通道突发的一组位字段;基于接收代码字的第一部分与接收代码字的额外部分同时解析代码字的第一部分;及基于解析代码字的第一部分与存储器媒体或主机装置通信。
图2绘示根据本发明的方面的支持代码字格式及结构的计算系统200的实例。计算系统200可为参考图1所描述的计算系统100的实例。计算系统200可包含使用至少一个主机接口(例如,主机接口215-a)与存储器子系统或系统220耦合的主机装置205。在一些情况下,主机接口215可被称为一或多个主机链路。主机装置205可为参考图1所描述的主机装置105的实例。主机接口215可为参考图1所描述的主机装置115的实例。在一些实例中,主机接口215可经配置成以第一数据传送速率(例如,在每一方向上50GBps与25GBps)传送数据。
计算系统200可包含存储器子系统或系统220。存储器子系统或系统220可为参考图1所描述的装置140的实例。存储器子系统或系统220可被称为一或多个存储器装置。存储器子系统或系统220可包含控制器230。控制器230可为参考图1所描述的控制器120的实例。控制器230可包含接口组件210及多个端口管理器260。
接口组件210可经配置以通过主机接口215促进主机装置205与存储器子系统或系统220之间的数据交换。接口组件210可经配置以与多个端口管理器260交换数据(例如,使用信号路径250)。信号路径250中的每一信号路径可经配置成以与主机接口215的第一数据传送速率不同的速率(例如,12.8GBps)交换数据。在一些情况下,接口组件210可经配置以提供路由网络功能以允许多于一个主机接口(例如,主机接口215-a及主机接口215-b)与多个端口管理器260相关联。
多个端口管理器260中的每一端口管理器(例如,端口管理器260-b)可通过聚合通道(例如,聚合通道290-b)与存储器媒体(例如,存储器媒体295-b)耦合。在一些实例中,多个端口管理器260中的个别端口管理器(例如,端口管理器260-a)可独立于彼此(例如,端口管理器260-b、260-c及260-d)而操作,且可支持与一或多个存储器媒体295相关联的存取操作。一或多个存储器媒体295可为参考图1所描述的一或多个存储器媒体130的实例。在一些情况下,一或多个存储器媒体295中的每一者可被称为媒体端口。
聚合通道290中的每一聚合通道可包含一或多个通道291。在一些情况下,通道291可被称为逻辑通道291。在一些实例中,每一通道291可与存储器媒体(例如,存储器媒体295-a)中的存储器裸片相关联,且可具有比聚合通道(例如,聚合通道290-b)的带宽小的带宽。在一些实例中,聚合通道(例如,聚合通道290-a)可包含十一(11)个通道291(例如,通道291-a到291-k)。所属领域的一般技术人员应了解,针对端口管理器260-a所描绘的一或多个通道291(例如,通道291-a到通道291-k)表示聚合通道290中的一者(例如,聚合通道290-a),而针对端口管理器260-b、260-c及260-d所描绘的其它聚合通道290(例如,聚合通道290-b、290-c及290-d)不展示与每一聚合通道相关联的一或多个通道291,其经如此描绘以便增加所绘示的特征的可见性及清晰度。
一或多个存储器媒体295中的个别存储器媒体(例如,存储器媒体295-a)可包含一或多个存储器装置(例如,3DXP裸片)。在一些情况下,个别存储器媒体中的存储器装置可经配置以并行操作以通过聚合通道290中的一者获得所要聚合带宽。作为一个实例,3DXP裸片可经配置以具有8位宽数据总线且可与通道291中的每一者(例如,通道291-a)相关联,从而致使每一通道291为8位宽。另外,3DXP裸片可经配置以在一连串十六(16)个突发期间产生128位数据,其中每一突发可经由通道291产生8位宽数据。因而,可将128位数据视作每一3DXP裸片基于存取命令读取3DXP裸片内的存储器单元生成的单一数据单元。
在一些情况下,代码字可经配置以包含跨多个通道(例如,每每一通道突发生成88位数据的十一(11)个通道291-a到291-k)的多个通道突发(例如,一连串十六(16)个突发)的一组位字段(例如,布局)。因而,在一些情况下,代码字可包含1,408位信息。可从存储器媒体的逻辑视图理解描述。考虑到与相关联于存储器媒体的各种存取操作(例如,读取操作、写入操作)相关的开销,数量比逻辑3DXP裸片的数量大的物理3DXP裸片可存在于存储器媒体中。在存储器媒体内,代码字可被划分成多个部分,且被写入到多于一个裸片(例如,跨十个3DXP裸片存储的128字节用户数据)或从多于一个裸片被读取。
本文中所描述的各种实例使用3DXP裸片来说明可如何配置存储器媒体295及如何结合端口管理器260根据支持本发明的代码字格式及结构的方法、装置及系统操作存储器媒体295。在一些情况下,存储器媒体295可包含其它类型的存储器装置,其采用与3DXP存储器技术不同的存储器技术,例如FeRAM技术、PCM技术、MRAM技术等等。因而,本发明不限于特定存储器技术(例如,3D XPointTM存储器技术)。
在一些情况下,装置或系统可包含:多个存储器媒体,其中多个存储器媒体中的至少一者可经配置以生成包含指示跨多个通道的多个通道突发的一组位字段的代码字;至少一个主机接口,其经配置以从主机装置接收存取命令;及多个端口管理器,其与至少一个主机接口进行电子通信,且每一端口管理器与多个中的不同一或多个存储器媒体进行电子通信。在一些情况下,多个中的至少一个端口管理器可经配置以基于接收存取命令接收代码字的第一部分,且可经配置以基于接收代码字的第一部分与接收代码字的第二部分同时解析代码字的第一部分。
在装置或系统的一些实例中,多个中的至少一个端口管理器可经配置以针对代码字的一组位字段中的多个通道突发中的第一通道突发的多个通道,确定所述组的位字段中指示的代码字条件。在所描述的装置或系统的一些实例中,多个中的至少一个端口管理器可进一步经配置以通过识别来自针对多个通道的所述组的位字段的信息确定代码字条件,所述信息指示来自多个经预配置代码字条件的第一代码字条件。
在装置或系统的一些实例中,多个中的至少一个端口管理器可经配置以:针对代码字的一组位字段中的多个通道突发中的第一通道突发内的多个通道,识别包含所述组的位字段的备用位;及基于识别备用位解析代码字的第一部分。在装置或系统的一些实例中,多个中的至少一个端口管理器可经配置以:针对代码字的一组位字段中的多个通道突发中的第一通道突发内的多个通道,识别包含所述组的位字段的循环冗余校验(CRC)位;及基于识别CRC位解析代码字的第一部分。
在装置或系统的一些实例中,多个存储器媒体中的至少一者可包含相变存储器。在装置或系统的一些实例中,多个通道可包含十一(11)个通道。在装置或系统的一些实例中,多个通道突发可包含十六(16)个突发。
图3绘示根据本发明的方面的代码字格式及结构300(其可替代地被称为代码字布局300)的实例。代码字布局300可描绘整个代码字的代码字格式及结构。代码字可包含指示跨多个通道的多个通道突发的一组位字段。图3还包含绘示个别通道(例如,参考图2所描述的通道291-a)的各种布局配置的布局301到305(也被称为格式)。图3还绘示布局306,其可对应于代码字的部分(例如,跨多个通道的第一通道突发期间的位字段子集)。作为代码字格式及结构的实例,代码字布局300可包含可由存储器媒体(例如,参考图1及2所描述的存储器媒体130-a或存储器媒体295-a)响应于存取命令而产生的一些数据(例如,1,408位数据)字段(例如,位字段)。代码字可包含128字节(例如,1,024位)用户数据,其可为存取命令的对象。代码字(例如,384位数据)内的剩余位字段可载送促进准确的用户数据在存取操作期间的传送的各种信息。此外,载送各种信息的剩余位可经配置以在存取操作期间促进与代码字相关联的低延时操作。
代码字布局300可跨越多个通道(例如,通道310-a到310-k)。在一些情况下,多个通道310中的每一通道(例如,通道310-a)可与3DXP裸片相关联,3DXP裸片可包含8位宽数据总线。作为一个实例,每一通道(例如,每一3DXP裸片)可产生总共128位数据作为与3DXP裸片的存取命令(例如,读取命令)相关联的事务的单一对象。此外,128位数据可经产生作为一连串十六(16)个通道突发,每一通道突发经配置以经由8位宽数据总线产生八(8)位数据。因此,代码字布局内的每一通道(例如,通道310-a到310-k中的每一者)可对应于包含十六(16)群8位数据——例如,通道310-g的G7..G0,其中G7..G0可表示一系列八(8)个0及1,其中G7可为最高有效位(例如,一系列八(8)个0及1的第八位)且G0可为最低有效位(例如,一系列八(8)个0及1的第一位),其中十六(16)群8位数据中的每一群可与十六(16)个通道突发中的一者相关联。
在一个实例中,代码字布局300可跨越十一(11)个通道,且十一(11)个通道中的每一通道可在每一通道突发处产生8位数据,接着,可跨十一(11)个通道在每一通道突发(例如,88位数据的第一通道突发320-1)处产生总共88位数据。因此,代码字布局300可包含1,408位数据(例如,第一通道突发320-1到第16通道突发320-16,每一通道突发产生88位数据)作为与存储器媒体(例如,存储器媒体130-a或存储器媒体295-a)的存取命令(例如,读取命令)相关联的事务的单一对象。代码字布局300可在低延时(例如,少量时钟边缘用于产生用户数据)的情况下支持与存取命令(例如,读取命令、写入命令)相关联的可靠事务(例如,传达准确的用户数据内容)。
代码字内的每一字段(例如,每一位字段)或一组字段(例如,一组位字段)可包含促进如下文所描述的用户数据的低延时、可靠事务的各种信息。
代码字布局内的一或多个字段(例如,位字段)可经配置以指示代码字条件(例如,使用CwCon位)。在一些情况下,代码字可经配置为处于多个可能状态(例如,四个状态)中的一者。作为实例,CwCon位可指示代码字是正常代码字或经转发代码字中的一者。作为一个实例,正常代码字可包含本发明中所描述的代码字布局300。经转发代码字可包含可促进代码字的有效替换地址(例如,转发地址)的识别的代码字布局。在一些情况下,经转发代码字可包含与代码字相关联的有效地址的至少一个副本。此外,CwCon位可另外或替代地指示代码字是非反转代码字或经反转代码字中的一者。在一些情况下,可能需要在可解释(例如,解析)经反转代码字的信息之前反转(例如,翻转、颠倒)经反转代码字内的逻辑位状态(例如,1及0),而在解释(例如,解析)非反转代码字的信息之前可能无需反转非反转代码字。
代码字布局内的一或多个字段(例如,位字段)可经配置以指示与代码字(例如,WrCnt位)相关联的存取操作(例如,读取操作、写入操作)的数量。WrCnt位可促进基于WrCnt位中存储的存取操作的数量确定用于读取代码字的适当偏压方案。
代码字布局内的一或多个字段(例如,位字段)可经配置以指示代码字的部分可为无效的(例如,使用毒位)。在一些情况下,毒位可用作旗标以指示代码字的部分是无效的。在一些实例中,毒位(例如,旗标位)可指示用户数据的下半部分(例如,D511..D0位,其中D0表示1,024位用户数据外的最低有效位)是无效的。在其它实例中,毒位(例如,旗标位)可指示用户数据的上半部分(例如,D1023..D512位,其中D1023表示1,024位用户数据外的最高有效位)是无效的。
代码字布局内的一或多个字段(例如,位字段)可经配置作为循环冗余校验(CRC)位。在一些情况下,CRC位可通过检测代码字内的至少一个错误位的存在来保护代码字内的数据。举例来说,CRC位可保护用户数据(例如,1,024位用户数据)、WrCnt位及毒位中所含有的信息。
代码字布局内的一或多个字段(例如,位字段)可经配置作为代码字错误控制代码位(例如,CwECC位)。在一些情况下,CwECC位可经配置以覆盖CRC位、用户数据(例如,1,024位用户数据)、WrCnt位及毒位中所含有的信息。举例来说,CwECC位可在错误位数量中的某一限度内促进检测及校正上文所识别的字段中存在的错误。
代码字布局内的一或多个字段(例如,位字段)可经配置作为修复位。在一些情况下,修复位可被称为XOR/Sub位。XOR/Sub位中的每一者可包含相应通道突发的其它通道的对应位的数字或布尔逻辑异或(XOR)乘积。举例来说,第二通道突发(例如,第二通道突发320-2)的K7位(例如,通道310-k中的一群8位中的最高有效位)可包含A7位(例如,通道310-a中的一群8位中的最高有效位)到J7位(例如,通道310-j中的一群8位中的最高有效位)在第二通道突发内的异或(XOR)乘积。以此方式,如果确定了位(例如,第二通道突发320-2的G7位)是有错误的,那么第二通道突发的K7位可促进在第二通道突发内重构位(例如,第二通道突发320-2的G7位)。在一些情况下,修复位(例如,第二通道突发320-2的K7位)可在有错误的位(例如,第二通道突发320-2的G7位)重复地变得有错误的时替换有错误的位。
代码字布局内的一或多个字段(例如,位字段)可经配置作为备用位。在一些情况下,备用位可经配置以操作作为备用以替换被指定为针对代码字已失败的位。在一些情况下,被指定为已失败的位可与3DXP裸片内的存储器单元相关联,3DXP裸片可能已经变得有错误的。备用位可经路由以替换被指定为已失败的位以支持代码字内的用户数据的可靠事务。在一些情况下,CRC位的一些字段可经配置作为备用位。在其它情况下,修复位(例如,XOR/Sub位)的一些字段可经配置作为备用位。换句话说,代码字布局内的一些备用位可经配置为对CRC位或修复位的一些字段来说可交换的。在一些情况下,可基于用于构建存储器媒体(例如,存储器媒体130、存储器媒体295)的成熟的存储器技术(例如,3D XPointTM、FeRAM、MRAM技术)确定备用位的数量。
仍参考图3,代码字布局内的各种字段(例如,位字段)可经配置(例如,经布置)以在与存储器媒体相关联的存取操作期间支持低延时操作。图3包含绘示个别通道(例如,通道310-a到310-k中的每一者)的一群8位的各种配置的布局301到305。举例来说,布局301到305中的每一布局包含存储器媒体(例如,存储器媒体295-a)内的存储器装置(例如,3DXP裸片)可在给定通道突发处产生的一群八(8)位。
布局301可包含CwCon位的一或多个(例如,三个)字段、CRC位(其可经配置作为备用位)的一或多个(例如,两个)字段,及XOR/Sub位(例如,修复位,作为一个选项,其可经配置作为备用位)的一或多个(例如,三个)字段。布局302可包含CwCon位的一或多个(例如,三个)字段、CRC位(作为一个选项,其可经配置作为备用位)的一或多个(例如,两个)字段,及XOR/Sub位(例如,修复位,作为一个选项,其可经配置作为备用位)的一或多个(例如,两个)字段。布局303可包含CwCon位的一或多个(例如,三个)字段、CRC位(作为一个选项,其可经配置作为备用位)的一或多个(例如,两个)字段,及WrCnt位的一或多个(例如,三个)字段。布局304可包含CwCon位的一或多个(例如,三个)字段、CRC位(作为一个选项,其可经配置作为备用位)的一或多个(例如,两个)字段、WrCnt位的一或多个字段,及毒位(例如,旗标位)的一或多个(例如,两个)字段。布局305可包含CwCon位的一或多个(例如,三个)字段、XOR/Sub位(作为一个选项,其可经配置作为备用位)的一或多个(例如,两个)字段,及XOR/Sub位的一或多个(例如,三个)字段。
作为促进低延时操作的代码字布局的实例,对应于第一通道突发(例如,通道突发320-1)的位字段子集可如布局306中所绘示一样而配置。在布局306中,通道310-a(例如,A7..A0)及通道310-b(例如,B7..B0)中的每一群8位可经配置以具有布局301。此外,通道310-c(例如,C7..C0)的一群8位可经配置以具有布局302。通道310-d(例如,D7..D0)及通道310-i(例如,I7..I0)中的至少一些(而非每一)群8位可经配置以具有布局303。通道310-j(例如,J7..J0)的一群8位可经配置以具有布局304。此外,通道310-k(例如,K7..K0)的一群8位可经配置以具有布局305。
由于配置了对应于代码字布局300的第一通道突发(例如,第一通道突发320-1)的位字段子集(例如,包含来自十一(11)个通道的每一通道的八(8)个位的总共88个位),故第一通道突发的88个位(例如,布局306的88个位)可包含促进与代码字相关联的存取操作的低延时、可靠事务(例如,读取1,024位用户数据)的各种信息。在一些情况下,端口管理器(例如,端口管理器260-a)可接收与存储器媒体相关联的代码字的第一部分(例如,对应于第一通道突发320-1的布局306的位)。端口管理器可在端口管理器在后续通道突发期间接收代码字的额外部分(例如,对应于第二通道突发320-2的代码字布局300的位等等)时解析代码字的第一部分(例如,识别来自CwCon位的信息、识别备用位、识别计数器位)。因而,端口管理器可并行化与代码字相关联的操作以在低延时的情况下将可靠信息供应到主机装置。
代码字布局300还可绘示1,024位的用户数据字段(例如,经由第二通道突发320-2到第16通道突发320-16的通道310-a到310-h,及经由第二通道突发320-2到第五通道突发320-5的通道310-i及310-j)、CwECC字段(例如,经由第6通道突发320-6到第16通道突发320-16的通道310-i及310-j),及XOR/Sub字段(例如,经由第二通道突发320-2到第16通道突发320-16的通道310-k)。
举例来说,在第一通道突发(例如,第一通道突发320-1)内,跨整个十一(11)个通道(例如,通道310-a到310-k)可存在总共33个字段的CwCon位,每一通道三个字段。CwCon位的总字段数量(例如,总共33个字段)可表示多个代码字状态(例如,代码字的四个不同状态)中的一者。CwCon位的总字段数量可经确定以提供CwCon位经配置以指示的某些冗余信息(例如,四个不同状态中的一者),使得可容忍CwCon字段中的一些错误。在一些情况下,可容忍33个CwCon位外的高达十一(11)个错误以指示代码字的有效状态。另外,一些CwCon字段可经分布遍及整个通道(例如,如用布局306所绘示的十一(11)个通道)以提供使与CwCon位相关联的错误跨整个通道分布大致相等的概率。
此外,因为端口管理器(例如,参考图2所描述的端口管理器260-a)可在与存储器媒体(例如,存储器媒体295-a)相关联的代码字的第一通道突发(例如,第一通道突发320-1)处接收一些CwCon位,所以端口管理器可与接收代码字的额外部分同时解释(例如,解析)CwCon位中的信息。因此,端口管理器可与接收代码字的额外部分同时启动重新配置代码字。举例来说,端口管理器可在端口管理器解释(例如,解析)CwCon位时启动反转代码字的至少一位以指示代码字是经反转代码字。在其它实例中,端口管理器可基于确定包含代码字的类型的代码字条件指示经转发代码字启动确定与代码字相关联的转发地址。因而,端口管理器可重新配置代码字而无需等待直到端口管理器接收整个代码字以促进与代码字相关联的低延时操作。
举例来说,在第一通道突发(例如,第一通道突发320-1)内,跨整个十一(11)个通道(例如,通道310-a到310-k)可存在高达总共22个字段的备用位,每一通道两个字段。在一些情况下,每一通道两个备用位可促进实施备用位来替换通道内有错误的位。如本文中所描述,有错误的位可与存储器媒体(例如,存储器媒体295-a)内的存储器装置(例如,3DXP裸片)的存储器单元相关联。
此外,因为端口管理器(例如,端口管理器260-a)可在与存储器媒体(例如,存储器媒体295-a)相关联的代码字的第一通道突发处接收位(例如,第一通道突发320-1中有高达22个备用位),所以一旦端口管理器在后一通道突发处识别有错误的位,端口管理器就可实施备用位来替换有错误的位。举例来说,当端口管理器确定第三通道突发320-3内的通道310-d的D1位可为第一有错误的位时,一旦端口管理器在第三通道突发320-3处接收到有错误的D1位,端口管理器就可用第一备用位(例如,第一通道突发320-1内的通道310-a的备用位A4)替换第三通道突发320-3内的通道310-d的D1位。因而,在端口管理器可应用在CWECC字段(例如,CwECC位在第6通道突发320-6等等处可用)中可用的信息以启动错误控制操作之前,端口管理器可具有足够的时间用备用位代替失败位。以此方式,在端口管理器可启动代码字的错误控制操作以便促进与代码字相关联的低延时操作之前,端口管理器可实施备用位。
端口管理器(例如,端口管理器260-a)可在给定通道突发处与其它代码字信息并行接收XOR/Sub字段,使得端口管理器可在端口管理器确定通道故障存在且其与有错误的通道相关联的信息可基于XOR/Sub字段中存储的信息重建时执行XOR数据重构。以此方式,端口管理器可随着端口管理器在给定通道突发处接收信息时在给定通道突发的另一通道中重构对应位,以便促进与代码字相关联的低延时操作。
在一些情况下,CwECC字段可经分布遍及最后几个通道突发(例如,通道突发320-14到320-16),且端口管理器(例如,端口管理器260-a)可能在基于CwECC字段中的信息启动错误控制操作之前必须等待直到其接收到几乎整个代码字。相比之下,端口管理器可早在代码字布局300中所绘示的第6通道突发(例如,第6通道突发320-6等等)时接收CwECC字段。以此方式,端口管理器可基于其在第6通道突发(例如,第6通道突发320-6)处接收到的CwECC字段中的信息启动错误控制操作,以便促进与代码字相关联的低延时操作。
如实例代码字布局300中所绘示,第一通道突发(例如,第一通道突发320-1)可包含与包含各种信息的各种字段相关联的不规则性。相比之下,剩余通道突发(例如,第二通道突发320-2到第16通道突发320-16)可包含与用户数据字段、XOR/Sub字段及CwECC字段相关联的不规则性。代码字布局300中的此不规则性可通过基于不规则性简化硬件配置促进与代码字相关联的低延时操作。
图4展示根据本发明的方面的支持代码字格式及结构的控制器415的框图400。控制器415可为参考图1到2所描述的控制器120或控制器230的方面的实例。控制器415可包含偏压组件420、时序组件425、通道管理器430及代码字管理器435。这些模块中的每一者可彼此直接或间接通信(例如,经由一或多个总线)。
通道管理器430可进行以下操作:接收与存储器媒体相关联的代码字的第一部分,代码字包含指示跨一组通道的一组通道突发的一组位字段;基于解析代码字的第一部分与存储器媒体通信;及在第一通道突发中接收到代码字的第一部分之后在第二通道突发中接收代码字的第二部分,其中第二部分可包含与错误校正代码(ECC)操作相关联的位。
代码字管理器435可基于接收代码字的第一部分与接收代码字的额外部分同时解析代码字的第一部分。在一些情况下,代码字管理器435可基于接收代码字的第一部分识别跨代码字的一组位字段中的第一通道突发的至少一个通道的至少一个旗标位,至少一个旗标位指示代码字的部分的无效性,其中代码字的第一部分可基于识别至少一个旗标位被解析。
在一些情况下,代码字管理器435可基于代码字条件反转代码字的至少一些位,其中代码字条件可包含代码字的位的反转状态。在一些情况下,代码字管理器435可基于代码字条件确定代码字的转发地址,其中代码字条件可包含指示经转发代码字的代码字的类型,经转发代码字可包含与代码字相关联的有效地址的至少一个副本,其中与存储器媒体通信可包含使用代码字的转发地址将存取命令发射到存储器媒体。在一些情况下,代码字管理器435可基于接收代码字的第一部分针对代码字的一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中的备用位,其中代码字的第一部分可基于识别备用位被解析。
在一些情况下,代码字管理器435可针对代码字的第一部分的一组位字段中的第一通道突发的至少一个通道,确定所述组的位字段中指示的代码字条件,其中代码字的第一部分可基于代码字条件被解析。在一些情况下,代码字管理器435可识别代码字的第一部分中的循环冗余校验(CRC)位,CRC位包含针对代码字的一组位字段中的第一通道突发的至少一个通道的所述组的位字段,其中代码字的第一部分可基于识别CRC位被解析。在一些情况下,代码字管理器435可基于接收代码字的第一部分针对代码字的一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中的修复位,修复位存储信息以在第一通道突发的另一通道中重构对应位,其中代码字的第一部分可基于识别修复位被解析。
在一些情况下,代码字管理器435可基于与接收代码字的额外部分同时解析代码字的第一部分重新配置代码字,其中与存储器媒体通信可基于重新配置代码字。在一些情况下,代码字管理器435可基于接收代码字的第一部分针对代码字的一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中的计数器位,修复位可指示与代码字相关联的存取操作的数量,其中代码字的第一部分可基于识别计数器位被解析。在一些情况下,在启动错误校正代码(ECC)操作之前,代码字管理器435可基于在启动错误校正代码(ECC)操作之前识别备用位用备用位代替代码字的位子集。
在一些情况下,确定代码字条件包含在代码字的第一部分的一组位字段中的一组通道的通道子集中识别所述组的位字段中的信息。在一些情况下,确定代码字条件包含将代码字条件确定为来自一组经预配置代码字条件的第一代码字条件。在一些情况下,代码字条件指示代码字的类型或代码字的位的反转状态中的至少一者或两者。在一些情况下,备用位中的一或多个位经配置以指示CRC信息或修复信息中的至少一者。在一些情况下,修复位中的每一位经配置以存储相应通道突发的其它通道的对应位的异或(XOR)乘积。
描述了一种设备。在一些实例中,所述设备可与存储器媒体及主机装置进行电子通信。在一些情况下,所述设备可包含:用于接收与所述存储器媒体相关联的代码字的第一部分的构件,所述代码字包含指示跨多个通道的多个通道突发的一组位字段;用于基于接收所述代码字的所述第一部分与接收所述代码字的额外部分同时解析所述代码字的所述第一部分的构件;及用于基于解析所述代码字的所述第一部分与所述存储器媒体或所述主机装置通信的构件。
图5展示根据本发明的方面的绘示支持代码字格式及结构的方法500的流程图。方法500的操作可由如本文中所描述的存储器控制器或其组件以及其它装置实施。举例来说,方法500的操作可由参考图1到2所描述的控制器120或控制器230执行。在一些实例中,控制器可执行一组代码来控制装置的功能元件以执行下文所描述的功能。另外或替代地,控制器可使用专用硬件执行下文所描述的功能的方面。
在505处,控制器可接收与存储器媒体相关联的代码字的第一部分,所述代码字包含指示跨多个通道的多个通道突发的一组位字段。505的操作可根据参考图2到4所描述的方法而执行。在某些实例中,505的操作的方面可由如参考图4所描述的通道管理器执行。
在510处,控制器可基于接收代码字的第一部分与接收代码字的额外部分同时解析代码字的第一部分。510的操作可根据参考图2到4所描述的方法而执行。在某些实例中,510的操作的方面可由如参考图4所描述的代码字管理器执行。
在515处,控制器可基于解析代码字的第一部分与存储器媒体通信。515的操作可根据参考图2到4所描述的方法而执行。在某些实例中,515的操作的方面可由如参考图4所描述的通道管理器执行。
描述了一种用于执行方法500的设备。所述设备可包含:用于接收与存储器媒体相关联的代码字的第一部分的构件,所述代码字包含指示跨多个通道的多个通道突发的一组位字段;用于基于接收所述代码字的所述第一部分与接收所述代码字的额外部分同时解析所述代码字的所述第一部分的构件;及用于基于解析所述代码字的所述第一部分与所述存储器媒体通信的构件。
描述了用于执行方法500的另一设备。所述设备可包含存储器媒体及控制器,所述控制器与所述存储器媒体进行电子通信,其中所述控制器可操作以:接收与存储器媒体相关联的代码字的第一部分,所述代码字包含指示跨多个通道的多个通道突发的一组位字段;基于接收所述代码字的所述第一部分与接收所述代码字的额外部分同时解析所述代码字的所述第一部分;及基于解析所述代码字的所述第一部分与所述存储器媒体通信。
本文中所描述的方法500及设备的一些实例可进一步包含用于针对代码字的第一部分的一组位字段中的第一通道突发的至少一个通道确定所述组的位字段中指示的代码字条件的过程、特征、构件或指令,其中代码字的第一部分可基于代码字条件被解析。在本文中所描述的方法500及设备的一些实例中,确定代码字条件可包含在代码字的第一部分的一组位字段中的多个通道的通道子集中识别所述组的位字段中的信息。
在本文中所描述的方法500及设备的一些实例中,确定代码字条件可包含将代码字条件确定为来自多个经预配置代码字条件的第一代码字条件。在本文中所描述的方法500及设备的一些实例中,代码字条件指示代码字的类型或代码字的位的反转状态中的至少一者或两者。本文中所描述的方法500及设备的一些实例可进一步包含用于基于代码字条件反转代码字的至少一位的过程、特征、构件或指令,其中代码字条件可包含代码字的位的反转状态。
本文中所描述的方法500及设备的一些实例可进一步包含用于基于代码字条件确定代码字的转发地址的过程、特征、构件或指令,其中代码字条件可包含指示经转发代码字的代码字的类型,经转发代码字可包含与代码字相关联的有效地址的至少一个副本,其中与存储器媒体通信可包含使用代码字的转发地址将存取命令发射到存储器媒体。本文中所描述的方法500及设备的一些实例可进一步包含用于基于接收代码字的第一部分针对代码字的一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中备用位的过程、特征、构件或指令,其中代码字的第一部分可基于识别备用位被解析。
本文中所描述的方法500及设备的一些实例可进一步包含用于在第一通道突发中接收到代码字的第一部分之后在第二通道突发中接收代码字的第二部分的过程、特征、构件或指令,其中第二部分包括与错误校正代码(ECC)操作相关联的位。本文中所描述的方法500及设备的一些实例可进一步包含用于在启动错误校正代码(ECC)操作之前基于识别备用位用备用位代替代码字的位子集的过程、特征、构件或指令。在本文中所描述的方法500及设备的一些实例中,备用位中的一或多个位可经配置以指示循环冗余校验(CRC)信息或修复信息中的至少一者。
本文中所描述的方法500及设备的一些实例可进一步包含用于识别代码字的第一部分中的循环冗余校验(CRC)位的过程、特征、构件或指令,CRC位包含针对代码字的一组位字段中的第一通道突发的至少一个通道的所述组的位字段,其中代码字的第一部分可基于识别CRC位被解析。
本文中所描述的方法500及设备的一些实例可进一步包含用于基于接收代码字的第一部分针对代码字的一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中的修复位的过程、特征、构件或指令,修复位存储信息以在第一通道突发的另一通道中重构对应位,其中代码字的第一部分可基于识别修复位被解析。在本文中所描述的方法500及设备的一些实例中,修复位中的每一位可经配置以存储相应通道突发的其它通道的对应位的异或(XOR)乘积。
本文中所描述的方法500及设备的一些实例可进一步包含用于基于与接收代码字的额外部分同时解析代码字的第一部分重新配置代码字的过程、特征、构件或指令,其中与存储器媒体通信可基于重新配置代码字。本文中所描述的方法500及设备的一些实例可进一步包含用于基于接收代码字的第一部分针对代码字的一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中的计数器位的过程、特征、构件或指令,计数器位指示与代码字相关联的存取操作的数量,其中代码字的第一部分可基于识别计数器位被解析。
本文中所描述的方法500及设备的一些实例可进一步包含用于基于接收代码字的第一部分识别跨代码字的一组位字段中的第一通道突发的至少一个通道的至少一个旗标位的过程、特征、构件或指令,至少一个旗标位指示代码字的部分的无效性,其中代码字的第一部分基于识别至少一个旗标位被解析。
图6展示根据本发明的方面的绘示支持代码字格式及结构的方法600的流程图。方法600的操作可由如本文中所描述的存储器控制器或其组件以及其它装置实施。举例来说,方法600的操作可由参考图1到2所描述的控制器120或控制器230执行。在一些实例中,控制器可执行一组代码来控制装置的功能元件以执行下文所描述的功能。另外或替代地,控制器可使用专用硬件执行下文所描述的功能的方面。
在605处,控制器可接收与存储器媒体相关联的代码字的第一部分,所述代码字包含指示跨多个通道的多个通道突发的一组位字段。605的操作可根据参考图2到4所描述的方法而执行。在某些实例中,605的操作的方面可由如参考图4所描述的通道管理器执行。
在610处,控制器可针对所述代码字的第一部分的所述一组位字段中的第一通道突发的至少一个通道,确定所述组的位字段中指示的代码字条件。610的操作可根据参考图2到4所描述的方法而执行。在某些实例中,610的操作的方面可由如参考图4所描述的代码字管理器执行。
在615处,控制器可基于接收代码字的第一部分及确定代码字条件与接收代码字的额外部分同时解析代码字的第一部分。615的操作可根据参考图2到4所描述的方法而执行。在某些实例中,615的操作的方面可由如参考图4所描述的代码字管理器执行。
在620处,控制器可基于解析代码字的第一部分与存储器媒体通信。620的操作可根据参考图2到4所描述的方法而执行。在某些实例中,620的操作的方面可由如参考图4所描述的通道管理器执行。
应注意,本文中所描述的方法描述可能的实施方案,且操作及步骤可经重新布置或以其它方式修改且其它实施方案是可能的。此外,可组合来自所述方法中的两者或多于两者的实例。
本文中所描述的信息及信号可使用多种不同工艺及技术中的任何者表示。举例来说,可贯穿以上描述所引用的数据、指令、命令、信息、信号、位、符号及码片可由电压、电流、电磁波、电磁场或粒子、光场或粒子或其任何组合表示。一些附图可将信号绘示为单一信号;然而,所属领域的一般技术人员应理解,信号可表示信号总线,其中总线可具有多种位宽度。
术语“电子通信”及“耦合”是指支持电子在组件之间流动的组件之间的关系。这可包含组件之间的直接连接或可包含中间组件。彼此进行电子通信或耦合到彼此的组件可主动交换电子或信号(例如,在通电电路中)或可能不能主动交换电子或信号(例如,在未通电电路中),但一旦电路被通电就可经配置且可操作以交换电子或信号。通过实例,经由开关(例如,晶体管)物理地连接的两个组件进行电子通信或可耦合,而无论开关的状态如何(即,断开或闭合)。
硫族化物材料可为包含元素S、Se及Te中的至少一者的材料或合金。本文中所论述的相变材料可为硫族化物材料。硫族化物材料可包含S、Se、Te、Ge、As、Al、Sb、Au、铟(In)、镓(Ga)、锡(Sn)、铋(Bi)、钯(Pd)、钴(Co)、氧(O)、银(Ag)、镍(Ni)、铂(Pt)的合金。实例硫族化物材料及合金可包含但不限于Ge-Te、In-Se、Sb-Te、Ga-Sb、In-Sb、As-Te、Al-Te、Ge-Sb-Te、Te-Ge-As、In-Sb-Te、Te-Sn-Se、Ge-Se-Ga、Bi-Se-Sb、Ga-Se-Te、Sn-Sb-Te、In-Sb-Ge、Te-Ge-Sb-S、Te-Ge-Sn-O、Te-Ge-Sn-Au、Pd-Te-Ge-Sn、In-Se-Ti-Co、Ge-Sb-Te-Pd、Ge-Sb-Te-Co、Sb-Te-Bi-Se、Ag-In-Sb-Te、Ge-Sb-Se-Te、Ge-Sn-Sb-Te、Ge-Te-Sn-Ni、Ge-Te-Sn-Pd或Ge-Te-Sn-Pt。如本文中所使用,带连字符的化学成分表示法指示特定化合物或合金中包含的元素且希望表示涉及所指示元素的所有化学计量。举例来说,Ge-Te可包含GexTey,其中x及y可为任何正整数。可变电阻材料的其它实例可包含二元金属氧化物材料或混合价氧化物,包含两种或多于两种金属,例如,过渡金属、碱土金属及/或稀土金属。实例不限于与存储器单元的存储器元件相关联的一或多种特定可变电阻材料。举例来说,可变电阻材料的其它实例可用于形成存储器元件,且可包含硫族化物材料、巨磁阻材料或聚合物基材料等等。
本文中所论述的装置,包含存储器媒体130,可形成在例如硅、锗、硅-锗合金、砷化镓、氮化镓等等的半导体衬底上。在一些情况下,衬底是半导体晶片。在其它情况下,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料外延层。衬底或衬底的子区域的导电性可通过使用包含但不限于磷、硼或砷的各种化学物种进行掺杂而控制。掺杂可在衬底的初始形成或生长期间通过离子植入或通过任何其它掺杂手段而执行。
本文中所陈述的描述结合附图描述实例配置且并不表示可被实施或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”意指“用作实例、例子或说明”,而非“优选的”或“优于其它实例”。详细描述包含用于提供对所描述技术的理解的目的的特定细节。然而,可在没有这些特定细节的情况下实践这些技术。在一些例子中,以框图形式展示众所周知的结构及装置,以便避免模糊所描述实例的概念。
在附图中,类似组件或特征可具有相同的参考标记。此外,相同类型的各种组件可通过用短划线跟随参考标记及区分类似组件的第二标记来区分。如果在说明书中仅使用第一参考标记,那么所述描述适用于具有相同第一参考标记的类似组件中的任何一者,而与第二参考标记无关。
本文中所描述的信息及信号可使用多种不同工艺及技术中的任何者表示。举例来说,可贯穿描述所引用的数据、指令、命令、信息、信号、位、符号及码片可由电压、电流、电磁波、电磁场或粒子、光场或粒子或其任何组合表示。
结合本文中的揭示内容所描述的各种说明性框及模块可用通用处理器、DSP、ASIC、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文中所描述的功能的其任何组合来实施或执行。通用处理器可为微处理器,但替代地,处理器可为任何处理器、控制器、微控制器或状态机。处理器还可被实施为计算装置的组合(例如,数字信号处理器(DSP)与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置)。
本文中所描述的功能可实施于硬件、由处理器执行的软件、固件或其任何组合中。如果实施于由处理器执行的软件中,那么功能可存储在计算机可读媒体上或作为一或多个指令或代码而在计算机可读媒体上发射。其它实例及实施方案在本发明及所附权利要求书的范围内。举例来说,由于软件的性质,本文中所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任何者的组合来实施。实施功能的特征还可物理地位于各个位置处,包含经分布使得功能的部分在不同物理位置处实施。而且,如本文中所使用,包含权利要求书中所使用,如项目列表(例如,后接例如“中的至少一者”或“中的一或多者”的短语的项目列表)中所使用的“或”指示包含性列表,使得例如A、B或C中的至少一者的列表意指A或B或C或AB或AC或BC或ABC(即,A及B及C)。而且,如本文中所使用,短语“基于”不应被认作对一组封闭条件的引用。举例来说,被描述为“基于条件A”的示范性步骤可基于条件A及条件B两者,而不脱离本发明的范围。换句话说,如本文中所使用,短语“基于”应以与短语“至少部分地基于”相同的方式来解释。
计算机可读媒体包括非暂时性计算机存储媒体及通信媒体两者,通信媒体包括促进将计算机程序从一个地方传送到另一个地方的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。通过实例而非限制,非暂时性计算机可读媒体可包含RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于载送或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。而且,任何连接都被适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或例如红外、无线电及微波的无线技术从网站、服务器或其它远程源发射软件,那么同轴电缆、光缆、双绞线、数字订户线(DSL)或例如红外、无线电及微波的无线技术包含在媒体的定义中。如本文中所使用,磁盘及光碟包含CD、激光盘、光盘、数字多功能盘(DVD)、软盘及蓝光光盘,其中磁盘通常磁性地再现数据,而光碟用激光光学地再现数据。上述各者的组合也包含在计算机可读媒体的范围内。
提供本文中的描述以使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易明白对本发明的各种修改,且在不脱离本发明的范围的情况下,本文中所定义的一般原理可应用于其它变体。因此,本发明不限于本文中所描述的实例及设计,而是应符合与本文中所揭示的原理及新型特征一致的最广范围。
Claims (25)
1.一种方法,其包括:
接收与存储器媒体相关联的代码字的第一部分,所述代码字包括指示跨多个通道的多个通道突发的一组位字段;
至少部分地基于接收所述代码字的所述第一部分与接收所述代码字的额外部分同时解析所述代码字的所述第一部分;及
至少部分地基于解析所述代码字的所述第一部分与所述存储器媒体通信。
2.根据权利要求1所述的方法,其进一步包括:
针对所述代码字的所述第一部分的所述一组位字段中的第一通道突发的至少一个通道,确定所述组的位字段中指示的代码字条件,其中所述代码字的所述第一部分至少部分地基于所述代码字条件被解析。
3.根据权利要求2所述的方法,其中确定所述代码字条件包括:
在所述代码字的所述第一部分的所述一组位字段中的所述多个通道的通道子集中识别所述组的所述位字段中的信息。
4.根据权利要求2所述的方法,其中确定所述代码字条件包括:
将所述代码字条件确定为来自多个经预配置代码字条件的第一代码字条件。
5.根据权利要求4所述的方法,其中:
所述代码字条件指示所述代码字的类型或所述代码字的位的反转状态中的至少一者或两者。
6.根据权利要求2所述的方法,其进一步包括:
至少部分地基于所述代码字条件反转所述代码字的至少一位,其中所述代码字条件包括所述代码字的位的反转状态。
7.根据权利要求2所述的方法,其进一步包括:
至少部分地基于所述代码字条件确定所述代码字的转发地址,其中所述代码字条件包括指示经转发代码字的所述代码字的类型,所述经转发代码字包括与所述代码字相关联的有效地址的至少一个副本,其中与所述存储器媒体通信包括使用所述代码字的所述转发地址将存取命令发射到所述存储器媒体。
8.根据权利要求1所述的方法,其进一步包括:
至少部分地基于接收所述代码字的所述第一部分针对所述代码字的所述一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中的备用位,其中所述代码字的所述第一部分至少部分地基于识别所述备用位被解析。
9.根据权利要求8所述的方法,其进一步包括:
在所述第一通道突发中接收到所述代码字的所述第一部分之后在第二通道突发中接收所述代码字的第二部分,其中所述第二部分包括与错误校正代码ECC操作相关联的位。
10.根据权利要求8所述的方法,其进一步包括:
在启动错误校正代码ECC操作之前,至少部分地基于识别所述备用位用所述备用位代替所述代码字的位子集。
11.根据权利要求8所述的方法,其中:
所述备用位中的一或多个位经配置以指示循环冗余校验CRC信息或修复信息中的至少一者。
12.根据权利要求1所述的方法,其进一步包括:
识别所述代码字的所述第一部分中的循环冗余校验CRC位,所述CRC位包括针对所述代码字的所述一组位字段中的第一通道突发的至少一个通道的所述组的位字段,其中所述代码字的所述第一部分至少部分地基于识别所述CRC位被解析。
13.根据权利要求1所述的方法,其进一步包括:
至少部分地基于接收所述代码字的所述第一部分针对所述代码字的所述一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中的修复位,所述修复位存储信息以在所述第一通道突发的另一通道中重构对应位,其中所述代码字的所述第一部分至少部分地基于识别所述修复位被解析。
14.根据权利要求13所述的方法,其中:
所述修复位中的每一位经配置以存储相应通道突发的其它通道的对应位的异或XOR乘积。
15.根据权利要求1所述的方法,其进一步包括:
至少部分地基于与接收所述代码字的所述额外部分同时解析所述代码字的所述第一部分重新配置所述代码字,其中与所述存储器媒体通信是至少部分地基于重新配置所述代码字。
16.根据权利要求1所述的方法,其进一步包括:
至少部分地基于接收所述代码字的所述第一部分针对所述代码字的所述一组位字段中的第一通道突发的至少一个通道识别所述组的位字段中的计数器位,所述计数器位指示与所述代码字相关联的存取操作的数量,其中所述代码字的所述第一部分至少部分地基于识别所述计数器位被解析。
17.根据权利要求1所述的方法,其进一步包括:
至少部分地基于接收所述代码字的所述第一部分识别跨所述代码字的所述一组位字段中的第一通道突发的至少一个通道的至少一个旗标位,所述至少一个旗标位指示所述代码字的部分的无效性,其中所述代码字的所述第一部分至少部分地基于识别所述至少一个旗标位被解析。
18.一种设备,其包括:
多个存储器媒体,所述多个存储器媒体中的至少一个存储器媒体经配置以生成包括指示跨多个通道的多个通道突发的一组位字段的代码字;
至少一个主机接口,其经配置以从主机装置接收存取命令;及
多个端口管理器,其与所述至少一个主机接口进行电子通信,且每一端口管理器与所述多个存储器媒体中的不同一或多个存储器媒体进行电子通信,所述多个中的至少一个端口管理器经配置以:
至少部分地基于接收所述存取命令接收所述代码字的第一部分;及
至少部分地基于接收所述代码字的所述第一部分与接收所述代码字的第二部分同时解析所述代码字的所述第一部分。
19.根据权利要求18所述的设备,其中所述多个中的所述至少一个端口管理器经配置以:
针对所述代码字的所述一组位字段中的所述多个通道突发中的第一通道突发的所述多个通道,确定所述组的位字段中指示的代码字条件。
20.根据权利要求19所述的设备,其中所述多个端口管理器中的所述至少一个端口管理器进一步经配置以:
通过识别来自针对所述多个通道的所述组的所述位字段的信息确定所述代码字条件,所述信息指示来自多个经预配置代码字条件的第一代码字条件。
21.根据权利要求18所述的设备,其中所述多个端口管理器中的所述至少一个端口管理器经配置以:
针对所述代码字的所述一组位字段中的所述多个通道突发中的第一通道突发内的所述多个通道,识别包括所述组的位字段的备用位;及
至少部分地基于识别所述备用位解析所述代码字的所述第一部分。
22.根据权利要求18所述的设备,其中所述多个端口管理器中的所述至少一个端口管理器经配置以:
针对所述代码字的所述一组位字段中的所述多个通道突发中的第一通道突发内的所述多个通道,识别包括所述组的位字段的循环冗余校验CRC位;及
至少部分地基于识别所述CRC位解析所述代码字的所述第一部分。
23.根据权利要求18所述的设备,其中所述多个存储器媒体中的至少一个存储器媒体包括相变存储器。
24.根据权利要求18所述的设备,其中:
所述多个通道包括十一个通道;且
所述多个通道突发包括十六个突发。
25.一种设备,其包括:
存储器媒体;
控制器,其与所述存储器媒体及主机装置进行电子通信,其中所述控制器可操作以:
接收与所述存储器媒体相关联的代码字的第一部分,所述代码字包括指示跨多个通道的多个通道突发的一组位字段;
至少部分地基于接收所述代码字的所述第一部分与接收所述代码字的额外部分同时解析所述代码字的所述第一部分;及
至少部分地基于解析所述代码字的所述第一部分与所述存储器媒体或所述主机装置通信。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862671920P | 2018-05-15 | 2018-05-15 | |
US62/671,920 | 2018-05-15 | ||
US16/249,808 | 2019-01-16 | ||
US16/249,808 US11003375B2 (en) | 2018-05-15 | 2019-01-16 | Code word format and structure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489266A true CN110489266A (zh) | 2019-11-22 |
CN110489266B CN110489266B (zh) | 2023-10-20 |
Family
ID=68532579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910220639.3A Active CN110489266B (zh) | 2018-05-15 | 2019-03-22 | 用于支持代码字格式及结构的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (4) | US11003375B2 (zh) |
EP (1) | EP3794452A4 (zh) |
KR (1) | KR20200142091A (zh) |
CN (1) | CN110489266B (zh) |
WO (1) | WO2019222014A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915324A (zh) * | 2019-05-09 | 2020-11-10 | 美光科技公司 | 基于对经编码图像的扫描来更新数据库中的制品生命周期数据 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831653B2 (en) * | 2018-05-15 | 2020-11-10 | Micron Technology, Inc. | Forwarding code word address |
US11003375B2 (en) | 2018-05-15 | 2021-05-11 | Micron Technology, Inc. | Code word format and structure |
US10990472B2 (en) * | 2018-07-24 | 2021-04-27 | Micron Technology, Inc. | Spare substitution in memory system |
TWI718858B (zh) | 2020-02-03 | 2021-02-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US11416331B2 (en) | 2020-12-09 | 2022-08-16 | Micron Technology, Inc. | Modified checksum using a poison data pattern |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030066017A1 (en) * | 2001-09-28 | 2003-04-03 | Nobuhiro Kuwamura | Storage device and error correction method thereof |
US20090063731A1 (en) * | 2007-09-05 | 2009-03-05 | Gower Kevin C | Method for Supporting Partial Cache Line Read and Write Operations to a Memory Module to Reduce Read and Write Data Traffic on a Memory Channel |
US20120166904A1 (en) * | 2010-12-23 | 2012-06-28 | International Business Machines Corporation | Data bus inversion using spare error correction bits |
WO2012168099A1 (en) * | 2011-06-10 | 2012-12-13 | International Business Machines Corporation | Using extended asynchronous data mover indirect data address words |
US20130179753A1 (en) * | 2006-12-06 | 2013-07-11 | Fusion-Io, Inc. | Systems and methods for adaptive data storage |
CN103562894A (zh) * | 2011-06-10 | 2014-02-05 | 国际商业机器公司 | 响应于执行开始子通道指令返回的数据 |
US20140157054A1 (en) * | 2012-11-30 | 2014-06-05 | Hewlett-Packard Development Company, L.P. | Memory error identification based on corrupted symbol patterns |
US20160134307A1 (en) * | 2014-11-06 | 2016-05-12 | Samsung Electronics Co., Ltd. | Completely utilizing hamming distance for secded based ecc dimms |
US9372870B1 (en) * | 2003-01-21 | 2016-06-21 | Peer Fusion, Inc. | Peer to peer code generator and decoder for digital systems and cluster storage system |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100378181B1 (ko) | 2000-06-09 | 2003-03-29 | 삼성전자주식회사 | Efm/efm+ 디코딩에 의해 검출된 에러위치를 이용한c1/pi 워드의 에러정정 방법 및 장치 |
US7050419B2 (en) | 2001-02-23 | 2006-05-23 | Terayon Communicaion Systems, Inc. | Head end receiver for digital data delivery systems using mixed mode SCDMA and TDMA multiplexing |
US7548558B2 (en) | 2002-11-15 | 2009-06-16 | Terayon Communications Systems, Inc. | Cable modem termination system with flexible addition of single upstreams or downstreams |
JP4300462B2 (ja) | 2003-04-23 | 2009-07-22 | 富士フイルム株式会社 | 情報記録再生方法及び装置 |
US8055979B2 (en) | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US8082482B2 (en) | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
US8621137B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Metadata rebuild in a flash memory controller following a loss of power |
KR101386489B1 (ko) | 2008-01-14 | 2014-04-21 | 삼성전자주식회사 | 메모리 장치 및 멀티 비트 프로그래밍 방법 |
US9184874B2 (en) | 2008-03-31 | 2015-11-10 | Qualcomm Incorporated | Storing log likelihood ratios in interleaved form to reduce hardware memory |
US8321758B2 (en) * | 2008-08-05 | 2012-11-27 | Advanced Micro Devices, Inc. | Data error correction device and methods thereof |
US8004431B2 (en) | 2008-12-09 | 2011-08-23 | Qualcomm Incorporated | Fast parsing of variable-to-fixed-length codes |
US7881089B2 (en) | 2009-02-24 | 2011-02-01 | International Business Machines Corporation | Coding techniques for improving the sense margin in content addressable memories |
KR20100101449A (ko) | 2009-03-09 | 2010-09-17 | 삼성전자주식회사 | 메모리 장치, 그것의 마스크 데이터 전송 방법 및 입력 데이터 정렬 방법 |
JP5503464B2 (ja) | 2010-08-30 | 2014-05-28 | 沖電気工業株式会社 | 帯域割当装置、帯域割当方法、帯域割当プログラム、及び通信端末 |
EP2525496A1 (en) * | 2011-05-18 | 2012-11-21 | Panasonic Corporation | Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes |
KR102002925B1 (ko) | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
US8935592B2 (en) | 2012-11-20 | 2015-01-13 | Arm Limited | Apparatus and method for correcting errors in data accessed from a memory device |
WO2014142593A1 (ko) | 2013-03-13 | 2014-09-18 | 엘지전자 주식회사 | 제어 채널의 송수신 방법 및 이를 위한 장치 |
CN104346234B (zh) | 2013-08-09 | 2017-09-26 | 华为技术有限公司 | 一种内存访问的方法、设备及系统 |
US9633740B1 (en) | 2016-02-11 | 2017-04-25 | Seagate Technology Llc | Read retry operations where likelihood value assignments change sign at different read voltages for each read retry |
US9696920B2 (en) * | 2014-06-02 | 2017-07-04 | Micron Technology, Inc. | Systems and methods for improving efficiencies of a memory system |
US9984768B2 (en) | 2014-10-20 | 2018-05-29 | Sandisk Technologies Llc | Distributing storage of ECC code words |
US9576671B2 (en) | 2014-11-20 | 2017-02-21 | Western Digital Technologies, Inc. | Calibrating optimal read levels |
US9710324B2 (en) | 2015-02-03 | 2017-07-18 | Qualcomm Incorporated | Dual in-line memory modules (DIMMs) supporting storage of a data indicator(s) in an error correcting code (ECC) storage unit dedicated to storing an ECC |
KR102392821B1 (ko) | 2015-03-16 | 2022-05-02 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US9858144B2 (en) | 2015-08-20 | 2018-01-02 | National Technology & Engineering Solutions Of Sandia, Llc | Processor-in-memory-and-storage architecture |
KR101860809B1 (ko) * | 2015-09-30 | 2018-07-06 | 서울대학교산학협력단 | 메모리 시스템 및 메모리 에러 정정 방법 |
US10236917B2 (en) | 2016-09-15 | 2019-03-19 | Qualcomm Incorporated | Providing memory bandwidth compression in chipkill-correct memory architectures |
KR20180061870A (ko) * | 2016-11-30 | 2018-06-08 | 삼성전자주식회사 | 메모리 모듈, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10678633B2 (en) * | 2017-11-30 | 2020-06-09 | SK Hynix Inc. | Memory system and operating method thereof |
US20190042358A1 (en) * | 2018-02-06 | 2019-02-07 | Intel Corporation | Shared parity check for correcting memory errors |
US10534565B1 (en) * | 2018-04-11 | 2020-01-14 | Cadence Design Systems, Inc. | Programmable, area-optimized bank group rotation system for memory devices |
US10831653B2 (en) | 2018-05-15 | 2020-11-10 | Micron Technology, Inc. | Forwarding code word address |
US11003375B2 (en) | 2018-05-15 | 2021-05-11 | Micron Technology, Inc. | Code word format and structure |
-
2019
- 2019-01-16 US US16/249,808 patent/US11003375B2/en active Active
- 2019-03-22 CN CN201910220639.3A patent/CN110489266B/zh active Active
- 2019-05-09 EP EP19802866.4A patent/EP3794452A4/en not_active Withdrawn
- 2019-05-09 WO PCT/US2019/031463 patent/WO2019222014A1/en unknown
- 2019-05-09 KR KR1020207034880A patent/KR20200142091A/ko active IP Right Grant
- 2019-08-26 US US16/551,484 patent/US10831389B2/en active Active
-
2020
- 2020-10-20 US US17/075,235 patent/US11520513B2/en active Active
-
2022
- 2022-10-26 US US18/049,870 patent/US11907560B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030066017A1 (en) * | 2001-09-28 | 2003-04-03 | Nobuhiro Kuwamura | Storage device and error correction method thereof |
US9372870B1 (en) * | 2003-01-21 | 2016-06-21 | Peer Fusion, Inc. | Peer to peer code generator and decoder for digital systems and cluster storage system |
US20130179753A1 (en) * | 2006-12-06 | 2013-07-11 | Fusion-Io, Inc. | Systems and methods for adaptive data storage |
US20090063731A1 (en) * | 2007-09-05 | 2009-03-05 | Gower Kevin C | Method for Supporting Partial Cache Line Read and Write Operations to a Memory Module to Reduce Read and Write Data Traffic on a Memory Channel |
US20120166904A1 (en) * | 2010-12-23 | 2012-06-28 | International Business Machines Corporation | Data bus inversion using spare error correction bits |
WO2012168099A1 (en) * | 2011-06-10 | 2012-12-13 | International Business Machines Corporation | Using extended asynchronous data mover indirect data address words |
CN103562894A (zh) * | 2011-06-10 | 2014-02-05 | 国际商业机器公司 | 响应于执行开始子通道指令返回的数据 |
US20140157054A1 (en) * | 2012-11-30 | 2014-06-05 | Hewlett-Packard Development Company, L.P. | Memory error identification based on corrupted symbol patterns |
US20160134307A1 (en) * | 2014-11-06 | 2016-05-12 | Samsung Electronics Co., Ltd. | Completely utilizing hamming distance for secded based ecc dimms |
Non-Patent Citations (4)
Title |
---|
T. KANAOKA ET AL: "Structured LDPC Codes with Reversed MTR/ECC for Magnetic Recording Channels", 《IEEE》 * |
T. KANAOKA ET AL: "Structured LDPC Codes with Reversed MTR/ECC for Magnetic Recording Channels", 《IEEE》, 25 June 2007 (2007-06-25) * |
刘大雪: "基于二维纠错码的NoC容MBU软错误结构加固技术", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
刘大雪: "基于二维纠错码的NoC容MBU软错误结构加固技术", 《中国优秀硕士学位论文全文数据库(电子期刊)》, vol. 2018, no. 4, 15 April 2018 (2018-04-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915324A (zh) * | 2019-05-09 | 2020-11-10 | 美光科技公司 | 基于对经编码图像的扫描来更新数据库中的制品生命周期数据 |
Also Published As
Publication number | Publication date |
---|---|
CN110489266B (zh) | 2023-10-20 |
EP3794452A1 (en) | 2021-03-24 |
US11907560B2 (en) | 2024-02-20 |
US20190354305A1 (en) | 2019-11-21 |
US20210103398A1 (en) | 2021-04-08 |
US20190377511A1 (en) | 2019-12-12 |
US11003375B2 (en) | 2021-05-11 |
WO2019222014A1 (en) | 2019-11-21 |
US10831389B2 (en) | 2020-11-10 |
EP3794452A4 (en) | 2021-09-22 |
KR20200142091A (ko) | 2020-12-21 |
US20230078205A1 (en) | 2023-03-16 |
US11520513B2 (en) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489266A (zh) | 代码字格式及结构 | |
KR102428688B1 (ko) | 부호 워드 주소의 전달 | |
CN114424284A (zh) | 码字内耗损均衡技术 | |
CN109800183A (zh) | 用于多端口存储类存储器接口的方法及设备 | |
CN112673355A (zh) | 存储器系统中的媒体刷洗器 | |
US11726866B2 (en) | Spare substitution in memory system | |
CN112567344B (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 |