Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
First Claim
1. A non-volatile memory system comprising:
- memory control circuitry, coupled to a non-volatile memory unit including one or more nonvolatile memory devices and having storage locations for storing sector information included in one or more sectors, storage locations organized into sub-blocks, a plurality of sub-blocks defining a block, the memory control circuitry for receiving sector information included in a sector, from a host, initiated by a write command, said received sector information identifiable by addresses of a predetermined order, the memory control, circuitry for writing said received sector information to a first storage location of a particular sub-block of a particular block, said memory control circuitry for further writing the sector information to a first storage location of a sub-block of the particular block that is other than the particular sub-block regardless of the predetermined order of the addresses of the received sectors, a single virtual physical block address selectable based upon the identification of a free storage location within said non-volatile memory unit for identifying the storage locations of said sub-block of the particular blockwherein the memory control circuitry programming the received sector information for at least two sectors into one or more nonvolatile memory devices during a single write command.
8 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment of the present invention, a memory storage system for storing information organized in sectors within a nonvolatile memory bank is disclosed. The memory bank is defined by sector storage locations spanning across one or more rows of a nonvolatile memory device, each the sector including a user data portion and an overhead portion. The sectors being organized into blocks with each sector identified by a host provided logical block address (LBA). Each block is identified by a modified LBA derived from the host-provided LBA and said virtual PBA, said host-provided LBA being received by the storage device from the host for identifying a sector of information to be accessed, the actual PBA developed by said storage device for identifying a free location within said memory bank wherein said accessed sector is to be stored. The storage system includes a memory controller coupled to the host; and a nonvolatile memory bank coupled to the memory controller via a memory bus, the memory bank being included in a non-volatile semiconductor memory unit, the memory bank has storage blocks each of which includes a first row-portion located in said memory unit, and a corresponding second row-portion located in each of the memory unit, each of the memory row-portions provides storage space for two of said sectors, wherein the speed of performing write operations is increased by writing sector information to the memory unit simultaneously.
-
Citations
12 Claims
-
1. A non-volatile memory system comprising:
-
memory control circuitry, coupled to a non-volatile memory unit including one or more nonvolatile memory devices and having storage locations for storing sector information included in one or more sectors, storage locations organized into sub-blocks, a plurality of sub-blocks defining a block, the memory control circuitry for receiving sector information included in a sector, from a host, initiated by a write command, said received sector information identifiable by addresses of a predetermined order, the memory control, circuitry for writing said received sector information to a first storage location of a particular sub-block of a particular block, said memory control circuitry for further writing the sector information to a first storage location of a sub-block of the particular block that is other than the particular sub-block regardless of the predetermined order of the addresses of the received sectors, a single virtual physical block address selectable based upon the identification of a free storage location within said non-volatile memory unit for identifying the storage locations of said sub-block of the particular block wherein the memory control circuitry programming the received sector information for at least two sectors into one or more nonvolatile memory devices during a single write command. - View Dependent Claims (2)
-
-
3. A memory storage system for increasing the performance of programming operations of sector information to storage locations within non-volatile memory unit, the storage locations organized into sub-blocks and a plurality of sub-blocks defining a block comprising:
memory control circuitry, coupled to the non-volatile memory unit for receiving sector information included in a sector, from a host, a sector identified by a host-provided logical block address (LBA), said received sector information associated with at least one sector, said memory control circuitry for programming said received sector information into a first storage location of a particular sub-block of a particular block, receiving sector information included in a sector and identifiable by addresses of a predetermined order, the memory said memory control circuitry for further programming sector information into a first storage location of a sub-block of the particular block that is other than the particular sub-block regardless of the predetermined order of the addresses of the received sectors, a single virtual physical block address selectable based upon the identification of a free storage location within said non-volatile memory unit for identifying the storage locations of said sub-block of the particular block, wherein programming of sector information to the first storage location of the sub-blocks of the particular block is performed substantially concurrently thereby increasing the performance of programming operations. - View Dependent Claims (4)
-
5. A method of increasing the performance of programming operations of sector information to storage locations within non-volatile memory unit, the storage locations organized into sub-blocks and a plurality of sub-blocks defining a block comprising:
-
receiving sector information included in a sector, from a host, a sector identified by a host-provided logical block address (LBA), said received sector information being for at least one sector and identifiable by addresses of a predetermined order; programming said received sector information into a first storage location of a particular sub-block of a particular block; further programming sector information into a first storage location of a sub-block of the particular block that is other than the particular sub-block regardless of the predetermined order of the addresses of the received sectors; and substantially simultaneously programming sector information to a first storage location of a sub-block of the particular block that is other than the particular sub-block, a single virtual physical block address selectable based upon the identification of a free storage location within said non-volatile memory unit for identifying the storage locations of said sub-block of the particular block.
-
-
6. A memory storage system for increasing the performance of programming operations of sector information to storage locations within non-volatile memory unit, the storage locations organized into sub-blocks and a plurality of sub-blocks defining a block comprising:
-
a host for providing sector information included in a sector, a sector identified by an logical block address (LBA); memory control circuitry, coupled to the non-volatile memory unit and the host for receiving sector information, identifiable by addresses of a predetermined order, said received sector information associated with at least one sector, said memory control circuitry for programming said received sector information into a first storage location of a particular sub-block of a particular block, said memory control circuitry for further programming sector information into a first storage location of a sub-block of the particular block that is other than the particular sub-block regardless of the predetermined order of the addresses of the received sectors, a single virtual physical block address selectable based upon the identification of a free storage location within said non-volatile memory unit for identifying the storage locations of said sub-block of the particular block, wherein programming of sector information to the first storage location of the sub-blocks of the particular block is performed substantially simultaneously thereby increasing the performance of programming operations.
-
-
7. A non-volatile memory system comprising:
-
memory control circuitry, coupled to a non-volatile memory unit including one or more nonvolatile memory devices and having storage locations for storing sector information, storage locations organized into sub-blocks, a plurality of sub-blocks defining a block, each block identifiable by a single virtual physical block address, and identifiable by addresses of a predetermined order, the memory control circuitry for receiving sector information for a plurality of sectors, from a host, programming one or more, but not all, of the plurality of sectors of received sector information into one of the plurality of sub-blocks of a particular block and programming remaining sectors of the plurality of sectors of received sector information to another of the plurality of sub-blocks of the particular block regardless of the predetermined order of the addresses of the received sectors, wherein programming the one of the plurality of sub-blocks is performed substantially simultaneously with programming the another of the plurality of sub-blocks. - View Dependent Claims (8, 9)
-
-
10. A non-volatile memory system comprising:
memory control circuitry, coupled to a non-volatile memory unit including one or more nonvolatile memory devices and having storage locations for storing sector information, storage locations organized into sub-blocks, a plurality of sub-blocks defining a block, each block identifiable by a single virtual physical block address, the memory control circuitry for receiving sector information for a plurality of sectors, from a host, identifiable by addresses of a predetermined order, programming one or more of the plurality of sectors of received sector information into one of the plurality of sub-blocks of a particular block and substantially simultaneously programming sectors of the plurality of sectors of received sector information that are not vet programmed to other than the one of the plurality of sub-blocks of the particular block regardless of the predetermined order of the addresses of the received sectors. - View Dependent Claims (11, 12)
Specification