New Term

Terms List

Searching terms across all applications.

Id Matter Term Definition Doc No Modified Actions
1280 Placeholder App data section
"Data section" refers to one part of a storage block. A data section stores data blocks within the storage block. The data block may include XOR parity data in addition to any XOR parity data stored in a parity section associated with the data section. For example, the data block may store one or more codewords that include data and error correction code data (another form of XOR parity data) that protects the data of the codeword.The data section may be organized in a variety of ways in different embodiments. In certain embodiments, the data section includes a plurality of logical pages each made up of physical pages that span planes and memory die of a non-volatile memory array. "Data section" refers to one part of a storage block. A data section stores data blocks within the storage block. The data block may include XOR parity data in addition to any XOR parity data stored in a parity section associated with the data section. For example, the data block may store one or more codewords that include data and error correction code data (another form of XOR parity data) that protects the data of the codeword.The data section may be organized in a variety of ways in different embodiments. In certain embodiments, the data section includes a plurality of logical pages each made up of physical pages that span planes and memory die of a non-volatile memory array.
FSP1830 6/24/20, 9:17 PM Add Term Edit
Delete
1279 filler storage block
"Filler storage block" refers to a storage block that is used as a source for fill data for a merge, combine, or fold operation from source storage blocks to a destination storage block. Filler storage blocks may be a source storage block, a whole source storage block, a complete source storage block, and/or a fragmented source storage block of which the valid data is used as fill data. Data blocks of a filler storage block that are not used in a current merge, combine, or fold operation may be used for a subsequent current merge, combine, or fold operation and/or may be used in a garbage collection operation that relocates data blocks from existing storage blocks to another storage block. "Filler storage block" refers to a storage block that is used as a source for fill data for a merge, combine, or fold operation from source storage blocks to a destination storage block. Filler storage blocks may be a source storage block, a whole source storage block, a complete source storage block, and/or a fragmented source storage block of which the valid data is used as fill data. Data blocks of a filler storage block that are not used in a current merge, combine, or fold operation may be used for a subsequent current merge, combine, or fold operation and/or may be used in a garbage collection operation that relocates data blocks from existing storage blocks to another storage block.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1278 fragmented source storage block
"Fragmented source storage block" refers to a source storage block that includes one or more bad word lines and/or one or more failed word lines within the data section of the source storage block. In addition, a source storage block that includes one or more data blocks of invalid data is also a fragmented source storage block.Typically, a fragmented source storage block includes fewer valid data blocks than a complete source storage block and/or a whole source storage block.Typically, a fragmented source storage block includes an invalid parity section. The invalid parity section of a fragmented source storage block may be converted into a valid parity section. However, in certain instances a parity section for a fragmented source storage block may be a valid parity section. For example, if a source storage block includes one or more bad word lines that are not included when the parity section for the source storage block is generated and the source storage block includes no invalid data, the parity section may be a valid parity section. "Fragmented source storage block" refers to a source storage block that includes one or more bad word lines and/or one or more failed word lines within the data section of the source storage block. In addition, a source storage block that includes one or more data blocks of invalid data is also a fragmented source storage block.Typically, a fragmented source storage block includes fewer valid data blocks than a complete source storage block and/or a whole source storage block.Typically, a fragmented source storage block includes an invalid parity section. The invalid parity section of a fragmented source storage block may be converted into a valid parity section. However, in certain instances a parity section for a fragmented source storage block may be a valid parity section. For example, if a source storage block includes one or more bad word lines that are not included when the parity section for the source storage block is generated and the source storage block includes no invalid data, the parity section may be a valid parity section.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1277 on-chip copy
"On-chip copy" refers to an operation that moves or copies data from a source storage block to a destination storage block such that the data remains within one or more memory die that are tasked to perform the on-chip copy. In certain embodiments, on-chip copy may be implemented by reading physical pages within each memory die of a non-volatile memory array into a page buffer within the respective memory die and then writing the physical pages into a destination storage block on the same memory die. "On-chip copy" refers to an operation that moves or copies data from a source storage block to a destination storage block such that the data remains within one or more memory die that are tasked to perform the on-chip copy. In certain embodiments, on-chip copy may be implemented by reading physical pages within each memory die of a non-volatile memory array into a page buffer within the respective memory die and then writing the physical pages into a destination storage block on the same memory die.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1276 parity row
"Parity row" refers to a set of parity bins that together store XOR parity data for level of bits stored within multi-level memory cells of a storage block. "Parity row" refers to a set of parity bins that together store XOR parity data for level of bits stored within multi-level memory cells of a storage block.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1275 destination storage block
"Destination storage block" refers to a storage block that receives data blocks as part of a merging, combining, or folding operation in which data blocks from two or more source storage blocks are combined to write the data blocks in the destination storage block. In one embodiment, the source storage blocks, and destination storage block are configured such that the data block fit within the destination storage block without any remaining data, or data blocks, that exceed the storage capacity of the destination storage block. For example, if the source storage blocks are single level cell (SLC) storage blocks that each hold one bit per memory cell, then the destination storage block is an Multi-level cell (MLC, two bits per memory cell) storage block, a tri-level cell (TLC, three bits per memory cell), a Quad-level cell (QLC, four bits per memory cell), a Penta-level cell (PLC, five bits per memory cell), or the like. "Destination storage block" refers to a storage block that receives data blocks as part of a merging, combining, or folding operation in which data blocks from two or more source storage blocks are combined to write the data blocks in the destination storage block. In one embodiment, the source storage blocks, and destination storage block are configured such that the data block fit within the destination storage block without any remaining data, or data blocks, that exceed the storage capacity of the destination storage block. For example, if the source storage blocks are single level cell (SLC) storage blocks that each hold one bit per memory cell, then the destination storage block is an Multi-level cell (MLC, two bits per memory cell) storage block, a tri-level cell (TLC, three bits per memory cell), a Quad-level cell (QLC, four bits per memory cell), a Penta-level cell (PLC, five bits per memory cell), or the like.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1274 parity bin
"Parity bin" refers to a data structure configured to hold XOR parity data, the XOR parity data is designed, engineered, and/or configured to enable recovery of one of one or more logical pages of a storage block or a physical page within a logical page of the storage block by a data recovery process that includes XOR parity data of the parity bin and data within a set of physical pages and/or logical pages of the storage block associated with the parity bin.In one embodiment, a parity bin is associated with a plurality of physical pages referred to as member pages. In one embodiment, the XOR parity data of the parity bin is a result of a bitwise XOR operation of data from each of the member pages. In certain embodiments, the member pages for a parity bin are designated such that a reverse XOR operation can be used to recover data in one of the member pages. In certain embodiments, the parity bins for storage blocks are designated, or configured, such that a reverse XOR operation can be used to recover data in one or more logical pages of a storage block, including a storage block that stores multiple-bits per memory cell. "Parity bin" refers to a data structure configured to hold XOR parity data, the XOR parity data is designed, engineered, and/or configured to enable recovery of one of one or more logical pages of a storage block or a physical page within a logical page of the storage block by a data recovery process that includes XOR parity data of the parity bin and data within a set of physical pages and/or logical pages of the storage block associated with the parity bin.In one embodiment, a parity bin is associated with a plurality of physical pages referred to as member pages. In one embodiment, the XOR parity data of the parity bin is a result of a bitwise XOR operation of data from each of the member pages. In certain embodiments, the member pages for a parity bin are designated such that a reverse XOR operation can be used to recover data in one of the member pages. In certain embodiments, the parity bins for storage blocks are designated, or configured, such that a reverse XOR operation can be used to recover data in one or more logical pages of a storage block, including a storage block that stores multiple-bits per memory cell.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1273 parity bin map
"Parity bin map" refers to a configuration, design, arrangement, plan, mapping or the like that identifies which physical pages are to be combined in an XOR operation (referred to as accumulating XOR parity data) to generate XOR parity data for an associated parity bin.In certain embodiments, a parity bin map is designed based a physical layout of physical pages, physical planes, and memory die within a non-volatile memory array and accounts for distribution of the physical pages among memory die, memory planes, logical pages across the non-volatile memory array as well as logical pages stored within strings and/or word lines of the non-volatile memory array. In such embodiments, the parity bin map may be organized such that XOR parity data of a parity bin and each physical page used to generate the XOR parity data of the parity bin may be used to recover or re-create certain physical pages of the non-volatile memory array in response to certain errors or faults that may occur in the non-volatile memory array. In particular, the parity bin map may be configured to enable recovery of physical page data for one or more of the most common errors or faults (e.g. Word line to word line shorts, logical page read errors, etc.) In another aspect, XOR parity data may map from physical pages to parity bins among alternating word lines (e.g., logical pages) such that each physical page of a logical page can be recovered if needed, for example in response to a word line to word line short within a single plane.In one embodiment, the parity bin map is implemented based on which physical pages among the rows and columns of a non-volatile memory array are assigned or otherwise associated with a parity bin. In other words, the parity bin map may not be represented in the storage device using a data structure and instead may be a logical construct. In another embodiment, the parity bin map is represented by data structure that associates parity bins with the physical pages, member pages, used in accumulating XOR parity data to generate the XOR parity data of the parity bin. "Parity bin map" refers to a configuration, design, arrangement, plan, mapping or the like that identifies which physical pages are to be combined in an XOR operation (referred to as accumulating XOR parity data) to generate XOR parity data for an associated parity bin.In certain embodiments, a parity bin map is designed based a physical layout of physical pages, physical planes, and memory die within a non-volatile memory array and accounts for distribution of the physical pages among memory die, memory planes, logical pages across the non-volatile memory array as well as logical pages stored within strings and/or word lines of the non-volatile memory array. In such embodiments, the parity bin map may be organized such that XOR parity data of a parity bin and each physical page used to generate the XOR parity data of the parity bin may be used to recover or re-create certain physical pages of the non-volatile memory array in response to certain errors or faults that may occur in the non-volatile memory array. In particular, the parity bin map may be configured to enable recovery of physical page data for one or more of the most common errors or faults (e.g. Word line to word line shorts, logical page read errors, etc.) In another aspect, XOR parity data may map from physical pages to parity bins among alternating word lines (e.g., logical pages) such that each physical page of a logical page can be recovered if needed, for example in response to a word line to word line short within a single plane.In one embodiment, the parity bin map is implemented based on which physical pages among the rows and columns of a non-volatile memory array are assigned or otherwise associated with a parity bin. In other words, the parity bin map may not be represented in the storage device using a data structure and instead may be a logical construct. In another embodiment, the parity bin map is represented by data structure that associates parity bins with the physical pages, member pages, used in accumulating XOR parity data to generate the XOR parity data of the parity bin.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1270 valid parity section
"Valid parity section" refers to a parity section that includes XOR parity data generated exclusively using data that is presently identified as valid data. In one embodiment, a valid parity section includes parity bins that each include XOR parity data generated exclusively using data that is presently identified as valid data.In certain embodiments, an invalid parity section may be converted into a valid parity section by performing a reverse XOR operation on the invalid parity section using the invalid data used to generate the invalid parity section. "Valid parity section" refers to a parity section that includes XOR parity data generated exclusively using data that is presently identified as valid data. In one embodiment, a valid parity section includes parity bins that each include XOR parity data generated exclusively using data that is presently identified as valid data.In certain embodiments, an invalid parity section may be converted into a valid parity section by performing a reverse XOR operation on the invalid parity section using the invalid data used to generate the invalid parity section.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1285 Placeholder App combined XOR parity data
"Combined XOR parity data" refers to an XOR parity data calculation that combines XOR parity data from two sets of data. In one example, data in one storage block of nonvolatile memory is combined using, for example, a bitwise exclusive or (e.g., XOR) operation, with data in a second storage block. The output of the bitwise XOR operation is combined XOR parity data. As needed, the output of the bitwise XOR operation can be combined with another set of data from a storage block to create a new set of combined XOR parity data. Based on a number of storage blocks for which XOR parity data is to be combined into combined XOR parity data, a process of successive bitwise XOR operations (termed accumulating XOR parity data) may be performed on the data of each storage block in order to generate combined XOR parity data.Thus, in one embodiment, XOR parity data from one open storage block of nonvolatile memory may be combined with XOR parity data from another, or each of a plurality of storage blocks, of nonvolatile memory to generate combined XOR parity data. "Combined XOR parity data" refers to an XOR parity data calculation that combines XOR parity data from two sets of data. In one example, data in one storage block of nonvolatile memory is combined using, for example, a bitwise exclusive or (e.g., XOR) operation, with data in a second storage block. The output of the bitwise XOR operation is combined XOR parity data. As needed, the output of the bitwise XOR operation can be combined with another set of data from a storage block to create a new set of combined XOR parity data. Based on a number of storage blocks for which XOR parity data is to be combined into combined XOR parity data, a process of successive bitwise XOR operations (termed accumulating XOR parity data) may be performed on the data of each storage block in order to generate combined XOR parity data.Thus, in one embodiment, XOR parity data from one open storage block of nonvolatile memory may be combined with XOR parity data from another, or each of a plurality of storage blocks, of nonvolatile memory to generate combined XOR parity data.
FSP1830 6/24/20, 9:17 PM Add Term Edit
Delete
1286 non-volatile memory array
"Non-volatile memory array" refers to a set of non-volatile storage cells (also referred to as memory cells or non-volatile memory cells) organized into an array structure having rows and columns. A memory array is addressable using a row identifier and a column identifier.Depending on the context, a non-volatile memory array may refer to rows and columns of memory cells within a plane of a memory die, within a plurality of planes of the memory die, within a plurality of memory die within a non-volatile storage device, or within a plurality of non-volatile storage devices of a system. "Non-volatile memory array" refers to a set of non-volatile storage cells (also referred to as memory cells or non-volatile memory cells) organized into an array structure having rows and columns. A memory array is addressable using a row identifier and a column identifier.Depending on the context, a non-volatile memory array may refer to rows and columns of memory cells within a plane of a memory die, within a plurality of planes of the memory die, within a plurality of memory die within a non-volatile storage device, or within a plurality of non-volatile storage devices of a system.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1287 selector
"Selector" refers to any hardware, software, firmware, circuit, component, module, logic, device, or apparatus configured, programmed, designed, arranged, or engineered to identify or select one or more storage blocks for use as source storage blocks for combining the data of the source storage blocks into a destination storage block. The selector may choose from one or more complete source storage blocks, one or more fragmented source storage blocks, and/or one or more whole source storage blocks. "Selector" refers to any hardware, software, firmware, circuit, component, module, logic, device, or apparatus configured, programmed, designed, arranged, or engineered to identify or select one or more storage blocks for use as source storage blocks for combining the data of the source storage blocks into a destination storage block. The selector may choose from one or more complete source storage blocks, one or more fragmented source storage blocks, and/or one or more whole source storage blocks.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1288 copy-through-controller
"Copy-through-controller" refers to an operation that moves or copies data from a source storage block to a destination storage block in a manner the includes transferring the physical pages from the memory die to a storage controller and then transferring the physical pages, with certain modifications to the data back from the storage controller to the memory die before storing the data of the physical pages on the destination storage block. "Copy-through-controller" refers to an operation that moves or copies data from a source storage block to a destination storage block in a manner the includes transferring the physical pages from the memory die to a storage controller and then transferring the physical pages, with certain modifications to the data back from the storage controller to the memory die before storing the data of the physical pages on the destination storage block.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1289 Placeholder App valid data
"Valid data" refers to data of a data block that was stored by a host or other user of a storage device, and should be preserved and maintained until the host indicates that the data of the data block is no longer needed, and either can, or should be, deleted. "Valid data" refers to data of a data block that was stored by a host or other user of a storage device, and should be preserved and maintained until the host indicates that the data of the data block is no longer needed, and either can, or should be, deleted.
FSP1830 6/24/20, 9:17 PM Add Term Edit
Delete
1290 invalid parity section
"Invalid parity section" refers to a parity section that includes XOR parity data generated using data that is presently identified as invalid data. The invalid data may have become invalid data due to an update to data for the LBA associated with the data block or the invalid data may be data in word lines that previously held valid data but presently hold invalid data because the word lines are now identified as bad word lines. "Invalid parity section" refers to a parity section that includes XOR parity data generated using data that is presently identified as invalid data. The invalid data may have become invalid data due to an update to data for the LBA associated with the data block or the invalid data may be data in word lines that previously held valid data but presently hold invalid data because the word lines are now identified as bad word lines.
FSP1830 6/24/20, 9:17 PM Edit
Delete
1291 Placeholder App circuit
"Circuit" refers to a set of one or more electrical and/or electronic components providing one or more pathways for electrical current. In certain embodiments, a circuit may include a return pathway for electrical current, so that the circuit is a closed loop. In another embodiment, however, a set of components that does not include a return pathway for electrical current may be referred to as a circuit (e.g., an open loop). For example, an integrated circuit may be referred to as a circuit regardless of whether the integrated circuit is coupled to ground (as a return pathway for electrical current) or not. In various embodiments, a circuit may include a portion of an integrated circuit, an integrated circuit, a set of integrated circuits, a set of non-integrated electrical and/or electrical components with or without integrated circuit devices, or the like.In one embodiment, a circuit may include custom VLSI circuits, gate arrays, logic circuits, or other integrated circuits; off-the-shelf semiconductors such as logic chips, transistors, or other discrete devices; and/or other mechanical or electrical devices.A circuit may also be implemented as a synthesized circuit in a programmable hardware device such as field programmable gate array, programmable array logic, programmable logic device, or the like (e.g., as firmware, a netlist, or the like). A circuit may comprise one or more silicon integrated circuit devices (e.g., chips, die, die planes, packages) or other discrete electrical devices, in electrical communication with one or more other components through electrical lines of a printed circuit board (PCB) or the like. Each of the modules described herein, in certain embodiments, may be embodied by or implemented as a circuit. "Circuit" refers to a set of one or more electrical and/or electronic components providing one or more pathways for electrical current. In certain embodiments, a circuit may include a return pathway for electrical current, so that the circuit is a closed loop. In another embodiment, however, a set of components that does not include a return pathway for electrical current may be referred to as a circuit (e.g., an open loop). For example, an integrated circuit may be referred to as a circuit regardless of whether the integrated circuit is coupled to ground (as a return pathway for electrical current) or not. In various embodiments, a circuit may include a portion of an integrated circuit, an integrated circuit, a set of integrated circuits, a set of non-integrated electrical and/or electrical components with or without integrated circuit devices, or the like.In one embodiment, a circuit may include custom VLSI circuits, gate arrays, logic circuits, or other integrated circuits; off-the-shelf semiconductors such as logic chips, transistors, or other discrete devices; and/or other mechanical or electrical devices.A circuit may also be implemented as a synthesized circuit in a programmable hardware device such as field programmable gate array, programmable array logic, programmable logic device, or the like (e.g., as firmware, a netlist, or the like). A circuit may comprise one or more silicon integrated circuit devices (e.g., chips, die, die planes, packages) or other discrete electrical devices, in electrical communication with one or more other components through electrical lines of a printed circuit board (PCB) or the like. Each of the modules described herein, in certain embodiments, may be embodied by or implemented as a circuit.
FSP1830 6/24/20, 9:17 PM Add Term Edit
Delete
1292 Placeholder App differential data
"Differential data" refers to data used to convert an invalid parity section into a valid parity section. Based on the actions to be done to convert a fragmented source storage block into a whole source storage block, the differential data may include a number of different types of data. For example, in one embodiment, the differential data may include invalid data from a fragmented source storage block, an invalid parity section from the same fragmented source storage block, a valid parity section, and fill data that will be stored in a whole source storage block resulting from the fragmented source storage block. "Differential data" refers to data used to convert an invalid parity section into a valid parity section. Based on the actions to be done to convert a fragmented source storage block into a whole source storage block, the differential data may include a number of different types of data. For example, in one embodiment, the differential data may include invalid data from a fragmented source storage block, an invalid parity section from the same fragmented source storage block, a valid parity section, and fill data that will be stored in a whole source storage block resulting from the fragmented source storage block.
FSP1830 6/24/20, 9:17 PM Add Term Edit
Delete
1293 Placeholder App differentiator
"Differentiator" refers to any hardware, software, firmware, circuit, component, module, logic, device, or apparatus configured, programmed, designed, arranged, or engineered to manage differential data and define a whole source storage block that includes fill data and a valid parity section associated with a fragmented source storage block. "Differentiator" refers to any hardware, software, firmware, circuit, component, module, logic, device, or apparatus configured, programmed, designed, arranged, or engineered to manage differential data and define a whole source storage block that includes fill data and a valid parity section associated with a fragmented source storage block.
FSP1830 6/24/20, 9:17 PM Add Term Edit
Delete
1294 Placeholder App scratch memory
"Scratch memory" refers to a section of memory that temporarily stores data for use in subsequent operations. "Scratch memory" refers to a section of memory that temporarily stores data for use in subsequent operations.
FSP1830 6/24/20, 9:17 PM Add Term Edit
Delete
1295 Placeholder App invalid data
"Invalid data" refers to data stored in a storage block that a host has affirmatively deleted or has indicated is no longer needed or can be deleted because the data has been superseded by a new or changed version of the data. In non-volatile storage media comprising storage cells that are write once storage media, if data is modified by a host, the modified version of the data causes the original data stored in the write once storage media to become invalid data, the data is invalidated because it no longer represents a current version of the data. "Invalid data" refers to data stored in a storage block that a host has affirmatively deleted or has indicated is no longer needed or can be deleted because the data has been superseded by a new or changed version of the data. In non-volatile storage media comprising storage cells that are write once storage media, if data is modified by a host, the modified version of the data causes the original data stored in the write once storage media to become invalid data, the data is invalidated because it no longer represents a current version of the data.
FSP1830 6/24/20, 9:17 PM Add Term Edit
Delete

Page 62 of 94, showing 20 record(s) out of 1,868 total