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; and
a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector of the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second nonvolatile memory device,wherein at least two sectors of information are programmed to at least two of the one or more non-volatile memory devices simultaneously.
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.
308 Citations
30 Claims
-
1. A non-volatile memory system comprising:
-
memory control circuitry; and a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector of the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second nonvolatile memory device, wherein at least two sectors of information are programmed to at least two of the one or more non-volatile memory devices simultaneously. - View Dependent Claims (2, 3)
-
-
4. A non-volatile memory system comprising:
-
memory control circuitry; and a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector of the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second nonvolatile memory device, wherein at least two sectors of information are written to at least two of the one or more non-volatile memory devices simultaneously. - View Dependent Claims (5, 6)
-
-
7. A non-volatile memory system comprising:
-
memory control circuitry; and a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second nonvolatile memory device, wherein at least two sectors of information are programmed to at least two of the one or more non-volatile memory devices simultaneously. - View Dependent Claims (8, 9)
-
-
10. A non-volatile memory system comprising:
-
memory control circuitry; and a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second nonvolatile memory device, wherein at least two sectors of information are written to at least two of the one or more non-volatile memory devices simultaneously. - View Dependent Claims (11, 12)
-
-
13. A non-volatile memory system comprising:
-
memory control circuitry; and a non-volatile memory unit coupled to the memory control circuitry and organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector and programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector, wherein at least two sectors of information are programmed simultaneously. - View Dependent Claims (14, 15)
-
-
16. A non-volatile memory system comprising:
-
memory control circuitry; and a non-volatile memory unit coupled to the memory control circuitry and organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector, wherein at least two sectors of information are written simultaneously. - View Dependent Claims (17)
-
-
18. A method for programming a plurality of sectors of information into at least two nonvolatile memory devices organized into sectors of a non-volatile memory unit, a sector of information including user data and overhead, each sector including storage locations for a plurality of sectors of information, the method comprising:
-
programming even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of first nonvolatile memory device; programming even user data bytes and even overhead bytes of the at least another one of the plurality of sectors of information into the first sector of the first non-volatile memory device; programming odd user data bytes and odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second non-volatile memory device; and programming odd user data bytes and odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second non-volatile memory device, wherein programming at least two sectors of information into at least two of the one or more non-volatile memory devices simultaneously. - View Dependent Claims (19)
-
-
20. A method for writing a plurality of sectors of information into at least two non-volatile memory devices organized into sectors of a non-volatile memory unit, a sector of information including user data and overhead, each sector including storage locations for a plurality of sectors of information, the method comprising:
-
programming even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of first nonvolatile memory device; programming even user data bytes and even overhead bytes of the at least another one of the plurality of sectors of information into the first sector of the first non-volatile memory device; programming odd user data bytes and odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second non-volatile memory device; and programming odd user data bytes and odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second non-volatile memory device, wherein writing at least two sectors of information into at least two of the one or more non-volatile memory devices simultaneously. - View Dependent Claims (21)
-
-
22. A non-volatile memory system comprising:
-
memory control circuitry; and a non-volatile memory unit coupled to the memory control circuitry including a plurality of rows, each row including one or more row-portions, each row-portion including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into the first row-portion and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second row-portion and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first row-portion and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second row-portion, wherein two or more sectors of information are programmed to a row simultaneously. - View Dependent Claims (23, 24)
-
-
25. method for programming a plurality of sectors of information into a non-volatile memory unit including a plurality of rows, each row including one or more row-portions, each row-portion including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the method comprising:
-
programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into the first row-portion; programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second row-portion; programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first row-portion; and programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second row-portion, wherein two or more sectors of information are programmed to a row simultaneously. - View Dependent Claims (26, 27)
-
-
28. A method for writing a plurality of sectors of information into a non-volatile memory unit including a plurality of rows, each row including one or more row-portions, each row-portion including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the method comprising:
-
programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into the first row-portion; programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second row-portion; programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first row-portion; and programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second row-portion, wherein the speed of performing write operation is increased by writing two or more sectors of information to a row simultaneously. - View Dependent Claims (29, 30)
-
Specification