1. A method of erasing a nonvolatile memory device, the nonvolatile memory device comprising a plurality of memory blocks, each memory block including a plurality of cell strings being connected to a bit line in common and connected to a plurality of string selection lines respectively, each cell string including a plurality of memory cells connected to a plurality of word lines respectively and at least one string selection transistor connected to at least one string selection line of the plurality of string selection lines, the method comprising:
performing an erase operation at the memory block including the plurality of cell strings iteratively until the memory block is erase-passed,
wherein performing the erase operation includes:
erasing the memory block;
erase-verifying a plurality of cell strings of the memory block sequentially; and
storing passfail information into a latch,
wherein a cell string of the memory block is erase-passed, the cell string is not erase-verified during subsequent erase operations.
2. The method of claim 1, wherein the latch includes a counter, and the passfail information is a count value of the counter.
3. The method of claim 2, wherein the erase-verification is performed from a cell string of the plurality of cell strings corresponding to the count value.
4. The method of claim 3, wherein the count value is increased when the cell string is erase-passed.
5. The method of claim 3, wherein the erase-verification is stopped when the cell string is erase-failed.
6. The method of claim 1, further comprising:
storing addresses of the plurality of cell strings of the memory block into the latch,
wherein the passfail information is the addresses stored in the latch.
7. The method of claim 6, wherein the erase-verification is performed on cell strings corresponding to the addresses stored in the latch.
8. The method of claim 7, wherein if a cell string of the plurality of cell strings is erase-passed, an address corresponding to the erase-passed cell string is deleted from the latch.
9. The method of claim 7, wherein if a cell string of the plurality of cell strings is erase-failed, a next cell string is erase-verified.
10. The method of claim 7, wherein if a cell string of the plurality of cell strings is erase-failed, the erase-verification is stopped.
11. The method of claim 1, wherein the erase-verifying a plurality of cell strings of the memory block sequentially includes:
selecting a cell string from the plurality of cell strings; and
erase-verifying a plurality of memory cells of the selected cell string sequentially.
12. The method of claim 1, wherein the memory block is a unit of the erase operation which is erased according to a single block address.
13. A nonvolatile memory device comprising:
a memory cell array including a plurality of memory blocks, each memory block including a plurality of cell strings being connected to a bit line in common and connected to a plurality of string selection lines respectively, each cell string including a plurality of memory cells connected to word lines respectively and at least one string selection transistor connected to at least one string selection line of the plurality of string selection lines;
a decoder connected to each memory block of the memory cell array through the plurality of string selection lines and a plurality of word lines;
a read and write circuit connected to the memory cell array through the bit line; and
control logic configured to control the decoder and the read and write circuit to erase a selected memory block and erase-verify the plurality of cell strings of the selected memory block sequentially, and further configured to store passfail information into a latch in response to a result of the erase-verification iteratively until the selected memory block is erase-passed,
wherein if a cell string of the plurality of cell strings of the selected memory block is erase-passed during an erase-verification, the cell string is not erase-verified during a subsequent erase-verification.
14. The nonvolatile memory device of claim 13, wherein the plurality of memory cells of each cell string is stacked along a direction perpendicular to a substrate.
15. The nonvolatile memory device of claim 13, wherein the memory block is a unit of the erase operation which is erased according to a single block address.
16. A memory system comprising:
a controller; and
a plurality of nonvolatile memories divided into a plurality of memory groups, the plurality of memory groups communicating with the controller through a plurality of channels respectively, each memory group including at least two nonvolatile memories of the plurality of nonvolatile memories and communicating with the controller through a common channel of the plurality of channels,
wherein the controller is configured to transmit an address and a erase command to a selected channel of the plurality of channels,
wherein a nonvolatile memory corresponding to the address and the selected channel performs erase operations at a memory block selected by the address,
wherein each nonvolatile memory includes:
a memory cell array including a plurality of memory blocks, each memory block including a plurality of cell strings being connected to a bit line in common and connected to a plurality of string selection lines respectively, each cell string including a plurality of memory cells connected to word lines respectively and at least one string selection transistor connected to at least one string selection line of the plurality of string selection lines;
a decoder connected to each memory block of the memory cell array through the plurality of string selection lines and a plurality of word lines;
a read and write circuit connected to the memory cell array through the bit line; and
control logic configured to control the decoder and the read and write circuit to erase a selected memory block and erase-verify the plurality of cell strings of the selected memory block sequentially, and further configured to store passfail information into a latch in response to a result of the erase-verification iteratively until the selected memory block is erase-passed,
wherein if a cell string of the plurality of cell strings of the selected memory block is erase-passed during an erase-verification, the cell string is not erase-verified during a subsequent erase-verification.
17. The memory system of claim 16, wherein the controller and the plurality of nonvolatile memories form a solid state drive SSD.
18. The memory system of claim 16, wherein the controller and the plurality of nonvolatile memories form at least a part of a computing device.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer-implemented method included in performing a computer-implemented search of electronically stored content, the method comprising:
receiving, at a computing system having a search engine framework component that configures electronic knowledge base search services to use multiple different knowledge bases and multiple different search engines for multiple different software applications, a search request input from one of multiple different software applications indicating a user request that a computer-implemented search be performed to identify content that, firstly, is stored in a specified one of multiple different knowledge bases as specified in the search request input, and secondly, satisfies user-specified conditions, wherein the multiple different software applications are not the multiple different search engines;
determining, at the search engine framework component, which one of the multiple different search engines has been preconfigured to process search requests involving the one of the multiple different software applications from which the search request input was received and involving the specified one of the multiple different knowledge bases as specified in the search request input, wherein the determining of the one search engine is performed using a configuration database that maps a search engine and knowledge base combination to a selected one of the multiple different software applications to be used for searches involving the search engine and knowledge base combination wherein the multiple different search engines are each configured to search an index of at least one of the multiple different knowledge bases; and
initiating, at the search engine framework component, the execution of the requested search by the determined search engine.
2. The method of claim 1, wherein receiving from one of multiple software applications the input indicating the user request includes receiving a request that specifically identifies the specified one knowledge base.
3. The method of claim 1, wherein determining which one of multiple search engines has been preconfigured to be used for searches includes accessing a repository containing mapping information that specifies an assignment between the specified one knowledge base and the one search engine.
4. The method of claim 1, wherein initiating the execution of the requested search by the determined search engine includes executing instructions specific to the determined search engine that executes the requested search.
5. The method of claim 4, further comprising selecting the instructions from a group of instruction sets, wherein each instruction set is uniquely associated with one of the multiple search engines, and wherein each instruction set includes instructions that specify how its associated search engine is to perform search operations.
6. The method of claim 1, wherein:
receiving from one of multiple software applications an input indicating a user request includes receiving input in a specified language; and wherein
determining which one of multiple search engines has been preconfigured to be used for searches includes determining which one of multiple search engines provides search request operations for input in the specified language.
7. The method of claim 6, wherein the input in the specified language comprises textual input.
8. The method of claim 1, wherein initiating the execution of the requested search by the determined search engine includes creating a search request having a format that is compatible with the determined search engine and sending the search request to the determined search engine.
9. The method of claim 8, wherein creating the search request includes translating one or more attribute values from the input received from the one software application into one or more attribute values that are included within the created search request.
10. The method of claim 8, wherein creating the search request includes inserting one or more default attribute values into the created search request.
11. The method of claim 10, wherein the one or more default attribute values are absent from the input received from the one software application.
12. The method of claim 8, wherein creating the search request includes using only a subset of attribute values from the input received from the one software application as values to be included within the created search request.
13. The method of claim 1, wherein initiating the execution of the requested search by the determined search engine includes initiating the requested search of an index of content that is stored within the specified one knowledge base, wherein the index has been prepared for the determined search engine.
14. The method of claim 1, further comprising:
receiving search results from the determined search engine, each search result corresponding to content contained within the specified one knowledge base that satisfies the user-specified search criteria; and
sending the search results to the one software application.
15. The method of claim 14, further comprising:
sending an additional request to the specified one knowledge base to obtain updated information corresponding to the search results received from the determined search engine; and
including the updated information within the search results that are to be sent to the one software application.
16. The method of claim 14, further comprising:
receiving from the one software application input indicating a user selection of one of the search results; and
retrieving content corresponding to the user selection from the knowledge base.
17. The method of claim 1, wherein receiving from one of multiple software applications the input indicating the user request that the computer-implemented search be performed to identify content that is stored in the specified one of multiple knowledge bases includes receiving the input indicating the user request that the computer-implemented search be performed to identify content that is stored in multiple different knowledge bases.
18. The method of claim 17, wherein the user request specifically identifies the multiple different knowledge bases.
19. A computer program product embodied in memory storage medium, the computer program product including instructions that, when executed, perform a computer-implemented method included in performing a computer-implemented search of electronically stored content, the computer-implemented method comprising:
receiving, at a search engine framework component that configures electronic knowledge base search services to use multiple different knowledge bases and multiple different search engines for multiple different software applications, a search request input from one of multiple different software applications indicating a user request that a computer-implemented search be performed to identify content that, firstly, is stored in a specified one of multiple different knowledge bases as specified in the search request input, and secondly, satisfies user-specified conditions, wherein the multiple different software applications are not the multiple different search engines;
determining, at the search engine framework component, which one of the multiple different search engines has been preconfigured to process search requests involving the one of the multiple different software applications from which the search request input was received and involving the specified one of the multiple different knowledge bases as specified in the search request input, wherein the determining of the one search engine is performed using a configuration database that maps a search engine and knowledge base combination to a selected one of the multiple different software applications to be used for searches involving the search engine and knowledge base combination wherein the multiple different search engines are each configured to search an index of at least one of the multiple different knowledge bases; and
initiating, at the search engine framework component, the execution of the requested search by the determined search engine.
20. A system for performing a computer-implemented search of electronically stored content, the system comprising a processor and executable instructions stored in memory storage medium that when executed by the processor perform the following operations:
receive, at a search engine framework component that configures electronic knowledge base search services to use multiple different knowledge bases and multiple different search engines for multiple different software applications, a search request input from one of multiple different software applications indicating a user request that a computer-implemented search be performed to identify content that, firstly, is stored in a specified one of multiple different knowledge bases as specified in the search request input, and secondly, satisfies user specified conditions, wherein the multiple different software applications are not the multiple different search engines;
determine, at the search engine framework component, which one of the multiple different search engines has been preconfigured to process search requests involving the one of the multiple different software applications from which the search request input was received and involving the specified one of the multiple different knowledge bases as specified in the search request input, wherein the determining of the one search engine is performed using a configuration database that maps a search engine and knowledge base combination to a selected one of the multiple different software applications to be used for searches involving the search engine and knowledge base combination wherein the multiple different search engines are each configured to search an index of at least one of the multiple different knowledge bases; and
initiate, at the search engine framework component, the execution of the requested search by the determined search engine.