New Paragraph

Paragraphs

Actions Matter Content Para # Notes Modified
View Edit
Delete
US10998041B1 The network 116 may include servers, switches, routers, cabling, radios, and other equipment used to facilitate networking the host 106 or hosts 106 and clients. In one embodiment, the storage system 100 includes multiple hosts 106 that communicate as peers over a network 116. In another embodiment, the storage system 100 includes multiple storage devices 200 that communicate as peers over a network 116. One of skill in the art will recognize other computer networks comprising one or more computer networks and related equipment with single or redundant connection between one or more clients or other computer with one or more storage devices 200 connected to one or more hosts. In one embodiment, the storage system 100 includes two or more storage devices 200 connected through the network 116 to a remote host 106, without being directly connected to or integrated within a local host 106. 55 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 In one embodiment, the storage client 110 communicates with the storage controller 102 through a host interface comprising an Input/Output (I/O) interface. For example, the storage device 200 may support the ATA interface standard, the ATA Packet Interface ("ATAPI") standard, the small computer system interface ("SCSI") standard, and/or the Fibre Channel standard which are maintained by the InterNational Committee for Information Technology Standards ("INCITS"). 56 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 In certain embodiments, the storage media of a memory device is divided into volumes or partitions. Each volume or partition may include a plurality of sectors. Traditionally, a sector is 512 bytes of data. One or more sectors are organized into a block (referred to herein as both block and data block, interchangeably). 57 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 In one example embodiment, a data block includes eight sectors which is 4 KB. In certain storage systems, such as those interfacing with the Windows.RTM. operating systems, the data blocks are referred to as clusters. In other storage systems, such as those interfacing with UNIX, Linux, or similar operating systems, the data blocks are referred to simply as blocks. A block or data block or cluster represents a smallest physical amount of storage space on the storage media that is managed by a storage manager, such as a storage controller, storage system, storage unit, storage device, or the like. 58 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 In some embodiments, the storage controller 102 may be configured to store data on one or more asymmetric, write-once storage media, such as solid-state storage memory cells within the memory die 104. "Write once storage media" refers to a storage media such as a storage cell that is reinitialized (e.g., erased) before new data or a change to the data is written or programmed thereon. In other words, data of a write once storage media cannot be overwritten; the write once storage media must be erased before subsequently writing data to the write once storage media. "Asymmetric storage media" refers to a storage media having different latencies for different storage operations. Many types of solid-state storage media (e.g., memory dies) are asymmetric; for example, a read operation may be much faster than a write/program operation, and a write/program operation may be much faster than an erase operation (e.g., reading the storage media may be hundreds of times faster than erasing, and tens of times faster than programming the storage media). 59 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 "Read operation" refers to an operation performed on a memory cell in order to obtain, sense, detect, or determine a value for data represented by a state characteristic of the memory cell. 60 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 "Program" refers to a storage operation in which a characteristic of a memory cell is changed from a first state (often, an erased state) to a second state. A program storage operation may also be referred to as a write operation herein. 61 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 In certain embodiments, a program storage operation may include a series of iterations that incrementally change the characteristic until at least a target level of change is achieved. In other embodiments, a program storage operation may cause the attribute to change to a target level with a single iteration. 62 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 The memory die 104 may be partitioned into memory divisions that can be erased as a group (e.g., erase blocks) in order to, inter alia, account for the asymmetric properties of the memory die 104 or the like. As such, modifying a single data segment in-place may involve erasing the entire erase block comprising the data, and rewriting the modified data to the erase block, along with the original, unchanged data. This may result in inefficient write amplification, which may excessively wear the memory die 104. 63 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 "Erase block" refers to a logical erase block or a physical erase block. In one embodiment, a physical erase block represents the smallest storage unit within a given memory die that can be erased at a given time (e.g., due to the wiring of storage cells on the memory die). In one embodiment, logical erase blocks represent the smallest storage unit, or storage block, erasable by a storage controller in response to receiving an erase command. In such an embodiment, when the storage controller receives an erase command specifying a particular logical erase block, the storage controller may erase each physical erase block within the logical erase block simultaneously. It is noted that physical erase blocks within a given logical erase block may be considered as contiguous within a physical address space even though they reside in separate dies. Thus, the term "contiguous" may be applicable not only to data stored within the same physical medium, but also to data stored within separate media. 64 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 Therefore, in some embodiments, the storage controller 102 may be configured to write data out-of-place. As used herein, writing data "out-of-place" refers to writing data to different media storage location(s) rather than overwriting the data "in-place" (e.g., overwriting the original physical location of the data). Modifying data out-of-place may avoid write amplification, since existing, valid data on the erase block with the data to be modified need not be erased and recopied. Moreover, writing data out-of-place may remove erasure from the latency path of many storage operations (e.g., the erasure latency is no longer part of the critical path of a write operation). "Storage operation" refers to an operation performed on a memory cell in order to change, or obtain, the value of data represented by a state characteristic of the memory cell. Examples of storage operations include but are not limited to reading data from (or sensing a state of) a memory cell, writing (or programming) data to a memory cell, and/or erasing data stored in a memory cell. 65 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 Management of a data block by a storage manager includes specifically addressing a particular data block for a read operation, write operation, or maintenance operation. "Maintenance operation" refers to an operation performed on a non-volatile storage device that is configured, designed, calibrated, or arranged to improve or extend the life of the non-volatile storage device and/or data stored thereon. 66 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 In conventional block storage devices, a logical address maps directly to a particular data block on physical storage media. In conventional block storage devices, each data block maps to a particular set of physical sectors on the physical storage media. However, certain storage devices do not directly or necessarily associate logical addresses with particular physical data blocks. These storage devices may emulate a conventional block storage interface to maintain compatibility with a block storage client 110. 67 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 In one embodiment, the storage controller 102 provides a block I/O emulation layer, which serves as a block device interface, or API. In this embodiment, the storage client 110 communicates with the storage device through this block device interface. In one embodiment, the block I/O emulation layer receives commands and logical addresses from the storage client 110 in accordance with this block device interface. As a result, the block I/O emulation layer provides the storage device compatibility with a block storage client 110. 68 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 In one embodiment, a storage client 110 communicates with the storage controller 102 through a host interface comprising a direct interface. In this embodiment, the storage device directly exchanges information specific to non-volatile storage devices. "Non-volatile storage device" refers to any hardware, device, component, element, or circuit configured to maintain an alterable physical characteristic used to represent a binary value of zero or one after a primary power source is removed. Examples of a non-volatile storage device include, but are not limited to, a hard disk drive (HDD), Solid-State Drive (SSD), non-volatile memory media, and the like. 69 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 A storage device using direct interface may store data in the memory die 104 using a variety of organizational constructs including, but not limited to, blocks, sectors, pages, logical blocks, logical pages, erase blocks, logical erase blocks, ECC codewords, logical ECC codewords, or in any other format or structure advantageous to the technical characteristics of the memory die 104. "Characteristic" refers to any property, trait, quality, or attribute of an object or thing. Examples of characteristics include, but are not limited to, condition, readiness for use, unreadiness for use, size, weight, composition, feature set, and the like. 70 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 The storage controller 102 receives a logical address and a command from the storage client 110 and performs the corresponding operation in relation to the memory die 104. The storage controller 102 may support block I/O emulation, a direct interface, or both. 71 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 FIG. 2 is a block diagram of an exemplary storage device 200. "Storage device" refers to any hardware, system, sub-system, circuit, component, module, non-volatile memory media, hard disk drive, storage array, device, or apparatus configured, programmed, designed, or engineered to store data for a period of time and retain the data in the storage device while the storage device is not using power from a power supply. Examples of storage devices include, but are not limited to, a hard disk drive, FLASH memory, MRAM memory, a Solid-State storage device, Just a Bunch Of Disks (JBOD), Just a Bunch Of Flash (JBOF), an external hard disk, an internal hard disk, and the like. 72 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 The storage device 200 may include a storage controller 102 and a memory array 202. Each memory die 104 in the memory array 202 may include a die controller 204, at least one non-volatile memory array 206 in the form of a three-dimensional array, and read/write circuits 208. 73 Added by DJM 12 2021 12/22/21, 12:00 AM
View Edit
Delete
US10998041B1 "Three-dimensional memory array" refers to a physical arrangement of components of a memory array which contrasts with a two-dimensional (2-D) memory array. 2-D memory arrays are formed along a planar surface of a semiconductor wafer or other substrate. A three-dimensional (3-D) memory array extends up from the wafer surface/substrate and generally includes stacks, or columns, of memory cells extending upwards, in a z-direction. In a 3-D memory array word lines comprise layers stacked one on the other as the memory array extends upwards. Various 3-D arrangements are possible. In one arrangement a NAND string is formed vertically with one end (e.g., source) at the wafer surface and the other end (e.g., drain) on top. 74 Added by DJM 12 2021 12/22/21, 12:00 AM

Page 263 of 438, showing 20 record(s) out of 8,747 total