US20020004878A1

System and method which compares data preread from memory cells to data to be written to the cells

Claim Score by NHIP

Read claim 24, the broadest

Abstract

A memory system which includes one or more arrays of memory cells (e.g., flash memory cells) organized into sets of cells, wherein each set of cells is indicative of a set of stored data, and wherein the system also includes circuitry which compares new data (to be written to a set of cells) with stored data (preread from a corresponding set of cells) and prevents a write of the new data to the array if the new data is identical to the stored data, a computer system including such a memory system, and a method implemented by such a computer system. In preferred embodiments, the system includes a controller which includes logic circuitry which performs the comparison. In response to the comparison determining that the new data to be written is identical to the previously stored data, the controller generates a confirmation signal indicating that the new data has been written to the array, rather than actually writing the new data to the array. Preferably, the system emulates a magnetic disk drive and each of the sets of cells has sufficient capacity to store the same amount of data as can a set of a conventional magnetic disk drive. Preferably, each array of flash memory cells is organized into rows and columns of the cells, and each of the rows is a set of cells capable of storing a sector of data.

US20020004878A1, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 22 July 2018, 8.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

55 claims: 11 independent, 44 dependent

  1. 1
    A memory circuit, including:an array of memory cells organized into sets, each of said sets having capacity to store a set of data;a buffer memory which stores a first set of data to be written to the array to replace a second set of data stored in a first one of the sets of the cells;interface circuitry coupled to the array and operable to read the second set of data from said first one of the sets of the cells;a comparator coupled to the buffer memory to receive the first set of data and coupled to the interface circuitry to receive the second set of data which has been read from the first one of the sets of the cells, the comparator being operable to compare at least a portion of the first set of data with at least a portion of the second set of data and to generate a control signal having a first state if the first set of data matches the second set of data;and a control engine coupled to the comparator to receive the control signal, and operable to prevent a write of the first set of data to the array in response to the control signal having the first state.
  2. 10
    A memory system for use with a host device, said memory system including:an array of memory cells organized into sets of said cells;a host interface coupled to receive memory commands and data from the host device, and operable to generate control signals in response to the memory commands;a buffer memory coupled to the host interface and configured to receive and store a first set of the data from the host interface, said first set of data to be written to the array to replace a second set of data stored in a first one of the sets of the cells;array interface circuitry coupled to the array and operable to read the second set of data from said first one of the sets;a comparator coupled to the buffer memory to receive the first set of data and coupled to the array interface circuitry to receive the second set of data which has been read from the first one of the sets, the comparator being operable to compare at least a portion of the first set of data with at least a portion of the second set of data and to assert a first signal with a first state in response to determining that the first set of data matches the second set of data;and a control engine coupled to the comparator to receive the first signal, coupled to the host interface to receive the control signals, and coupled to the array interface circuit, the control engine being operable to prevent a write of the first set of data to the array in response to reception of both the first signal having the first state and a first one of the control signals, wherein the first one of the control signals is indicative of a memory command from the host device which would otherwise cause the memory circuit to write said first set of data to the array.
  3. 15
    A method for operating a memory circuit in response to a command to write a first set of data to an array of memory cells of said memory circuit to replace a second set of data stored in the array, wherein the array is organized into sets of the cells and the second set of data is stored in a first one of the sets of the cells, said method including the steps of:(a) reading at least a portion of the second set of data from said first one of the sets of the cells;(b) comparing each portion of the second set of data which has been read from the array with a corresponding portion of the first set of data, and generating a control signal having a first state upon determining that the first set of data matches the second set of data;and (c) in response to said control signal having the first state, generating a confirmation signal which indicates that the first set of data has been written to the array rather than writing said first set of data to the array.
  4. 20
    A method for operating a memory circuit including an array of memory cells organized into sets of the cells, said method including the steps of:(a) receiving a command from a host device, said command indicating that a first set of data is to be written to the array to replace a second set of data previously stored in a first one of the sets of the cells, (b) reading the second set of data from said first one of the sets of the cells;(b) comparing at least a portion of the second set of data which has been read from the array with at least a portion of the first set of data;(c) in response to a determination in step (b) that the first set of data matches the second set of data, asserting to the host device a confirmation signal indicating that the first set of data has been written to the array rather than writing said first set of data to the array, and in response to a determination in step (b) that the first set of data does not match the second set of data, writing the first set of data to a second one of the sets of the cells.
  5. 24
    Broadest claimClaim Score 71, broad(NHIP)A method for writing data to an array of memory cells, said method including the steps of:writing a first set of data into a first set of the cells;comparing at least a portion of a second set of data with a corresponding portion of the first set of data;and writing the second set of data to the array only upon determining as a result of the step of comparing that the second set of data differs from the first set of data.
  6. 31
    A memory system, including:an array of memory cells organized into sets of the cells, each of said sets having capacity to store a set of data;a buffer memory which stores a first set of data, wherein the first set of data is to be written to the array to replace a second set of data stored in a first one of the sets of the cells;interface circuitry coupled to the array and operable to read the second set of data from said first one of the sets of the cells;a comparator coupled to the buffer memory to receive the first set of data and coupled to the interface circuitry to receive the second set of data which has been read from the first one of the sets of the cells, wherein the comparator is operable to perform a comparison of at least a portion of the first set of data with at least a portion of the second set of data, in which it generates a control signal having a first state if the first set of data matches the second set of data, and in which it generates the control signal with a second state and aborts the comparison upon determining that the first set of data does not match the second set of data;and a control engine coupled to the comparator to receive the control signal, wherein the control engine is operable to prevent a write of the first set of data to the array in response to the control signal having the first state.
  7. 32
    A nonvolatile memory circuit, comprising:a group of nonvolatile memory cells;a buffer sized to retain data to be written to said group of nonvolatile memory cells;and comparison circuitry coupled to the buffer and to the group of nonvolatile memory cells, and configured to compare a first set of data in the buffer with a second set of data in the group of nonvolatile memory cells and to generate a signal functionally indicative of a match between the first set of data and the second set of data.
  8. 36
    A nonvolatile memory circuit, comprising:a first group of nonvolatile memory cells;a second group of memory cells sized to retain data to be written to said first group of nonvolatile memory cells;and comparison circuitry coupled to the second group of memory cells and to the first group of nonvolatile memory cells, and configured to compare a first set of data stored in the second group of memory cells with a second set of data stored in the first group of nonvolatile memory cells and to generate a signal functionally indicative of a match between the first set of data and the second set of data.
  9. 41
    A computer system, including:a processor;and a memory subsystem, wherein said memory subsystem includes: an array of memory cells organized into sets of said cells;a processor interface coupled to receive memory commands and data from the processor, and operable to generate control signals in response to the memory commands;a buffer memory coupled to the processor interface and configured to receive and store a first set of the data from the processor interface, said first set of data to be written to the array to replace a second set of data stored in a first one of the sets of the cells;array interface circuitry coupled to the array and operable to read the second set of data from said first one of the sets;a comparator coupled to the buffer memory to receive the first set of data and coupled to the array interface circuitry to receive the second set of data which has been read from the first one of the sets, the comparator being operable to compare at least a portion of the first set of data with at least a portion of the second set of data and to assert a first signal with a first state in response to determining that the first set of data matches the second set of data;and a control engine coupled to the comparator to receive the first signal, coupled to the processor interface to receive the control signals, and coupled to the array interface circuit, the control engine being operable to prevent a write of the first set of data to the array in response to reception of both the first signal having the first state and a first one of the control signals, wherein the first one of the control signals is indicative of a memory command from the processor which would otherwise cause the memory circuit to write said first set of data to the array.
  10. 48
    A computer system, including:a processor;and a memory subsystem, wherein said memory subsystem includes: a group of nonvolatile memory cells;a processor interface coupled to receive memory commands and data from the processor, and operable to generate control signals in response to the memory commands;a buffer coupled to the processor interface and sized to retain data to be written to said group of nonvolatile memory cells;and comparison circuitry coupled to the buffer and to the group of nonvolatile memory cells, and configured to compare a first set of data in the buffer with a second set of data in the group of nonvolatile memory cells in response to a first one of the control signals, and to generate a signal functionally indicative of a match between the first set of data and the second set of data as a result of said;and write circuitry coupled to the buffer and to the group of nonvolatile memory cells, and configured to prevent a write of the first set of data to the group of nonvolatile memory cells in response to the signal, wherein the first one of the control signals is indicative of a memory command from the processor which would otherwise cause the memory circuit to write said first set of data to the group of nonvolatile memory cells.
  11. 52
    A computer system, including:a processor;and a memory subsystem, wherein said memory subsystem includes: a first group of nonvolatile memory cells;a processor interface coupled to receive memory commands and data from the processor, and operable to generate control signals in response to the memory commands;a second group of memory cells coupled to the processor interface and sized to retain data to be written to said first group of nonvolatile memory cells;and comparison circuitry coupled to the second group of memory cells and to the first group of nonvolatile memory cells, and configured to compare a first set of data in the second group of memory cells with a second set of data in the first group of nonvolatile memory cells in response to a first one of the control signals, and to generate a signal functionally indicative of a match between the first set of data and the second set of data as a result of said;and write circuitry coupled to the second group of memory cells and to the first group of nonvolatile memory cells, and configured to prevent a write of the first set of data to the first group of nonvolatile memory cells in response to the signal, wherein the first one of the control signals is indicative of a memory command from the processor which would otherwise cause the memory circuit to write said first set of data to the first group of nonvolatile memory cells.