Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
First Claim
1. A memory storage system for increasing the performance of write operations of sectors of information to storage locations within a non-volatile memory unit, the storage locations organized into sub-blocks, each sub-block capable of storing one or more sectors of information and each sub-block being individually addressable and erasable and one or more sub-blocks defining a block comprising:
- memory controller, coupled to the non-volatile memory unit, for receiving user data of sectors of information from a host, said received user data of sectors of information being identified by addresses of a predetermined order, said memory controller for writing said user data of said sectors of information, to storage locations of one or more sub-blocks of a particular block, said particular block identifiable by a virtual physical block address, said virtual physical block address having been correlated to a predetermined set of host-provided logical block addresses and selectable based upon the identification of a free storage location within said non-volatile memory unit, wherein writing of two or more sectors of information to the storage locations of the particular block is performed substantially concurrently thereby increasing the performance of write operations.
7 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.
214 Citations
13 Claims
-
1. A memory storage system for increasing the performance of write operations of sectors of information to storage locations within a non-volatile memory unit, the storage locations organized into sub-blocks, each sub-block capable of storing one or more sectors of information and each sub-block being individually addressable and erasable and one or more sub-blocks defining a block comprising:
-
memory controller, coupled to the non-volatile memory unit, for receiving user data of sectors of information from a host, said received user data of sectors of information being identified by addresses of a predetermined order, said memory controller for writing said user data of said sectors of information, to storage locations of one or more sub-blocks of a particular block, said particular block identifiable by a virtual physical block address, said virtual physical block address having been correlated to a predetermined set of host-provided logical block addresses and selectable based upon the identification of a free storage location within said non-volatile memory unit, wherein writing of two or more sectors of information to the storage locations of the particular block is performed substantially concurrently thereby increasing the performance of write operations. - View Dependent Claims (2, 3)
-
-
4. A memory storage system for increasing the performance of write operations of sector information to storage locations within non-volatile memory unit, the sector 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 user data of sector information included in a sector, from a host, said received user data identifiable by addresses of a predetermined order, said memory control circuitry for writing said received user data to a first storage location of a particular sub-block of a particular block, said memory control circuitry for further writing user data of 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 writing 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 write operations. - View Dependent Claims (5)
-
-
6. A memory storage system for increasing the performance of program operations of sectors of information to storage locations within a non-volatile memory unit, the storage locations organized into sub-blocks, each sub-block capable of storing one or more sectors of information and each sub-block being individually addressable and erasable, and one or more sub-blocks defining a block comprising:
-
memory controller, coupled to the non-volatile memory unit, for receiving user data of sectors of information from a host, said received user data of sectors of information being identified by addresses of a predetermined order, said memory controller for programming said user data of said sectors of information, to storage locations of one or more sub-blocks of a particular block, said particular block identifiable by a virtual physical block address, said virtual physical block address having been correlated to a predetermined set of host-provided logical block addresses and selectable based upon the identification of a free storage location within said non-volatile memory unit, wherein programming of two or more sectors of information to the storage locations of the particular block is performed substantially concurrently thereby increasing the performance of program operations. - View Dependent Claims (7, 8)
-
-
9. A memory storage system for increasing the performance of program operations of sectors of information to storage locations within a non-volatile memory unit, the storage locations organized into sub-blocks, each sub-block capable of storing one or more sectors of information and each sub-block being individually addressable and erasable, and one or more sub-blocks defining a block comprising:
-
memory control circuit, coupled to the non-volatile memory unit, for receiving user data of sectors of information from a host, said received user data of sectors of information being identified by addresses of a predetermined order, said memory control circuit for programming said user data of said sectors of information, to storage locations of one or more sub-blocks of a particular block, said particular block identifiable by a virtual physical block address, said virtual physical block address having been correlated to a predetermined set of host-provided logical block addresses and selectable based upon the identification of a free storage location within said non-volatile memory unit, wherein programming of two or more sectors of information to the storage locations of the particular block is performed substantially concurrently thereby increasing the performance of program operations. - View Dependent Claims (10, 11)
-
-
12. A memory storage system for increasing the performance of programming operations of sector information to storage locations within non-volatile memory unit, the sector 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 user data of sectors of information from the host, said received user data of sectors of information identifiable by addresses of a predetermined order, said memory control circuitry for programming sector information, received from the host, to a first storage location of a particular sub-block of a particular block, said memory control circuitry for further programming said user data of said sectors of 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 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 (13)
-
Specification